diff --git a/webext/_locales/en-US/messages.json b/webext/_locales/en-US/messages.json index 53d755b..4dfe115 100644 --- a/webext/_locales/en-US/messages.json +++ b/webext/_locales/en-US/messages.json @@ -22,5 +22,10 @@ "tabMail": { "message": "Mail", "description": "Tab for Mail options" + }, + + "tabDebug": { + "message": "Debug", + "description": "Tab for Debug options" } } diff --git a/webext/background.js b/webext/background.js index e0bc14e..02d71c1 100644 --- a/webext/background.js +++ b/webext/background.js @@ -349,10 +349,14 @@ SysTrayX.Window = { }; async function start() { - // Always start minimized - // browser.windows.update(browser.windows.WINDOW_ID_CURRENT, { - // state: "minimized" - // }); + // Get the prefered start state + const state = await getStartupState(); + + if (state == "minimized") { + browser.windows.update(browser.windows.WINDOW_ID_CURRENT, { + state: "minimized" + }); + } // Init defaults before everything await getDefaultIcon(); @@ -364,6 +368,9 @@ async function start() { // Setup the link first SysTrayX.Link.init(); + // Send current state + SysTrayX.Link.postSysTrayXMessage({ window: state }); + // Main start SysTrayX.Messaging.init(); } diff --git a/webext/js/defaults.js b/webext/js/defaults.js index deb70f0..d0ff9ac 100644 --- a/webext/js/defaults.js +++ b/webext/js/defaults.js @@ -54,3 +54,19 @@ async function getDefaultIcon() { console.debug("Default: " + iconBase64); } } + +// +// Get window startup state +// +async function getStartupState() { + function getStartupState(result) { + return result.startMinimized == "true" ? "minimized" : "normal"; + } + + function onStartupStateError() { + return "normal"; + } + + const getState = browser.storage.sync.get("startMinimized"); + return await getState.then(getStartupState, onStartupStateError); +} diff --git a/webext/options.html b/webext/options.html index 737b7b3..279ba40 100644 --- a/webext/options.html +++ b/webext/options.html @@ -9,17 +9,11 @@ -
-
- Display debug - window
-
-
-
+
@@ -89,6 +83,18 @@
+
+
+

Debug options

+
+
+ Display debug + window
+
+
+
+
+