Răsfoiți Sursa

Update status bar click to toggle launcher window.

Left-clicking the main menu bar icon now minimizes the visible launcher window and restores it when hidden or miniaturized, matching expected toggle behavior.

Made-with: Cursor
huzaifahayat12 3 luni în urmă
părinte
comite
86e9e4846b
1 a modificat fișierele cu 20 adăugiri și 2 ștergeri
  1. 20 2
      google_apps/AppDelegate.swift

+ 20 - 2
google_apps/AppDelegate.swift

@@ -51,13 +51,13 @@ class AppDelegate: NSObject, NSApplicationDelegate {
     @objc
     private func statusBarButtonClicked(_ sender: Any?) {
         guard let event = NSApp.currentEvent else {
-            openMainWindowFromStatusBar()
+            toggleMainWindowFromStatusBar()
             return
         }
         if event.type == .rightMouseUp {
             presentStatusBarShortcutsMenu()
         } else {
-            openMainWindowFromStatusBar()
+            toggleMainWindowFromStatusBar()
         }
     }
 
@@ -101,6 +101,24 @@ class AppDelegate: NSObject, NSApplicationDelegate {
         }
     }
 
+    @objc
+    private func toggleMainWindowFromStatusBar() {
+        configureMainWindowIfNeeded()
+        guard let window = NSApp.windows.first else { return }
+
+        if window.isVisible && !window.isMiniaturized {
+            window.miniaturize(nil)
+            return
+        }
+
+        NSApp.setActivationPolicy(.regular)
+        NSApp.activate(ignoringOtherApps: true)
+        if window.isMiniaturized {
+            window.deminiaturize(nil)
+        }
+        window.makeKeyAndOrderFront(nil)
+    }
+
     private func configureMainWindowIfNeeded() {
         guard let window = NSApp.windows.first else { return }
         window.title = "My Apps"