From f9ec2f285f9658cf422d3c5a0db056ccaeaa4aa2 Mon Sep 17 00:00:00 2001
From: Rui Matos <tiagomatos@gmail.com>
Date: Fri, 8 Nov 2013 14:39:23 +0100
Subject: [PATCH 6/6] Prevent SESSION_MODE extensions from being
enabled/disabled
gnome-shell always enables this kind of extensions and doesn't allow
disabling them so reflect that in the UI.
---
gtweak/gshellwrapper.py | 6 +++---
gtweak/tweaks/tweak_shell_extensions.py | 3 ++-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/gtweak/gshellwrapper.py b/gtweak/gshellwrapper.py
index 3b0cf16..9b40516 100644
--- a/gtweak/gshellwrapper.py
+++ b/gtweak/gshellwrapper.py
@@ -91,7 +91,8 @@ class GnomeShell:
EXTENSION_TYPE = {
"SYSTEM" : 1,
- "PER_USER" : 2
+ "PER_USER" : 2,
+ "SESSION_MODE" : 3,
}
DATA_DIR = os.path.join(GLib.get_user_data_dir(), "gnome-shell")
@@ -138,8 +139,7 @@ class GnomeShell32(GnomeShell):
return self._proxy.proxy.ListExtensions()
def extension_is_active(self, state, uuid):
- return state == GnomeShell.EXTENSION_STATE["ENABLED"] and \
- self._settings.setting_is_in_list(self.EXTENSION_ENABLED_KEY, uuid)
+ return state == GnomeShell.EXTENSION_STATE["ENABLED"]
def enable_extension(self, uuid):
self._settings.setting_add_to_list(self.EXTENSION_ENABLED_KEY, uuid)
diff --git a/gtweak/tweaks/tweak_shell_extensions.py b/gtweak/tweaks/tweak_shell_extensions.py
index e69b92f..19055c0 100644
--- a/gtweak/tweaks/tweak_shell_extensions.py
+++ b/gtweak/tweaks/tweak_shell_extensions.py
@@ -34,7 +34,8 @@ class _ShellExtensionTweak(Tweak):
if state == GnomeShell.EXTENSION_STATE["ENABLED"] or \
state == GnomeShell.EXTENSION_STATE["DISABLED"] or \
state == GnomeShell.EXTENSION_STATE["INITIALIZED"]:
- sensitive = True
+ if ext.get("type") != GnomeShell.EXTENSION_TYPE["SESSION_MODE"]:
+ sensitive = True
elif state == GnomeShell.EXTENSION_STATE["DOWNLOADING"]:
info = _("Extension downloading")
elif state == GnomeShell.EXTENSION_STATE["ERROR"]:
--
1.8.3.1