diff --git a/src/Pytop/resources/PyTop.glade b/src/Pytop/resources/PyTop.glade
index d564f8d..a1fd82e 100644
--- a/src/Pytop/resources/PyTop.glade
+++ b/src/Pytop/resources/PyTop.glade
@@ -227,7 +227,7 @@
True
False
True
-
+
True
@@ -242,7 +242,7 @@
True
False
True
-
+
True
@@ -257,7 +257,7 @@
True
False
True
-
+
True
diff --git a/src/Pytop/signal_classes/TaskbarSignals.py b/src/Pytop/signal_classes/TaskbarSignals.py
index 1ec7d99..6f311cd 100644
--- a/src/Pytop/signal_classes/TaskbarSignals.py
+++ b/src/Pytop/signal_classes/TaskbarSignals.py
@@ -86,20 +86,30 @@ class TaskbarSignals:
self.taskbarMenu.show()
def setTaskbarMenuStates(self):
- if not self.window.is_above(): # If above all windows
- self.builder.get_object("alwaysOnTopToggle").set_active(False)
- else:
- self.builder.get_object("alwaysOnTopToggle").set_active(True)
+ alwaysOnTopToggle = self.builder.get_object("alwaysOnTopToggle")
+ alwaysBelowToggle = self.builder.get_object("alwaysBelowToggle")
+ alwaysOnVisableWorkspace = self.builder.get_object("alwaysOnVisableWorkspace")
- if not self.window.is_below(): # If below all windows
- self.builder.get_object("alwaysBelowToggle").set_active(False)
+ if self.window.is_above(): # If above all windows
+ if not alwaysOnTopToggle.get_active():
+ alwaysOnTopToggle.set_active(True)
else:
- self.builder.get_object("alwaysBelowToggle").set_active(True)
+ if alwaysOnTopToggle.get_active():
+ alwaysOnTopToggle.set_active(False)
- if not self.window.is_pinned(): # If visable on all workspaces
- self.builder.get_object("alwaysOnVisableWorkspace").set_active(False)
+ if self.window.is_below(): # If below all windows
+ if not alwaysBelowToggle.get_active():
+ alwaysBelowToggle.set_active(True)
else:
- self.builder.get_object("alwaysOnVisableWorkspace").set_active(True)
+ if alwaysBelowToggle.get_active():
+ alwaysBelowToggle.set_active(False)
+
+ if self.window.is_pinned(): # If visable on all workspaces
+ if not alwaysOnVisableWorkspace.get_active():
+ alwaysOnVisableWorkspace.set_active(True)
+ else:
+ if alwaysOnVisableWorkspace.get_active():
+ alwaysOnVisableWorkspace.set_active(False)
if not self.window.is_sticky(): # If visable on all workspaces??
pass
@@ -168,19 +178,19 @@ class TaskbarSignals:
def startResizeWindow(self, widget, data=None):
self.window.keyboard_size()
- def setTopState(self, widget):
+ def setTopState(self, widget, eve):
if not self.window.is_above():
self.window.make_above()
else:
self.window.unmake_above()
- def setBelowState(self, widget):
+ def setBelowState(self, widget, eve):
if not self.window.is_above():
self.window.make_below()
else:
self.window.unmake_below()
- def setWorkspacePin(self, widget):
+ def setWorkspacePin(self, widget, eve):
if not self.window.is_pinned():
self.window.pin()
else: