macOS companion app
選單列圖示
選單列圖示狀態
作者:steipete · 更新日期:2025-12-06 · 範圍:macOS 應用程式 (apps/macos)
- 閒置: 一般圖示動畫(眨眼、偶爾擺動)。
- 已暫停: 狀態項目使用
appearsDisabled;沒有動作。 - 語音觸發(大耳朵): 語音喚醒偵測器在聽到喚醒詞時呼叫
AppState.triggerVoiceEars(ttl: nil),在擷取語句期間保持earBoostActive=true。耳朵會放大(1.9x),加入圓形耳孔以提升可讀性,接著在靜音 1 秒後透過stopVoiceEars()收回。只會從應用程式內的語音管線觸發。 - 工作中(代理正在執行):
AppState.isWorking=true會驅動「尾巴/腿部快跑」微動作:工作進行中時腿部擺動更快,並有輕微偏移。目前會在 WebChat 代理執行前後切換;當你接線其他長時間任務時,也請在其前後加入相同切換。
接線點
- 語音喚醒:執行階段/測試器在觸發時呼叫
AppState.triggerVoiceEars(ttl: nil),並在靜音 1 秒後呼叫stopVoiceEars(),以符合擷取視窗。 - 代理活動:在工作區段前後設定
AppStateStore.shared.setWorking(true/false)(WebChat 代理呼叫中已完成)。保持區段簡短,並在defer區塊中重設,以避免動畫卡住。
形狀與大小
- 基本圖示繪製於
CritterIconRenderer.makeIcon(blink:legWiggle:earWiggle:earScale:earHoles:)。 - 耳朵縮放預設為
1.0;語音增強會設定earScale=1.9並切換earHoles=true,且不改變整體框架(18×18 pt 範本影像會算繪到 36×36 px Retina 背板儲存區)。 - 快跑會使用最高約 ~1.0 的腿部擺動,並加入小幅水平抖動;它會加到任何既有閒置擺動上。
行為備註
- 耳朵/工作中沒有外部 CLI/broker 切換;請讓它維持在應用程式自身訊號的內部範圍,以避免意外反覆切換。
- 保持 TTL 簡短(<10 秒),如此當工作停住時,圖示能快速回到基準狀態。