self.check1.show() self.check2.hide() else: self.settings[self.key_name] = False self.check1.hide() self.check2.show() sg = build_horizontal_sizegroup() sw = StaticWorkspaceTweak(size_group=sg, loaded=_shell_loaded) depends_how = lambda x, kn: not (x.get_boolean(kn)) TWEAK_GROUPS = [ ListBoxTweakGroup( _("Workspaces"), sw, GSettingsSpinButtonTweak(_("Number of Workspaces"), "org.gnome.desktop.wm.preferences", "num-workspaces", depends_on=sw, depends_how=depends_how, size_group=sg, loaded=_shell_loaded), Title(_("Display Handling"), "", uid="title-theme", loaded=_shell_loaded), PrimaryWorkspaceTweak(), ) ]
ListBoxTweakGroup( _("Desktop"), dicons, GSettingsCheckTweak(_("Computer"), "org.gnome.nautilus.desktop", "computer-icon-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"), GSettingsCheckTweak(_("Home"), "org.gnome.nautilus.desktop", "home-icon-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"), GSettingsCheckTweak(_("Network Servers"), "org.gnome.nautilus.desktop", "network-icon-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"), GSettingsCheckTweak(_("Trash"), "org.gnome.nautilus.desktop", "trash-icon-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"), GSettingsCheckTweak(_("Mounted Volumes"), "org.gnome.nautilus.desktop", "volumes-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"), Title(_("Background"), "", uid="title-theme"), GSettingsComboEnumTweak(_("Mode"), "org.gnome.desktop.background", "picture-options"), GSettingsFileChooserButtonTweak( _("Background Location"), "org.gnome.desktop.background", "picture-uri", local_only=True, mimetypes=["application/xml", "image/png", "image/jpeg"]), #Title(_("Files"), ""), #GSettingsSwitchTweak(_("Use location entry"), "org.gnome.nautilus.preferences", "always-use-location-entry",schema_filename="org.gnome.nautilus.gschema.xml"), )
ListBoxTweakGroup( _("Windows"), GSettingsSwitchTweak( _("Attach Modal Dialogs"), "org.gnome.mutter", "attach-modal-dialogs", desc= _("When on, modal dialog windows are attached to their parent windows, and cannot be moved." )), # https://help.gnome.org/users/gnome-help/stable/shell-windows-tiled.html GSettingsSwitchTweak( _("Edge Tiling"), "org.gnome.mutter", "edge-tiling", desc=_( "When on, windows are tiled when dragged to screen edges.")), GSettingsSwitchTweak(_("Center New Windows"), "org.gnome.mutter", "center-new-windows"), GSettingsSwitchTweak(_("Resize with Secondary-Click"), "org.gnome.desktop.wm.preferences", "resize-with-right-button"), GSettingsComboTweak(_("Window Action Key"), "org.gnome.desktop.wm.preferences", "mouse-button-modifier", [("disabled", _("Disabled")), ("<Alt>", "Alt"), ("<Super>", "Super")]), Title(_("Window Focus"), _("Click to Focus"), uid="title-theme"), Focus(), GSettingsSwitchTweak(_("Raise Windows When Focused"), "org.gnome.desktop.wm.preferences", "auto-raise", depends_on=Focus(), depends_how=depends_how), )
ListBoxTweakGroup(_("Keyboard & Mouse"), Title(_("Keyboard"), "", top=True), GSettingsSwitchTweak(_("Show Extended Input Sources"), "org.gnome.desktop.input-sources", "show-all-sources", desc=_("Increases the choice of input sources in the Settings application."), logout_required=True,), KeyThemeSwitcher(), ComposeDialogLauncher(), OverviewShortcutTweak(), AdditionalLayoutButton(), Title(_("Mouse"), ""), GSettingsComboEnumTweak(_("Acceleration Profile"), "org.gnome.desktop.peripherals.mouse", "accel-profile", schema_filename="org.gnome.desktop.peripherals.gschema.xml"), GSettingsSwitchTweak(_("Pointer Location"), "org.gnome.settings-daemon.peripherals.mouse", "locate-pointer", schema_filename="org.gnome.settings-daemon.peripherals.gschema.xml", desc=_("Press the Ctrl key to highlight the pointer.")), GSettingsSwitchTweak(_("Middle Click Paste"), "org.gnome.desktop.interface", "gtk-enable-primary-paste"), Title(_("Touchpad"), ""), GSettingsSwitchTweak(_("Disable While Typing"), "org.gnome.desktop.peripherals.touchpad", "disable-while-typing", schema_filename="org.gnome.desktop.peripherals.gschema.xml"), Title(_("Mouse Click Emulation"), _("Mouse Click Emulation"), top=True), ClickMethod(), ),
ListBoxTweakGroup( _("Appearance"), #GSettingsSwitchTweak("Buttons Icons","org.gnome.desktop.interface", "buttons-have-icons"), #GSettingsSwitchTweak("Menu Icons","org.gnome.desktop.interface", "menus-have-icons"), Title(_("Themes"), "", uid="title-theme"), GtkThemeSwitcher(), CursorThemeSwitcher(), IconThemeSwitcher(), ShellThemeTweak(loaded=_shell_loaded), GSettingsComboTweak( _("Sound"), "org.gnome.desktop.sound", "theme-name", get_sound_themes(), desc=_("Specifies which sound theme to use for sound events.")), Title(_("Background"), "", uid="title-theme"), GSettingsFileChooserButtonTweak( _("Image"), "org.gnome.desktop.background", "picture-uri", local_only=True, mimetypes=["application/xml", "image/png", "image/jpeg"]), GSettingsComboEnumTweak(_("Adjustment"), "org.gnome.desktop.background", "picture-options"), Title(_("Lock Screen"), "", uid="title-theme"), GSettingsFileChooserButtonTweak( _("Image"), "org.gnome.desktop.screensaver", "picture-uri", local_only=True, mimetypes=["application/xml", "image/png", "image/jpeg"]), GSettingsComboEnumTweak(_("Adjustment"), "org.gnome.desktop.screensaver", "picture-options"), # Title(_("Files"), ""), # GSettingsSwitchTweak(_("Use location entry"), "org.gnome.nautilus.preferences", # "always-use-location-entry",schema_filename="org.gnome.nautilus.gschema.xml"), ),
ListBoxTweakGroup( _("Keyboard and Mouse"), GSettingsSwitchTweak( _("Show All Input Sources"), "org.gnome.desktop.input-sources", "show-all-sources", logout_required=True, ), KeyThemeSwitcher(), GSettingsComboTweak(_("Switch between overview and desktop"), "org.gnome.mutter", "overlay-key", [("Super_L", _("Left super")), ("Super_R", _("Right super"))]), Title(_("Mouse"), ""), GSettingsComboEnumTweak( _("Acceleration profile"), "org.gnome.desktop.peripherals.mouse", "accel-profile", schema_filename="org.gnome.desktop.peripherals.gschema.xml"), GSettingsSwitchTweak( _("Show location of pointer"), "org.gnome.settings-daemon.peripherals.mouse", "locate-pointer", schema_filename="org.gnome.settings-daemon.peripherals.gschema.xml" ), PrimaryPasteTweak(), Title(_("Touchpad"), ""), GSettingsComboEnumTweak( _("Click method"), "org.gnome.desktop.peripherals.touchpad", "click-method", schema_filename="org.gnome.desktop.peripherals.gschema.xml"), ),
if self.btn_full.get_active(): self.settings["hinting"] ="full" elif self.btn_med.get_active(): self.settings["hinting"] = "medium" elif self.btn_slight.get_active(): self.settings["hinting"] = "slight" else: print("none") self.settings["hinting"] = "none" def on_aa_button_toggled(self, button): if self.btn_rgba.get_active(): self.settings["antialiasing"] = "rgba" elif self.btn_gray.get_active(): self.settings["antialiasing"] = "grayscale" else: self.settings["antialiasing"] = "none" TWEAK_GROUPS = [ ListBoxTweakGroup(_("Fonts"), GSettingsFontButtonTweak(_("Window Title"),"org.gnome.desktop.wm.preferences", "titlebar-font"), GSettingsFontButtonTweak(_("Interface"),"org.gnome.desktop.interface", "font-name"), GSettingsFontButtonTweak(_("Document"), "org.gnome.desktop.interface", "document-font-name"), GSettingsFontButtonTweak(_("Monospace"), "org.gnome.desktop.interface", "monospace-font-name"), FontXSettingsTweak(), GSettingsSpinButtonTweak(_("Scaling Factor"), "org.gnome.desktop.interface", "text-scaling-factor", adjustment_step=0.01, digits=2), ) ]
} .list-row.tweak.title#title-tweak-test { background-color: blue; } .list.tweak-group#group-tweak-test { background-color: green; } """) screen = Gdk.Screen.get_default() context = Gtk.StyleContext() context.add_provider_for_screen(screen, css_provider, 1 + Gtk.STYLE_PROVIDER_PRIORITY_USER) TWEAK_GROUPS = [ ListBoxTweakGroup( "Test Many Settings", *[_TestTweak("name: " + str(d), "desc: " + str(d)) for d in range(10)], uid="group-tweak-test"), ListBoxTweakGroup( "Test Settings", _TestTweak("foo bar", "does foo bar", uid="tweak-test-foo"), _TestTweak("foo baz", "does foo baz"), _TestInfoTweak("long string " * 10, "long description " * 10, _test_button_name="short"), _TestInfoTweak("foo info", "info widget", _tweak_info="Information"), _TestInfoTweak("foo warning", "info widget", _tweak_warning="Warning"), Title("Test Notifications", "", uid="title-tweak-test"), _TestButtonTweak("Shows Information", "foo bar", _need_action=True), _TestButtonTweak("Needs Logout", "foo bar log", _need_logout=True)), ListBoxTweakGroup( "Unicode Test", Title("Words", "", uid="title-tweak-test"), *[
else: self.notify_information(_("Error installing theme")) except: #does not look like a valid theme self.notify_information(_("Invalid theme")) logging.warning("Error parsing theme zip", exc_info=True) #set button back to default state chooser.unselect_all() def _on_combo_changed(self, combo): val = combo.get_model().get_value(combo.get_active_iter(), 0) self._settings.set_string(ShellThemeTweak.THEME_GSETTINGS_NAME, val) TWEAK_GROUPS = [ ListBoxTweakGroup( TWEAK_GROUP_APPEARANCE, DarkThemeSwitcher(), #GSettingsSwitchTweak("Buttons Icons","org.gnome.desktop.interface", "buttons-have-icons"), #GSettingsSwitchTweak("Menu Icons","org.gnome.desktop.interface", "menus-have-icons"), Title(_("Theme"), "", uid="title-theme"), WindowThemeSwitcher(), GtkThemeSwitcher(), IconThemeSwitcher(), CursorThemeSwitcher(), ShellThemeTweak(loaded=_shell_loaded), ), ]
ListBoxTweakGroup( TWEAK_GROUP_WINDOWS, GSettingsSwitchTweak(_("Attached Modal Dialogs"), "org.gnome.mutter", "attach-modal-dialogs"), GSettingsSwitchTweak(_("Automatically Raise Windows"), "org.gnome.desktop.wm.preferences", "raise-on-click"), GSettingsSwitchTweak(_("Resize with Secondary-click"), "org.gnome.desktop.wm.preferences", "resize-with-right-button"), GSettingsComboTweak(_("Window Action Key"), "org.gnome.desktop.wm.preferences", "mouse-button-modifier", [("disabled", _("Disabled")), ("<Alt>", "Alt"), ("<Super>", "Super")]), GSettingsComboEnumTweak(_("Focus Mode"), "org.gnome.desktop.wm.preferences", "focus-mode"), Title(_("Titlebar Actions"), "", uid="title-titlebar-actions"), GSettingsComboEnumTweak(_("Double-click"), "org.gnome.desktop.wm.preferences", "action-double-click-titlebar"), GSettingsComboEnumTweak(_("Middle-click"), "org.gnome.desktop.wm.preferences", "action-middle-click-titlebar"), GSettingsComboEnumTweak(_("Secondary-click"), "org.gnome.desktop.wm.preferences", "action-right-click-titlebar"), Title(_("Titlebar Buttons"), "", uid="title-theme"), ShowWindowButtons(_("Maximize"), "maximize"), ShowWindowButtons(_("Minimize"), "minimize"), Title(_("HiDPI"), "", uid="title-hidpi"), WindowScalingFactorTweak(), )
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() TWEAK_GROUPS = [ ListBoxTweakGroup(_("Top Bar"), ApplicationMenuTweak(), GSettingsSwitchTweak(_("Battery Percentage"),"org.gnome.desktop.interface", "show-battery-percentage", loaded=_shell_loaded), # Requires patch from https://bugzilla.gnome.org/688320 GSettingsSwitchTweak(_("Activities Overview Hot Corner"),"org.gnome.shell", "enable-hot-corners", loaded=_shell_loaded), Title(_("Clock"),"", loaded=_shell_loaded), GSettingsSwitchTweak(_("Date"),"org.gnome.desktop.interface", "clock-show-date", loaded=_shell_loaded), GSettingsSwitchTweak(_("Seconds"), "org.gnome.desktop.interface", "clock-show-seconds", loaded=_shell_loaded), Title(_("Calendar"),"", loaded=_shell_loaded), GSettingsSwitchTweak(_("Week Numbers"),"org.gnome.desktop.calendar", "show-weekdate", loaded=_shell_loaded), ) ]
def _on_combo_changed(self, combo): _iter = combo.get_active_iter() if _iter: value = combo.get_model().get_value(_iter, 0) val = self.STATUS[value] self.settings[self.key_name] = val sg = build_horizontal_sizegroup() sw = StaticWorkspaceTweak(size_group=sg, loaded=_shell_loaded) depends_how = lambda x,kn: not(x.get_boolean(kn)) TWEAK_GROUPS = [ ListBoxTweakGroup(TWEAK_GROUP_TOPBAR, ApplicationMenuTweak(), Title(_("Clock"),""), GSettingsCheckTweak(_("Show date"),"org.gnome.desktop.interface", "clock-show-date", schema_filename="org.gnome.desktop.interface.gschema.xml"), GSettingsCheckTweak(_("Show seconds"), "org.gnome.desktop.interface", "clock-show-seconds", schema_filename="org.gnome.desktop.interface.gschema.xml"), Title(_("Calendar"),""), GSettingsCheckTweak(_("Show week numbers"),"org.gnome.shell.calendar", "show-weekdate", schema_filename="org.gnome.shell.gschema.xml", loaded=_shell_loaded), ), ListBoxTweakGroup(TWEAK_GROUP_POWER, GSettingsComboEnumTweak(_("Power Button Action"), "org.gnome.settings-daemon.plugins.power", "button-power", size_group=sg), Title(_("When Laptop Lid is Closed"), "", uid="title-theme"), GSettingsComboEnumTweak(_("On Battery Power"),"org.gnome.settings-daemon.plugins.power", "lid-close-battery-action", size_group=sg), GSettingsComboEnumTweak(_("When plugged in"),"org.gnome.settings-daemon.plugins.power", "lid-close-ac-action", size_group=sg), GSettingsSwitchTweak(_("Suspend even if an external monitor is plugged in"),"org.gnome.settings-daemon.plugins.power", "lid-close-suspend-with-external-monitor", size_group=sg), ), ListBoxTweakGroup(TWEAK_GROUP_WORKSPACES, sw, GSettingsSpinButtonTweak(_("Number of Workspaces"), "org.gnome.desktop.wm.preferences", "num-workspaces", depends_on = sw, depends_how=depends_how, size_group=sg), GSettingsSwitchTweak(_("Workspaces only on primary display"),"org.gnome.mutter", "workspaces-only-on-primary", schema_filename="org.gnome.shell.gschema.xml", loaded=_shell_loaded), )
TWEAK_GROUPS = [ ListBoxTweakGroup( TWEAK_GROUP_FONTS, GSettingsFontButtonTweak(_("Window Titles"), "org.gnome.desktop.wm.preferences", "titlebar-font"), GSettingsFontButtonTweak(_("Interface"), "org.gnome.desktop.interface", "font-name"), GSettingsFontButtonTweak(_("Documents"), "org.gnome.desktop.interface", "document-font-name"), GSettingsFontButtonTweak(_("Monospace"), "org.gnome.desktop.interface", "monospace-font-name"), GSettingsComboTweak(_("Hinting"), "org.gnome.settings-daemon.plugins.xsettings", "hinting", [(i, i.title()) for i in ("none", "slight", "medium", "full")]), GSettingsComboTweak(_("Antialiasing"), "org.gnome.settings-daemon.plugins.xsettings", "antialiasing", [(i, i.title()) for i in ("none", "grayscale", "rgba")]), GSettingsSpinButtonTweak(_("Scaling Factor"), "org.gnome.desktop.interface", "text-scaling-factor", adjustment_step=0.01, digits=2), ) ]
GetterSetterSwitchTweak.__init__( self, _("Suspend when laptop lid is closed"), **options) def get_active(self): return not self._sync_inhibitor() def set_active(self, v): self._dfile.update_start_at_login(not v) self._sync_inhibitor() def _sync_inhibitor(self): if (self._dfile.is_start_at_login_enabled()): GLib.spawn_command_line_async(self._inhibitor_path) return True else: bus = Gio.bus_get_sync(Gio.BusType.SESSION, None) bus.call('org.gnome.tweak-tool.lid-inhibitor', '/org/gnome/tweak_tool/lid_inhibitor', 'org.gtk.Actions', 'Activate', GLib.Variant('(sava{sv})', ('quit', [], {})), None, 0, -1, None) return False TWEAK_GROUPS = [ ListBoxTweakGroup( _("Power"), IgnoreLidSwitchTweak(), ), ]
dicons = GSettingsSwitchTweak(_("Show Icons"), "org.gnome.desktop.background", "show-desktop-icons") TWEAK_GROUPS = [ ListBoxTweakGroup( _("Desktop"), Title(_("Icons on Desktop"), "", uid="title-theme", top=True), dicons, GSettingsSwitchTweak(_("Home"), "org.gnome.nautilus.desktop", "home-icon-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"), GSettingsSwitchTweak(_("Network Servers"), "org.gnome.nautilus.desktop", "network-icon-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"), GSettingsSwitchTweak(_("Trash"), "org.gnome.nautilus.desktop", "trash-icon-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"), GSettingsSwitchTweak(_("Mounted Volumes"), "org.gnome.nautilus.desktop", "volumes-visible", depends_on=dicons, schema_filename="org.gnome.nautilus.gschema.xml"), ) ]