[gnome-tweak-tool/scaling] add tweak for Gdk/WindowScalingFactor
- From: John Stowers <jstowers src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-tweak-tool/scaling] add tweak for Gdk/WindowScalingFactor
- Date: Wed, 26 Mar 2014 19:59:21 +0000 (UTC)
commit fe737158e0e1e8e2319be28682fac4ee681f5628
Author: John Stowers <john stowers gmail com>
Date: Wed Mar 26 21:02:44 2014 +0100
add tweak for Gdk/WindowScalingFactor
gtweak/tweaks/tweak_group_windows.py | 24 ++++++++++++++++++++++--
gtweak/utils.py | 4 ++++
2 files changed, 26 insertions(+), 2 deletions(-)
---
diff --git a/gtweak/tweaks/tweak_group_windows.py b/gtweak/tweaks/tweak_group_windows.py
index 2cab254..a888b57 100644
--- a/gtweak/tweaks/tweak_group_windows.py
+++ b/gtweak/tweaks/tweak_group_windows.py
@@ -17,8 +17,8 @@
import gtweak
from gtweak.gshellwrapper import GnomeShellFactory
-from gtweak.tweakmodel import TWEAK_GROUP_WINDOWS
-from gtweak.widgets import ListBoxTweakGroup, GSettingsComboEnumTweak, GSettingsComboTweak,
GSettingsSwitchTweak, Title, GSettingsSwitchTweakValue
+from gtweak.tweakmodel import TWEAK_GROUP_WINDOWS, Tweak
+from gtweak.widgets import ListBoxTweakGroup, GSettingsComboEnumTweak, GSettingsComboTweak,
GSettingsSwitchTweak, Title, GSettingsSwitchTweakValue, build_label_beside_widget
from gtweak.utils import XSettingsOverrides
_shell = GnomeShellFactory().get_shell()
@@ -51,6 +51,26 @@ class ShowWindowButtons(GSettingsSwitchTweakValue):
self.settings.set_string(self.key_name, val)
self._xsettings.set_window_buttons(val.replace(":", "menu:"))
+class WindowScalingFactorTweak(Gtk.Box, Tweak):
+ def __init__(self, **options):
+ Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL)
+ Tweak.__init__(self, _("Window scaling"), _("Adjust GDK window scaling factor for HiDPI"), **options)
+
+ self._xsettings = XSettingsOverrides()
+
+ adjustment = Gtk.Adjustment(lower=1, upper=2, step_increment=1, page_increment=1)
+ w = Gtk.SpinButton()
+ w.set_adjustment(adjustment)
+ w.set_digits(0)
+ adjustment.set_value(self._xsettings.get_window_scaling_factor())
+ w.connect("value-changed", self._on_value_changed)
+
+ build_label_beside_widget(self.name, w, hbox=self)
+ self.widget_for_size_group = w
+
+ def _on_value_changed(self, adj):
+ self._xsettings.set_window_scaling_factor(adj.get_value())
+
TWEAK_GROUPS = [
ListBoxTweakGroup(TWEAK_GROUP_WINDOWS,
GSettingsSwitchTweak(_("Attached Modal Dialogs"),"org.gnome.mutter", "attach-modal-dialogs"),
diff --git a/gtweak/utils.py b/gtweak/utils.py
index e18b650..f00e62e 100644
--- a/gtweak/utils.py
+++ b/gtweak/utils.py
@@ -282,6 +282,10 @@ class XSettingsOverrides:
return self._get_override('Gtk/EnablePrimaryPaste', True)
def set_window_buttons(self, v):
self._set_override('Gtk/DecorationLayout', v)
+ def set_window_scaling_factor(self, v):
+ self._set_override('Gdk/WindowScalingFactor', int(v))
+ def get_window_scaling_factor(self):
+ return self._get_override('Gdk/WindowScalingFactor', 1)
class Notification:
def __init__(self, summary, body):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]