[gnome-tweak-tool] top_bar: Don't add appmenu if one is already set



commit 613326fa080e6671ad9732eafc09e4527dfacaad
Author: Jeremy Bicha <jbicha ubuntu com>
Date:   Sun Aug 20 16:27:36 2017 -0400

    top_bar: Don't add appmenu if one is already set
    
    https://bugzilla.gnome.org/show_bug.cgi?id=785191

 gtweak/tweaks/tweak_group_top_bar.py |   32 +++++++++++++++++++-------------
 1 files changed, 19 insertions(+), 13 deletions(-)
---
diff --git a/gtweak/tweaks/tweak_group_top_bar.py b/gtweak/tweaks/tweak_group_top_bar.py
index 8a5e2f8..d7d565d 100644
--- a/gtweak/tweaks/tweak_group_top_bar.py
+++ b/gtweak/tweaks/tweak_group_top_bar.py
@@ -44,23 +44,29 @@ class ApplicationMenuTweak(GetterSetterSwitchTweak):
         self._xsettings.set_shell_shows_app_menu(v)
 
         if v:
+            self.notify_logout()
             return
         val = self.settings.get_string(self.key_name)
-        (left, colon, right) = val.partition(":")
+        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))
+            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)
+            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 = [


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]