diff --git a/src/browser/base/content/zen-components b/src/browser/base/content/zen-components index ddf84fa3d..9a5efb4a8 160000 --- a/src/browser/base/content/zen-components +++ b/src/browser/base/content/zen-components @@ -1 +1 @@ -Subproject commit ddf84fa3df832f0036e7bc51cc9613c363f1a9ab +Subproject commit 9a5efb4a87cb6a50ed36c2c1773a7b7ef9a5ca03 diff --git a/src/browser/components/preferences/zen-settings.js b/src/browser/components/preferences/zen-settings.js index 3dba852c4..2f06f0e6b 100644 --- a/src/browser/components/preferences/zen-settings.js +++ b/src/browser/components/preferences/zen-settings.js @@ -314,7 +314,32 @@ var gZenLooksAndFeel = { var gZenWorkspacesSettings = { init() { + Services.prefs.addObserver("zen.workspaces.enabled", this); + window.addEventListener("unload", () => { + Services.prefs.removeObserver("zen.workspaces.enabled", this); + }); }, + + async observe(subject, topic, data) { + await this.onWorkspaceChange(Services.prefs.getBoolPref("zen.workspaces.enabled")); + }, + + async onWorkspaceChange(checked) { + if (checked) { + let buttonIndex = await confirmRestartPrompt( + true, + 1, + true, + false + ); + if (buttonIndex == CONFIRM_RESTART_PROMPT_RESTART_NOW) { + Services.startup.quit( + Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart + ); + return; + } + } + } }; var gZenCKSSettings = {