diff --git a/src/chrome/content/options.xul b/src/chrome/content/options.xul
index 5725e46..15a2c2b 100644
--- a/src/chrome/content/options.xul
+++ b/src/chrome/content/options.xul
@@ -24,6 +24,7 @@
+
@@ -66,6 +67,9 @@
label="&bool_show_activates.label;"
accesskey="&bool_show_activates.accesskey;"
tooltiptext="&bool_show_activates.tooltip;"/>
+
diff --git a/src/chrome/locale/en-US/options.dtd b/src/chrome/locale/en-US/options.dtd
index 02cb828..5d617af 100644
--- a/src/chrome/locale/en-US/options.dtd
+++ b/src/chrome/locale/en-US/options.dtd
@@ -20,6 +20,8 @@
+
+
diff --git a/src/defaults/preferences/prefs.js b/src/defaults/preferences/prefs.js
index 2a5ea2f..abaad71 100644
--- a/src/defaults/preferences/prefs.js
+++ b/src/defaults/preferences/prefs.js
@@ -12,6 +12,7 @@ pref("extensions.firetray.hides_on_minimize", true);
pref("extensions.firetray.hides_single_window", false);
pref("extensions.firetray.start_hidden", false);
pref("extensions.firetray.show_activates", false);
+pref("extensions.firetray.remember_desktop", true);
pref("extensions.firetray.show_icon_on_hide", false);
pref("extensions.firetray.scroll_hides", true);
diff --git a/src/modules/linux/FiretrayWindow.jsm b/src/modules/linux/FiretrayWindow.jsm
index 61d676a..9c21a68 100644
--- a/src/modules/linux/FiretrayWindow.jsm
+++ b/src/modules/linux/FiretrayWindow.jsm
@@ -198,7 +198,7 @@ firetray.Window = {
// better visual effect if visibility set here instead of before
firetray.Window.setVisibility(xid, true);
- firetray.Window.restoreDesktop(xid); // after show
+ firetray.Window.restoreDesktop(xid); // after show
firetray.Window.activate(xid);
firetray.PopupMenu.hideSingleWindowItemAndSeparatorMaybe(xid);
@@ -294,12 +294,18 @@ firetray.Window = {
},
saveDesktop: function(xid) {
+ if (!firetray.Utils.prefService.getBoolPref('remember_desktop'))
+ return;
+
let winDesktop = firetray.Window.getXWindowDesktop(x11.Window(xid));
firetray.Handler.windows[xid].savedDesktop = winDesktop;
LOG("save: windowDesktop="+winDesktop);
},
restoreDesktop: function(xid) {
+ if (!firetray.Utils.prefService.getBoolPref('remember_desktop'))
+ return;
+
let desktopDest = firetray.Handler.windows[xid].savedDesktop;
if (desktopDest === null || "undefined" === typeof(desktopDest)) return;