From fcdb1df71d9cebfad65bdfa0855d9dd8940a9721 Mon Sep 17 00:00:00 2001 From: richblack Date: Wed, 5 Aug 2026 01:41:31 +0800 Subject: [PATCH] =?UTF-8?q?t194=20=E4=BA=8C=E4=BF=AE=EF=BC=9A=E6=89=98?= =?UTF-8?q?=E7=9B=A4=20icon=EF=BC=8F=E5=8F=B3=E9=8D=B5=E9=81=B8=E5=96=AE?= =?UTF-8?q?=EF=BC=8F=E9=87=8D=E8=A4=87=E9=BB=9E=E6=93=8A=EF=BC=8F=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E7=B5=90=E6=9D=9F=EF=BC=88leo=20=E5=AF=A6=E6=B8=AC?= =?UTF-8?q?=E5=9B=9B=E9=BB=9E=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit leo 真機測出四個問題,每個都查到真兇後才動手: ## ① 托盤 icon 變方塊 真兇:我塞 1024x1024 的**彩色 app icon** 當 template icon。 macOS 選單列規格是 **16-22pt、純黑+alpha**(由系統依深淺色自動上色) ⇒ 彩色大圖被縮成一坨方塊是必然。 修:用 CIS 的 chevron-double.svg 渲成 44x44 純黑 template icon。 ## ②③ 右鍵沒選單/第一次能開之後就不再跳 真兇(energye/systray 原始碼註解白紙黑字寫著): 「該方法主動調用後 如果托盤菜單已創建則添加進去, **之後鼠標事件失效**」 ⇒ 只要用 AddMenuItem 建了選單,SetOnClick/SetOnRClick **全部失效**。 修:SetMenuNil() 移除選單讓滑鼠事件生效,右鍵時自己 ShowMenu()。 另外 ShowWindow 只呼叫 WindowShow 對「已開但被蓋住」無效 ⇒ 補 Unminimise + AlwaysOnTop 閃一下搶焦點。 ## ④ 只能用強制結束 真兇:Wails 的 loop 不理 SIGTERM,且 collector 是我們自己 Start 的子行程 ⇒ 主程式被殺後**子行程變孤兒繼續跑**。 實測(機械驗證,非目視): 修前 kill -TERM → App 沒退、collector 孤兒還在 修後 kill -TERM → App 正常退出 ✅、collector 一起收掉 ✅、殘留 0 修:installSignalHandler 收 TERM/INT → stopSupervisor() → waitCollectorGone(3s) 確認子行程真的不見(逾時補一刀)→ 才 os.Exit。 「關了卻還在同步」比沒關更糟。 實跑驗證:App 活著 pid 88466、自己拉起 collector、crash 0、兩支機械閘全過。 --- cmd/arcrun-app/app.go | 16 +++++++-- cmd/arcrun-app/build/trayicon.png | Bin 33422 -> 358 bytes cmd/arcrun-app/main.go | 24 ++++++++++--- cmd/arcrun-app/supervise.go | 55 ++++++++++++++++++++++++++++++ 4 files changed, 88 insertions(+), 7 deletions(-) diff --git a/cmd/arcrun-app/app.go b/cmd/arcrun-app/app.go index 9ffcfb0..abdc49a 100644 --- a/cmd/arcrun-app/app.go +++ b/cmd/arcrun-app/app.go @@ -365,9 +365,21 @@ func (a *App) OpenURL(u string) { runtime.BrowserOpenURL(a.ctx, u) } // 🔴 leo 2026-08-05:「**點擊托盤的 icon 就立刻展開界面**」 // ⇒ 左鍵不彈選單、直接開窗(Google Drive 的行為)。 func (a *App) ShowWindow() { - runtime.WindowShow(a.ctx) + // 🔴 leo 實測③:「第一次點擊可以開啟,然後再點擊托盤就**不再跳出**」。 + // 真兇有二:(a) 選單建了 ⇒ 滑鼠事件失效(見 setupTray 的 SetMenuNil) + // (b) 視窗其實還在、只是被蓋住或最小化 ⇒ 只呼叫 WindowShow 沒有效果。 + // ⇒ 三個都做:取消最小化、顯示、**強制帶到最前面**。 runtime.WindowUnminimise(a.ctx) + runtime.WindowShow(a.ctx) + runtime.WindowSetAlwaysOnTop(a.ctx, true) + runtime.WindowSetAlwaysOnTop(a.ctx, false) // 只用來搶焦點,不真的釘在最上層 } // Quit 真的結束程式(=停止看守)。只有托盤右鍵那一項會呼叫。 -func (a *App) Quit() { runtime.Quit(a.ctx) } +// +// 🔴 leo 實測④:「**用強制結束把它關掉才能測試**」——代表沒有一條正常的結束路徑。 +// 這裡先停掉 collector 子行程再關 App,否則子行程會變孤兒繼續跑。 +func (a *App) Quit() { + stopSupervisor() + runtime.Quit(a.ctx) +} diff --git a/cmd/arcrun-app/build/trayicon.png b/cmd/arcrun-app/build/trayicon.png index 0c7ad4f749ef61e65eefbf0c69310a5ce6c43f7e..9eb591d22e0916d7a06885f6f7c7397c2bc6c393 100644 GIT binary patch literal 358 zcmV-s0h#`ZP)5%?M(q+>yo2?HMnNz%#WG2|%80osv+?1*G2#2i&-jn@I zr<%2DiG9@{-9by)tB?)ZkPX?8{oAs2BePd><`KuZOzic2jpHH{9O0&o;3A|hQc{(j zr+7E9(l$sje^pf{o0Cg-E}Juw{*kF-?3ZMNAPClkPihZYf6?Cnxc~qF07*qoM6N<$ Eg27*#AOHXW literal 33422 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 0 +}