[gnome-tweak-tool] Choose the schema for window buttons tweak based on the session mode
- From: John Stowers <jstowers src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-tweak-tool] Choose the schema for window buttons tweak based on the session mode
- Date: Sun, 2 Dec 2012 13:49:40 +0000 (UTC)
commit f2d8f43283192149ec4478414e88b538b199a34f
Author: Debarshi Ray <debarshir gnome org>
Date: Fri Nov 30 17:55:18 2012 +0100
Choose the schema for window buttons tweak based on the session mode
In addition to the vanilla GNOME Shell modes, it will now have a
fallback replacement mode, which uses a different schema for the
button-layout key. Choose the schema depending on the value of the
org.gnome.Shell.Mode property.
https://bugzilla.gnome.org/show_bug.cgi?id=689358
gtweak/gshellwrapper.py | 23 +++++++++++++++++++++--
gtweak/tweaks/tweak_shell.py | 8 +++++++-
2 files changed, 28 insertions(+), 3 deletions(-)
---
diff --git a/gtweak/gshellwrapper.py b/gtweak/gshellwrapper.py
index 98c2771..f9eb09f 100644
--- a/gtweak/gshellwrapper.py
+++ b/gtweak/gshellwrapper.py
@@ -44,6 +44,19 @@ class _ShellProxy:
'org.gnome.Shell.Extensions',
None)
+ #GNOME Shell > 3.7.2 added the Mode to the DBus API
+ ver = self.proxy.get_cached_property("Mode")
+ if ver != None:
+ self._mode = ver.unpack()
+ else:
+ js = 'global.session_mode'
+ result, output = self.proxy.Eval('(s)', js)
+ if not result:
+ logging.critical("Error getting shell version via Eval JS")
+ self._mode = "user"
+ else:
+ self._mode = json.loads(output)
+
#GNOME Shell > 3.3 added the Version to the DBus API and disabled execute_js
ver = self.proxy.get_cached_property("ShellVersion")
if ver != None:
@@ -57,6 +70,10 @@ class _ShellProxy:
self._version = json.loads(output)
@property
+ def mode(self):
+ return self._mode
+
+ @property
def version(self):
return self._version
@@ -96,6 +113,10 @@ class GnomeShell:
self._execute_js('const Main = imports.ui.main; Main.loadTheme();')
@property
+ def mode(self):
+ return self._proxy.mode
+
+ @property
def version(self):
return self._proxy.version
@@ -165,5 +186,3 @@ if __name__ == "__main__":
print s.list_extensions()
print s == GnomeShellFactory().get_shell()
-
-
diff --git a/gtweak/tweaks/tweak_shell.py b/gtweak/tweaks/tweak_shell.py
index d80b1e3..bd90fc8 100644
--- a/gtweak/tweaks/tweak_shell.py
+++ b/gtweak/tweaks/tweak_shell.py
@@ -32,8 +32,14 @@ from gtweak.widgets import ZipFileChooserButton, GSettingsComboTweak, GSettingsC
class ShowWindowButtons(GSettingsComboTweak):
def __init__(self, **options):
+ _shell = GnomeShellFactory().get_shell()
+ if _shell.mode in ['gdm', 'initial-setup', 'user']:
+ schema = "org.gnome.shell.overrides"
+ else:
+ schema = "org.gnome.desktop.wm.preferences"
+
GSettingsComboTweak.__init__(self,
- "org.gnome.shell.overrides",
+ schema,
"button-layout",
((':close', _("Close Only")),
(':minimize,close', _("Minimize and Close")),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]