def _set_gtk_x11_window_menu(add, wid, window, menus, application_action_callback=None, window_action_callback=None): from xpra.x11.dbus.menu import setup_dbus_window_menu from xpra.x11.gtk_x11.prop import prop_set, prop_del window_props = setup_dbus_window_menu(add, wid, menus, application_action_callback, window_action_callback) #window_props may contains X11 window properties we have to clear or set if not window_props: return if not window: #window has already been closed #(but we still want to call setup_dbus_window_menu above to ensure we clear things up!) return menulog("will set/remove the following window properties for wid=%i: %s", wid, window_props) try: from xpra.gtk_common.error import xsync with xsync: for k, v in window_props.items(): if v is None: prop_del(window, k) else: vtype, value = v prop_set(window, k, vtype, value) except Exception as e: menulog.error("Error setting menu window properties:") menulog.error(" %s", e)
def _set_gtk_x11_window_menu(add, wid, window, menus, application_action_callback=None, window_action_callback=None): from xpra.x11.dbus.menu import setup_dbus_window_menu from xpra.x11.gtk_x11.prop import prop_set, prop_del window_props = setup_dbus_window_menu(add, wid, menus, application_action_callback, window_action_callback) #window_props may contains X11 window properties we have to clear or set if not window_props: return if not window: #window has already been closed #(but we still want to call setup_dbus_window_menu above to ensure we clear things up!) return menulog("will set/remove the following window properties for wid=%i: %s", wid, window_props) try: from xpra.gtk_common.error import xsync with xsync: for k,v in window_props.items(): if v is None: prop_del(window, k) else: vtype, value = v prop_set(window, k, vtype, value) except Exception as e: menulog.error("Error setting menu window properties:") menulog.error(" %s", e)