diff --git a/data/org.guake.gschema.xml b/data/org.guake.gschema.xml index 68094360..582d17e6 100644 --- a/data/org.guake.gschema.xml +++ b/data/org.guake.gschema.xml @@ -36,6 +36,11 @@ Sets the tray visibility. When true tray is visible. + + false + Use workspace specific tab sets + When true, each workspace gets their own set of tabs. + true Sets the popup notifications visibility. diff --git a/data/prefs.glade b/data/prefs.glade index d0c0344b..84d5416b 100644 --- a/data/prefs.glade +++ b/data/prefs.glade @@ -321,6 +321,23 @@ True True + + 1 + 3 + + + + + Use workspace-specific tab sets + True + True + False + start + center + True + True + + 1 2 diff --git a/guake/guake_app.py b/guake/guake_app.py index 9b125b63..2b071f79 100644 --- a/guake/guake_app.py +++ b/guake/guake_app.py @@ -145,13 +145,6 @@ class Guake(SimpleGladeApp): self.hidden = True self.forceHide = False - # Workspace tracking - self.current_workspace = 0 - self.screen = Wnck.Screen.get_default() - self.screen.connect("active-workspace-changed", self.workspace_changed) - - self.notebooks = {} - # trayicon! Using SVG handles better different OS trays # img = pixmapfile('guake-tray.svg') # trayicon! @@ -185,6 +178,15 @@ class Guake(SimpleGladeApp): self.mainframe = self.get_widget('mainframe') self.mainframe.remove(self.get_widget('notebook-teminals')) + # Workspace tracking + self.notebooks = {} + self.current_workspace = 0 + if self.settings.general.get_boolean('workspace-specific-tab-sets'): + self.screen = Wnck.Screen.get_default() + self.screen.connect("active-workspace-changed", self.workspace_changed) + else: + self.mainframe.add(self.notebook) + self.set_tab_position() # check and set ARGB for real transparency diff --git a/guake/prefs.py b/guake/prefs.py index 99fe606e..9b3b4870 100644 --- a/guake/prefs.py +++ b/guake/prefs.py @@ -386,6 +386,11 @@ class PrefsCallbacks(): """ self.settings.general.set_boolean('use-popup', chk.get_active()) + def on_workspace_specific_tab_sets_toggled(self, chk): + """Sets the 'workspace-specific-tab-sets' property in dconf + """ + self.settings.general.set_boolean('workspace-specific-tab-sets', chk.get_active()) + def on_prompt_on_quit_toggled(self, chk): """Set the `prompt on quit' property in dconf """ @@ -1060,6 +1065,10 @@ class PrefsDialog(SimpleGladeApp): value = self.settings.general.get_boolean('use-popup') self.get_widget('use_popup').set_active(value) + # workspace-specific tab sets + value = self.settings.general.get_boolean('workspace-specific-tab-sets') + self.get_widget('workspace-specific-tab-sets').set_active(value) + # prompt on quit value = self.settings.general.get_boolean('prompt-on-quit') self.get_widget('prompt_on_quit').set_active(value)