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
+
+
+
+
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)