From 9d7d4c8287cc499b3726ca37e2b386ffc9d948d1 Mon Sep 17 00:00:00 2001 From: kevin Date: Thu, 9 Jul 2026 23:20:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=BE=E4=B8=BA=E7=BA=AF=E6=89=98?= =?UTF-8?q?=E7=9B=98=E5=BA=94=E7=94=A8=EF=BC=8C=E5=90=AF=E5=8A=A8=E4=B8=8D?= =?UTF-8?q?=E5=86=8D=E5=9C=A8Dock=E6=98=BE=E7=A4=BA=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将Info.plist的LSUIElement改为true,应用以accessory模式启动, 永不显示Dock图标和系统菜单栏。移除运行时切换Dock可见性的 showDockIcon()/hideDockIcon()及其C实现setDockIconVisible, 这些调用在accessory模式下已无意义。activateApp()保留用于 窗口置于前台获取焦点。 --- internal/ui/app.go | 3 --- internal/ui/dock_darwin.go | 9 --------- internal/ui/dock_other.go | 3 --- internal/ui/tray.go | 1 - resources/Info.plist | 2 +- 5 files changed, 1 insertion(+), 17 deletions(-) diff --git a/internal/ui/app.go b/internal/ui/app.go index 71eb186..a57513a 100644 --- a/internal/ui/app.go +++ b/internal/ui/app.go @@ -130,7 +130,6 @@ func Run() { fyne.Do(func() { a.windowHidden = false activateApp() - showDockIcon() a.window.Show() a.window.RequestFocus() }) @@ -149,7 +148,6 @@ func Run() { if a.windowHidden { a.windowHidden = false activateApp() - showDockIcon() fyne.Do(func() { if a.windowHidden { return @@ -173,7 +171,6 @@ func Run() { a.window.SetCloseIntercept(func() { if cfg.CloseToTray { a.windowHidden = true - hideDockIcon() a.window.Hide() } else { a.quit() diff --git a/internal/ui/dock_darwin.go b/internal/ui/dock_darwin.go index f49673a..fd8ea41 100644 --- a/internal/ui/dock_darwin.go +++ b/internal/ui/dock_darwin.go @@ -25,12 +25,6 @@ static BOOL appShouldHandleReopen(id self, SEL cmd, id sender, BOOL flag) { return YES; } -static void setDockIconVisible(int visible) { - Class cls = objc_getClass("NSApplication"); - id app = ((id (*)(Class, SEL))objc_msgSend)(cls, sel_getUid("sharedApplication")); - ((void (*)(id, SEL, long))objc_msgSend)(app, sel_getUid("setActivationPolicy:"), visible ? 0 : 1); -} - static void cmActivateApp(void) { Class cls = objc_getClass("NSApplication"); id app = ((id (*)(Class, SEL))objc_msgSend)(cls, sel_getUid("sharedApplication")); @@ -53,9 +47,6 @@ static void cmRegisterReopenHandler(void) { */ import "C" -func showDockIcon() { C.setDockIconVisible(1) } -func hideDockIcon() { C.setDockIconVisible(0) } - func activateApp() { C.cmActivateApp() } func registerReopenHandler() { C.cmRegisterReopenHandler() } diff --git a/internal/ui/dock_other.go b/internal/ui/dock_other.go index d0818d4..1291895 100644 --- a/internal/ui/dock_other.go +++ b/internal/ui/dock_other.go @@ -4,9 +4,6 @@ package ui var onAppActive func() -func showDockIcon() {} -func hideDockIcon() {} - func activateApp() {} func registerReopenHandler() {} diff --git a/internal/ui/tray.go b/internal/ui/tray.go index 9fce008..81ba884 100644 --- a/internal/ui/tray.go +++ b/internal/ui/tray.go @@ -63,7 +63,6 @@ func (a *App) setupTray() { fyne.NewMenuItem(i18n.T("TrayShowWindow"), func() { a.windowHidden = false activateApp() - showDockIcon() a.window.Show() a.window.RequestFocus() }), diff --git a/resources/Info.plist b/resources/Info.plist index 78fa5dc..8e5b9e5 100644 --- a/resources/Info.plist +++ b/resources/Info.plist @@ -32,7 +32,7 @@ NSHighResolutionCapable LSUIElement - + NSAppTransportSecurity NSAllowsArbitraryLoads