diff --git a/app/SysTray-X/preferences.ui b/app/SysTray-X/preferences.ui
index f04ceb2..8e7c6a3 100644
--- a/app/SysTray-X/preferences.ui
+++ b/app/SysTray-X/preferences.ui
@@ -6,8 +6,8 @@
0
0
- 692
- 310
+ 676
+ 278
@@ -20,172 +20,6 @@
-
-
-
-
-
- Windows
-
-
-
-
-
-
-
-
-
- Default minimize
-
-
- false
-
-
- minimizeTypeGroup
-
-
-
- -
-
-
- Minimize to tray, method 1
-
-
- true
-
-
- minimizeTypeGroup
-
-
-
- -
-
-
- Minimize to tray, method 2
-
-
- minimizeTypeGroup
-
-
-
-
-
- -
-
-
- Start application minimized
-
-
-
-
-
-
- -
-
-
- Mail notification icon
-
-
-
-
-
-
-
-
-
- QLayout::SetFixedSize
-
-
-
-
-
- Blank icon
-
-
- true
-
-
- iconTypeGroup
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
- QLayout::SetFixedSize
-
-
-
-
-
- New mail icon
-
-
- iconTypeGroup
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
- QLayout::SetMaximumSize
-
-
-
-
-
- Custom icon
-
-
- iconTypeGroup
-
-
-
- -
-
-
-
-
-
-
- -
-
-
- Choose
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
@@ -299,6 +133,181 @@
+ -
+
+
+ Mail notification icon
+
+
+
-
+
+
-
+
+
+ QLayout::SetFixedSize
+
+
-
+
+
+ Blank icon
+
+
+ true
+
+
+ iconTypeGroup
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+ QLayout::SetFixedSize
+
+
-
+
+
+ New mail icon
+
+
+ iconTypeGroup
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+ QLayout::SetMaximumSize
+
+
-
+
+
+ Custom icon
+
+
+ iconTypeGroup
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+ Choose
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Windows
+
+
+
-
+
+
-
+
+
+ Minimize
+
+
+
-
+
+
+ Default minimize
+
+
+ false
+
+
+ minimizeTypeGroup
+
+
+
+ -
+
+
+ Minimize to tray, method 1
+
+
+ true
+
+
+ minimizeTypeGroup
+
+
+
+ -
+
+
+ Minimize to tray, method 2
+
+
+ minimizeTypeGroup
+
+
+
+
+
+
+ -
+
+
+ Start application minimized
+
+
+
+
+
+
+
+
-
diff --git a/app/SysTray-X/windowctrl-unix.cpp b/app/SysTray-X/windowctrl-unix.cpp
index 2233d32..4b3fdb2 100644
--- a/app/SysTray-X/windowctrl-unix.cpp
+++ b/app/SysTray-X/windowctrl-unix.cpp
@@ -286,28 +286,9 @@ void WindowCtrlUnix::minimizeWindow( quint64 window, int hide )
return;
}
- switch( hide )
- {
- case Preferences::PREF_MINIMIZE_METHOD_1:
- {
- hideWindowEvent( window, hide );
- break;
- }
-
- case Preferences::PREF_MINIMIZE_METHOD_2:
- {
- hideWindowAtom( window, hide );
- break;
- }
-
- default:
- {
- break;
- }
- }
+ hideWindow( window, hide );
XIconifyWindow( m_display, static_cast( window ), m_screen );
-
XFlush( m_display );
}
@@ -317,7 +298,7 @@ void WindowCtrlUnix::minimizeWindow( quint64 window, int hide )
*/
void WindowCtrlUnix::hideWindow( quint64 window, int set )
{
- switch( set )
+ switch( m_minimize_type )
{
case Preferences::PREF_MINIMIZE_METHOD_1:
{
@@ -339,7 +320,6 @@ void WindowCtrlUnix::hideWindow( quint64 window, int set )
}
-
/*
* Normalize a window
*/
diff --git a/app/SysTray-X/windowctrl.cpp b/app/SysTray-X/windowctrl.cpp
index 983340e..91ac256 100644
--- a/app/SysTray-X/windowctrl.cpp
+++ b/app/SysTray-X/windowctrl.cpp
@@ -71,13 +71,12 @@ void WindowCtrl::slotWindowTest2()
{
emit signalConsole("Test 2 started");
- // Do something.
+ // Do something.
+ hideWindow( getWinId(), true );
// findWindow( m_ppid );
// emit signalConsole( QString( "Hwnd ppid: %1" ).arg( getWinIds()[0] ) );
- hideWindow( getWinId(), true );
-
emit signalConsole("Test 2 done");
}
diff --git a/webext/background.js b/webext/background.js
index 7ff9f76..aba7cfc 100644
--- a/webext/background.js
+++ b/webext/background.js
@@ -382,10 +382,16 @@ async function start() {
SysTrayX.platformInfo = await browser.runtime
.getPlatformInfo()
.then((info) => info);
+
console.log("OS: " + SysTrayX.platformInfo.os);
console.log("Arch: " + SysTrayX.platformInfo.arch);
console.log("Nack-Arch: " + SysTrayX.platformInfo.nacl_arch);
+ // Store platform info
+ browser.storage.sync.set({
+ platformInfo: SysTrayX.platformInfo,
+ });
+
// Get addon version
SysTrayX.version = browser.runtime.getManifest().version;
console.log("Addon version: " + SysTrayX.version);
diff --git a/webext/css/options.css b/webext/css/options.css
index ce55cdf..6ca9904 100644
--- a/webext/css/options.css
+++ b/webext/css/options.css
@@ -63,14 +63,14 @@ body {
#minimizeselect {
border-style: solid;
border-width: 1px;
- margin: 10px 10px 10px 10px;
+ margin: 10px 10px 10px 10px;
padding: 10px 10px 10px 10px;
}
#iconselect {
border-style: solid;
border-width: 1px;
- margin: 10px 10px 10px 10px;
+ margin: 10px 10px 10px 10px;
padding: 10px 10px 10px 10px;
}
diff --git a/webext/options.js b/webext/options.js
index 5f4a3c4..c142467 100644
--- a/webext/options.js
+++ b/webext/options.js
@@ -150,7 +150,10 @@ SysTrayX.RestoreOptions = {
//
// Restore minimize type
//
- const getMinimizeType = browser.storage.sync.get("minimizeType");
+ const getMinimizeType = browser.storage.sync.get([
+ "platformInfo",
+ "minimizeType",
+ ]);
getMinimizeType.then(
SysTrayX.RestoreOptions.setMinimizeType,
SysTrayX.RestoreOptions.onMinimizeTypeError
@@ -238,7 +241,22 @@ SysTrayX.RestoreOptions = {
// Restore minimize type callbacks
//
setMinimizeType: function (result) {
+ const platformInfo = result.platformInfo || { os: "linux" };
const minimizeType = result.minimizeType || "1";
+
+ // Tweak option for platform
+ if (platformInfo.os === "win") {
+ document.getElementById("minimizemethod1label").innerHTML =
+ "Minimize to tray";
+ document
+ .getElementById("minimizemethod2")
+ .setAttribute("style", "display:none;");
+
+ if (minimizeType === "2") {
+ minimizeType = "1";
+ }
+ }
+
const radioButton = document.querySelector(
`input[name="minimizeType"][value="${minimizeType}"]`
);
@@ -461,27 +479,6 @@ SysTrayX.StorageChanged = {
// Main
//
-// Set platform
-//SysTrayX.platformInfo = await browser.runtime
-// .getPlatformInfo()
-// .then((info) => info);
-/*
-// Tweak options for platform
-if (SysTrayX.platformInfo.os === "win") {
- console.debug("Win");
-}
-
-if (SysTrayX.platformInfo.os === "linux") {
- console.debug("Linux");
-}
-*/
-
-document.getElementById("minimizemethod1label").innerHTML =
- "Minimize to tray";
-document
- .getElementById("minimizemethod2")
- .setAttribute("style", "display:none;");
-
// Get addon version
SysTrayX.version = browser.runtime.getManifest().version;
document.getElementById("VersioHomeLink").href =
@@ -493,4 +490,3 @@ document
.addEventListener("submit", SysTrayX.SaveOptions.start);
browser.storage.onChanged.addListener(SysTrayX.StorageChanged.changed);
-