class ApplicationMenuTweak(GetterSetterSwitchTweak): def __init__(self, **options): self._xsettings = XSettingsOverrides() GetterSetterSwitchTweak.__init__(self, _("Show Application Menu"), **options) def get_active(self): return self._xsettings.get_shell_shows_app_menu() def set_active(self, v): self._xsettings.set_shell_shows_app_menu(v)
class ApplicationMenuTweak(GetterSetterSwitchTweak): def __init__(self, **options): self._xsettings = XSettingsOverrides() name = _("Application Menu") GetterSetterSwitchTweak.__init__(self, name, **options) _GSettingsTweak.__init__(self, name, "org.gnome.desktop.wm.preferences", "button-layout", loaded=_shell_loaded, **options) def get_active(self): return self._xsettings.get_shell_shows_app_menu() def set_active(self, v): self._xsettings.set_shell_shows_app_menu(v) if v: self.notify_logout() return val = self.settings.get_string(self.key_name) if "appmenu" in val: self.notify_logout() return else: (left, colon, right) = val.partition(":") if "close" in right: rsplit = right.split(",") rsplit = [ x for x in rsplit if x in ["minimize", "maximize", "close"] ] rsplit.append("appmenu") rsplit.sort( key=lambda x: ["appmenu", "minimize", "maximize", "close" ].index(x)) self.settings.set_string(self.key_name, left + colon + ",".join(rsplit)) else: rsplit = left.split(",") rsplit = [ x for x in rsplit if x in ["minimize", "maximize", "close"] ] rsplit.append("appmenu") rsplit.sort( key=lambda x: ["close", "minimize", "maximize", "appmenu" ].index(x)) self.settings.set_string(self.key_name, ",".join(rsplit) + colon + right) self.notify_logout()