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;