diff --git a/webext/background.js b/webext/background.js
index 1441523..ee2ced7 100644
--- a/webext/background.js
+++ b/webext/background.js
@@ -560,15 +560,17 @@ SysTrayX.Messaging = {
"iconType",
"iconMime",
"icon",
+ "theme",
"showNumber",
"showNewIndicator",
+ "countType",
+ "startupDelay",
"numberColor",
"numberSize",
"numberAlignment",
"numberMargins",
- "countType",
- "startupDelay",
- "theme",
+ "newIndicatorType",
+ "newShadeColor",
"startApp",
"startAppArgs",
"closeApp",
@@ -594,8 +596,11 @@ SysTrayX.Messaging = {
const iconType = result.iconType || "0";
const iconMime = result.iconMime || "image/png";
const icon = result.icon || [];
+ const theme = result.theme || "0";
const showNumber = result.showNumber || "true";
const showNewIndicator = result.showNewIndicator || "true";
+ const countType = result.countType || "0";
+ const startupDelay = result.startupDelay || "5";
let numberColor = result.numberColor || "#000000";
const numberSize = result.numberSize || "10";
const numberAlignment = result.numberAlignment || "4";
@@ -605,9 +610,8 @@ SysTrayX.Messaging = {
right: 0,
bottom: 0,
};
- const countType = result.countType || "0";
- const startupDelay = result.startupDelay || "5";
- const theme = result.theme || "0";
+ const newIndicatorType = result.newIndicatorType || "2";
+ const newShadeColor = result.newShadeColor || "#ff8000";
const startApp = result.startApp || "";
const startAppArgs = result.startAppArgs || "";
const closeApp = result.closeApp || "";
@@ -635,15 +639,17 @@ SysTrayX.Messaging = {
iconType,
iconMime,
icon,
+ theme,
showNumber,
showNewIndicator,
+ countType,
+ startupDelay,
numberColor,
numberSize,
numberAlignment,
numberMargins,
- countType,
- startupDelay,
- theme,
+ newIndicatorType,
+ newShadeColor,
startApp,
startAppArgs,
closeApp,
@@ -720,6 +726,41 @@ SysTrayX.Link = {
if (response["preferences"]) {
// Store the preferences from the app
+ const minimizeType = response["preferences"].minimizeType;
+ if (minimizeType) {
+ await storage().set({
+ minimizeType: minimizeType,
+ });
+ }
+
+ const minimizeIconType = response["preferences"].minimizeIconType;
+ if (minimizeIconType) {
+ await storage().set({
+ minimizeIconType: minimizeIconType,
+ });
+ }
+
+ const closeType = response["preferences"].closeType;
+ if (closeType) {
+ await storage().set({
+ closeType: closeType,
+ });
+ }
+
+ const startMinimized = response["preferences"].startMinimized;
+ if (startMinimized) {
+ await storage().set({
+ startMinimized: startMinimized,
+ });
+ }
+
+ const restorePositions = response["preferences"].restorePositions;
+ if (restorePositions) {
+ await storage().set({
+ restorePositions: restorePositions,
+ });
+ }
+
const defaultIconMime = response["preferences"].defaultIconMime;
if (defaultIconMime) {
await storage().set({
@@ -769,6 +810,13 @@ SysTrayX.Link = {
});
}
+ const theme = response["preferences"].theme;
+ if (theme) {
+ await storage().set({
+ theme: theme,
+ });
+ }
+
const showNumber = response["preferences"].showNumber;
if (showNumber) {
await storage().set({
@@ -783,6 +831,20 @@ SysTrayX.Link = {
});
}
+ const countType = response["preferences"].countType;
+ if (countType) {
+ await storage().set({
+ countType: countType,
+ });
+ }
+
+ const startupDelay = response["preferences"].startupDelay;
+ if (startupDelay) {
+ await storage().set({
+ startupDelay: startupDelay,
+ });
+ }
+
const numberColor = response["preferences"].numberColor;
if (numberColor) {
await storage().set({
@@ -811,59 +873,17 @@ SysTrayX.Link = {
});
}
- const countType = response["preferences"].countType;
- if (countType) {
+ const newIndicatorType = response["preferences"].newIndicatorType;
+ if (newIndicatorType) {
await storage().set({
- countType: countType,
+ newIndicatorType: newIndicatorType,
});
}
- const startupDelay = response["preferences"].startupDelay;
- if (startupDelay) {
+ const newShadeColor = response["preferences"].newShadeColor;
+ if (newShadeColor) {
await storage().set({
- startupDelay: startupDelay,
- });
- }
-
- const minimizeType = response["preferences"].minimizeType;
- if (minimizeType) {
- await storage().set({
- minimizeType: minimizeType,
- });
- }
-
- const minimizeIconType = response["preferences"].minimizeIconType;
- if (minimizeIconType) {
- await storage().set({
- minimizeIconType: minimizeIconType,
- });
- }
-
- const closeType = response["preferences"].closeType;
- if (closeType) {
- await storage().set({
- closeType: closeType,
- });
- }
-
- const startMinimized = response["preferences"].startMinimized;
- if (startMinimized) {
- await storage().set({
- startMinimized: startMinimized,
- });
- }
-
- const restorePositions = response["preferences"].restorePositions;
- if (restorePositions) {
- await storage().set({
- restorePositions: restorePositions,
- });
- }
-
- const theme = response["preferences"].theme;
- if (theme) {
- await storage().set({
- theme: theme,
+ newShadeColor: newShadeColor,
});
}
diff --git a/webext/css/options.css b/webext/css/options.css
index a9b1fcd..02b62fc 100644
--- a/webext/css/options.css
+++ b/webext/css/options.css
@@ -74,78 +74,17 @@ body {
align-items: center;
}
-#minimizeselect {
- width: 25em;
- border-style: solid;
- border-width: 1px;
- margin: 10px 10px 10px 10px;
- padding: 10px 10px 10px 10px;
-}
-
-#minimizeiconselect {
- width: 25em;
- border-style: solid;
- border-width: 1px;
- margin: 10px 10px 10px 10px;
- padding: 10px 10px 10px 10px;
-}
-
-#closeselect {
- width: 25em;
- border-style: solid;
- border-width: 1px;
- margin: 10px 10px 10px 10px;
- padding: 10px 10px 10px 10px;
-}
-
-#defaulticonselect {
- width: 25em;
- border-style: solid;
- border-width: 1px;
- margin: 10px 10px 10px 10px;
- padding: 10px 10px 10px 10px;
-}
-
-#iconselect {
- width: 25em;
- border-style: solid;
- border-width: 1px;
- margin: 10px 10px 10px 10px;
- padding: 10px 10px 10px 10px;
-}
-
-#numberprops {
- width: 25em;
- border-style: solid;
- border-width: 1px;
- margin: 10px 10px 10px 10px;
- padding: 10px 10px 10px 10px;
-}
-
-#themeselect {
- width: 25em;
- border-style: solid;
- border-width: 1px;
- margin: 10px 10px 10px 10px;
- padding: 10px 10px 10px 10px;
-}
-
-#storageselect {
- width: 25em;
- border-style: solid;
- border-width: 1px;
- margin: 10px 10px 10px 10px;
- padding: 10px 10px 10px 10px;
-}
-
-#startappselect {
- width: 25em;
- border-style: solid;
- border-width: 1px;
- margin: 10px 10px 10px 10px;
- padding: 10px 10px 10px 10px;
-}
-
+#minimizeselect,
+#minimizeiconselect,
+#closeselect,
+#defaulticonselect,
+#iconselect,
+#numberprops,
+#themeselect,
+#counttypeselect,
+#newindicatorselect,
+#storageselect,
+#startappselect,
#closeappselect {
width: 25em;
border-style: solid;
diff --git a/webext/options.html b/webext/options.html
index 362e16d..d9e13a7 100644
--- a/webext/options.html
+++ b/webext/options.html
@@ -333,124 +333,7 @@
-
-
-
+
__MSG_icons_theme__
@@ -507,30 +390,167 @@
+
+ |
+
+
+ |
+
| |
-
- |
-
-
-
-
-
- |
-
-
+
+
+
diff --git a/webext/options.js b/webext/options.js
index 7489176..aa0a0b4 100644
--- a/webext/options.js
+++ b/webext/options.js
@@ -202,6 +202,16 @@ SysTrayX.SaveOptions = {
icon: iconBase64,
});
+ //
+ // Save theme preferences
+ //
+ const theme = document.querySelector('input[name="theme"]:checked').value;
+
+ // Store theme preferences
+ await storage().set({
+ theme: theme,
+ });
+
//
// Save show number state
//
@@ -223,13 +233,23 @@ SysTrayX.SaveOptions = {
});
//
- // Save theme preferences
+ // Save count type preferences
//
- const theme = document.querySelector('input[name="theme"]:checked').value;
-
- // Store theme preferences
+ const countType = document.querySelector(
+ 'input[name="countType"]:checked'
+ ).value;
await storage().set({
- theme: theme,
+ countType: countType,
+ });
+
+ //
+ // Save startup delay
+ //
+ const startupDelay = document.querySelector(
+ 'input[name="startupDelay"]'
+ ).value;
+ await storage().set({
+ startupDelay: startupDelay,
});
//
@@ -291,23 +311,24 @@ SysTrayX.SaveOptions = {
});
//
- // Save count type preferences
+ // Save new indicator type
//
- const countType = document.querySelector(
- 'input[name="countType"]:checked'
+ const newIndicatorType = document.querySelector(
+ 'input[name="newIndicatorType"]:checked'
).value;
+
+ // Store neew indicator type
await storage().set({
- countType: countType,
+ newIndicatorType: newIndicatorType,
});
//
- // Save startup delay
+ // Save new shade color
//
- const startupDelay = document.querySelector(
- 'input[name="startupDelay"]'
- ).value;
+ let newShadeColor = document.querySelector('input[name="newShadeColor"]').value;
+
await storage().set({
- startupDelay: startupDelay,
+ newShadeColor: `${newShadeColor}`,
});
//
@@ -353,6 +374,16 @@ SysTrayX.RestoreOptions = {
SysTrayX.RestoreOptions.onDebugError
);
+ //
+ // Restore filters
+ //
+ await storage()
+ .get("filters")
+ .then(
+ SysTrayX.RestoreOptions.setFilters,
+ SysTrayX.RestoreOptions.onFiltersError
+ );
+
//
// Restore minimize type
//
@@ -454,13 +485,13 @@ SysTrayX.RestoreOptions = {
);
//
- // Restore filters
+ // Restore theme
//
await storage()
- .get("filters")
+ .get("theme")
.then(
- SysTrayX.RestoreOptions.setFilters,
- SysTrayX.RestoreOptions.onFiltersError
+ SysTrayX.RestoreOptions.setTheme,
+ SysTrayX.RestoreOptions.onThemeError
);
//
@@ -483,6 +514,26 @@ SysTrayX.RestoreOptions = {
SysTrayX.RestoreOptions.onShowNewIndicatorError
);
+ //
+ // Restore count type
+ //
+ await storage()
+ .get("countType")
+ .then(
+ SysTrayX.RestoreOptions.setCountType,
+ SysTrayX.RestoreOptions.onCountTypeError
+ );
+
+ //
+ // Restore startup delay
+ //
+ await storage()
+ .get("startupDelay")
+ .then(
+ SysTrayX.RestoreOptions.setStartupDelay,
+ SysTrayX.RestoreOptions.ontartupDelayError
+ );
+
//
// Restore number color
//
@@ -524,33 +575,23 @@ SysTrayX.RestoreOptions = {
);
//
- // Restore count type
+ // Restore new indicator type
//
await storage()
- .get("countType")
+ .get("newIndicatorType")
.then(
- SysTrayX.RestoreOptions.setCountType,
- SysTrayX.RestoreOptions.onCountTypeError
+ SysTrayX.RestoreOptions.setNewIndicatorType,
+ SysTrayX.RestoreOptions.onNewIndicatorTypeError
);
//
- // Restore startup delay
+ // Restore new shade color
//
await storage()
- .get("startupDelay")
+ .get("newShadeColor")
.then(
- SysTrayX.RestoreOptions.setStartupDelay,
- SysTrayX.RestoreOptions.ontartupDelayError
- );
-
- //
- // Restore theme
- //
- await storage()
- .get("theme")
- .then(
- SysTrayX.RestoreOptions.setTheme,
- SysTrayX.RestoreOptions.onThemeError
+ SysTrayX.RestoreOptions.setNewShadeColor,
+ SysTrayX.RestoreOptions.onNewShadeColorError
);
//
@@ -849,6 +890,22 @@ SysTrayX.RestoreOptions = {
console.log(`Icon Error: ${error}`);
},
+ //
+ // Restore theme callbacks
+ //
+ setTheme: function (result) {
+ const theme = result.theme || "0";
+
+ const radioButton = document.querySelector(
+ `input[name="theme"][value="${theme}"]`
+ );
+ radioButton.checked = true;
+ },
+
+ onThemeError: function (error) {
+ console.log(`Theme Error: ${error}`);
+ },
+
//
// Restore show number state
//
@@ -877,6 +934,36 @@ SysTrayX.RestoreOptions = {
console.log(`showNewIndicator Error: ${error}`);
},
+ //
+ // Restore count type
+ //
+ setCountType: function (result) {
+ const countType = result.countType || "0";
+
+ const radioButton = document.querySelector(
+ `input[name="countType"][value="${countType}"]`
+ );
+ radioButton.checked = true;
+ },
+
+ onCountTypeError: function (error) {
+ console.log(`countType Error: ${error}`);
+ },
+
+ //
+ // Restore startup delay
+ //
+ setStartupDelay: function (result) {
+ const startupDelay = result.startupDelay || "5";
+
+ const input = document.querySelector(`input[name="startupDelay"]`);
+ input.value = startupDelay;
+ },
+
+ onStartupDelayError: function (error) {
+ console.log(`StartupDelay Error: ${error}`);
+ },
+
//
// Restore number color
//
@@ -952,49 +1039,33 @@ SysTrayX.RestoreOptions = {
},
//
- // Restore count type
+ // Restore new indicator type
//
- setCountType: function (result) {
- const countType = result.countType || "0";
+ setNewIndicatorType: function (result) {
+ const newIndicatorType = result.newIndicatorType || "2";
const radioButton = document.querySelector(
- `input[name="countType"][value="${countType}"]`
+ `input[name="newIndicatorType"][value="${newIndicatorType}"]`
);
radioButton.checked = true;
},
- onCountTypeError: function (error) {
- console.log(`countType Error: ${error}`);
+ onNewIndicatorTypeError: function (error) {
+ console.log(`newIndicatorType Error: ${error}`);
},
//
- // Restore startup delay
+ // Restore number color
//
- setStartupDelay: function (result) {
- const startupDelay = result.startupDelay || "5";
+ setNewShadeColor: function (result) {
+ const newShadeColor = result.newShadeColor || "#ff8000";
- const input = document.querySelector(`input[name="startupDelay"]`);
- input.value = startupDelay;
+ const input = document.querySelector(`input[name="newShadeColor"]`);
+ input.value = newShadeColor;
},
- onStartupDelayError: function (error) {
- console.log(`StartupDelay Error: ${error}`);
- },
-
- //
- // Restore theme callbacks
- //
- setTheme: function (result) {
- const theme = result.theme || "0";
-
- const radioButton = document.querySelector(
- `input[name="theme"][value="${theme}"]`
- );
- radioButton.checked = true;
- },
-
- onThemeError: function (error) {
- console.log(`Theme Error: ${error}`);
+ onNewShadeColorError: function (error) {
+ console.log(`newShadeColor Error: ${error}`);
},
//
@@ -1201,6 +1272,31 @@ SysTrayX.StorageChanged = {
let changed_icon = false;
let changed_default_icon = false;
for (let item of changedItems) {
+ if (item === "minimizeType") {
+ SysTrayX.RestoreOptions.setMinimizeType({
+ minimizeType: changes[item].newValue,
+ });
+ }
+ if (item === "minimizeIconType") {
+ SysTrayX.RestoreOptions.setMinimizeIconType({
+ minimizeIconType: changes[item].newValue,
+ });
+ }
+ if (item === "closeType") {
+ SysTrayX.RestoreOptions.setCloseType({
+ closeType: changes[item].newValue,
+ });
+ }
+ if (item === "startMinimized") {
+ SysTrayX.RestoreOptions.setStartMinimized({
+ startMinimized: changes[item].newValue,
+ });
+ }
+ if (item === "restorePositions") {
+ SysTrayX.RestoreOptions.setRestorePositions({
+ restorePositions: changes[item].newValue,
+ });
+ }
if (item === "iconMime") {
SysTrayX.RestoreOptions.setIconMime({
iconMime: changes[item].newValue,
@@ -1238,6 +1334,11 @@ SysTrayX.StorageChanged = {
hideDefaultIcon: changes[item].newValue,
});
}
+ if (item === "theme") {
+ SysTrayX.RestoreOptions.setTheme({
+ theme: changes[item].newValue,
+ });
+ }
if (item === "showNumber") {
SysTrayX.RestoreOptions.setShowNumber({
showNumber: changes[item].newValue,
@@ -1248,6 +1349,16 @@ SysTrayX.StorageChanged = {
showNewIndicator: changes[item].newValue,
});
}
+ if (item === "countType") {
+ SysTrayX.RestoreOptions.setCountType({
+ countType: changes[item].newValue,
+ });
+ }
+ if (item === "startupDelay") {
+ SysTrayX.RestoreOptions.setStartupDelay({
+ startupDelay: changes[item].newValue,
+ });
+ }
if (item === "numberColor") {
SysTrayX.RestoreOptions.setNumberColor({
numberColor: changes[item].newValue,
@@ -1268,44 +1379,14 @@ SysTrayX.StorageChanged = {
numberMargins: changes[item].newValue,
});
}
- if (item === "countType") {
- SysTrayX.RestoreOptions.setCountType({
- countType: changes[item].newValue,
+ if (item === "newIndicatorType") {
+ SysTrayX.RestoreOptions.setIndicatorType({
+ newIndicatorType: changes[item].newValue,
});
}
- if (item === "startupDelay") {
- SysTrayX.RestoreOptions.setStartupDelay({
- startupDelay: changes[item].newValue,
- });
- }
- if (item === "minimizeType") {
- SysTrayX.RestoreOptions.setMinimizeType({
- minimizeType: changes[item].newValue,
- });
- }
- if (item === "minimizeIconType") {
- SysTrayX.RestoreOptions.setMinimizeIconType({
- minimizeIconType: changes[item].newValue,
- });
- }
- if (item === "closeType") {
- SysTrayX.RestoreOptions.setCloseType({
- closeType: changes[item].newValue,
- });
- }
- if (item === "startMinimized") {
- SysTrayX.RestoreOptions.setStartMinimized({
- startMinimized: changes[item].newValue,
- });
- }
- if (item === "restorePositions") {
- SysTrayX.RestoreOptions.setRestorePositions({
- restorePositions: changes[item].newValue,
- });
- }
- if (item === "theme") {
- SysTrayX.RestoreOptions.setTheme({
- theme: changes[item].newValue,
+ if (item === "newShadeColor") {
+ SysTrayX.RestoreOptions.setNewShadeColor({
+ newShadeColor: changes[item].newValue,
});
}
if (item === "startApp") {
@@ -1360,6 +1441,7 @@ SysTrayX.StorageChanged = {
document.getElementById("minimizeiconselect").className = "active";
document.getElementById("closeselect").className = "active";
document.getElementById("themeselect").className = "active";
+ document.getElementById("newindicatorselect").className = "active";
document.getElementById("startappselect").className = "active";
document.getElementById("closeappselect").className = "active";
},