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 @@
-
-