Skip to content

feat(desktop): start/stop recording from the app menu bar - #43

Merged
pranc1ngpegasus merged 1 commit into
mainfrom
claude/menu-bar-recording-start-v84cI
May 29, 2026
Merged

feat(desktop): start/stop recording from the app menu bar#43
pranc1ngpegasus merged 1 commit into
mainfrom
claude/menu-bar-recording-start-v84cI

Conversation

@pranc1ngpegasus

Copy link
Copy Markdown
Member

概要

メニューバー(アプリケーションメニュー)から録音を開始/停止できるようにしました。これまではウィンドウ内の Record ボタンからしか操作できませんでしたが、「Wisp」メニューと Cmd+R ショートカットからもトグルできます。

変更点

  • app_menu.rs
    • ToggleRecording アクションを追加し、ウィンドウ内 Record ボタンと同じ toggle_recording 状態機械を再利用。
    • Cmd+R キーバインドを追加。
    • メニュー項目のラベルがセッション状態に応じて 「Start Recording」⇄「Stop Recording」 に切り替わる。set_menus はネイティブメニュー全体を再構築するため、ラベルが実際に変化したときだけ(文字起こしの毎ティックではなく)cx.observe 経由で再設定。
  • main.rs
    • toggle_recordingpub(crate) に変更し、configure_app_menurecordings_dir を渡すよう更新。

メニュー構成:

Wisp
  About Wisp
  ─────────
  Start Recording / Stop Recording   (Cmd+R)
  ─────────
  Quit Wisp

補足: ステータスバー常駐アイコンについて

当初「メニューバー」には画面右上のステータスバー常駐アイコン(NSStatusItem)も含まれるか確認しましたが、今回は見送りとなりました。理由として、GPUI 0.2.2 には公開のステータスバー API が存在せず(内部に status_item.rs はあるが mod 未登録)、ワークスペースの unsafe_code = "deny" 方針下では外部クレート導入か unsafe 緩和が必要になるためです。必要であれば別 PR で対応します。

検証

  • cargo check -p wisp-desktop 成功(この環境ではリンク段階で libxkbcommon 不足のため最終リンクのみ失敗。型検査は通過)。
  • cargo clippy -p wisp-desktop --all-targets で新規 warning ゼロ(残る2件は本変更前から存在する graceful_stop_session 内の既存 warning)。

注: wisp-desktop は macOS 専用のため CI ではビルドされません(Linux CI は除外、macOS CI は wisp-audiokit のみ)。実機 macOS での動作確認を推奨します。

https://claude.ai/code/session_0118Bs8MoeabeihQ7swc9cfc


Generated by Claude Code

Add a recording item to the Wisp application menu (and a Cmd+R
shortcut) that toggles the session via the same state machine as the
in-window Record button. The label flips between "Start Recording" and
"Stop Recording" with the session state; the native menu is only
rebuilt when that label actually changes.
@pranc1ngpegasus
pranc1ngpegasus merged commit 20f40de into main May 29, 2026
2 checks passed
@pranc1ngpegasus
pranc1ngpegasus deleted the claude/menu-bar-recording-start-v84cI branch May 29, 2026 04:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants