[FIX] tray: ensure Show Window works reliably on Linux/Wayland

Avoid relying on appWindow.isVisible, which is not trustworthy under

bitsdojo on Linux/Wayland. Instead, always run show → restore → show

sequence to guarantee window is re-mapped and raised.


Signed-off-by: Texas0295<kimura@texas0295.top>
This commit is contained in:
Texas0295
2025-09-12 13:26:15 +08:00
parent 4af816d931
commit 1ed8b1d0c1

View File

@@ -48,11 +48,12 @@ class TrayService {
void handleAction(MenuItem item) { void handleAction(MenuItem item) {
switch (item.key) { switch (item.key) {
case 'show_window': case 'show_window':
if (appWindow.isVisible) { () async {
appWindow.restore(); appWindow.show();
} else { appWindow.restore();
appWindow.show(); await Future.delayed(const Duration(milliseconds: 32));
} appWindow.show();
}();
break; break;
case 'exit_app': case 'exit_app':
appWindow.close(); appWindow.close();