メニュー・トレイのレシピ

アプリケーションメニューの作成、ショートカットキーの割り当て、右クリックメニュー、システムトレイへの常駐、トレイアイコンのメニューやクリック処理など、ネイティブメニュー周りのレシピです。

全 15 件 / 対象: Tauri 2.x

  1. 1 アプリケーションのメニューバーを作る Rust の Builder::menu() か JS の Menu.new() と setAsAppMenu() で「ファイル」「ヘルプ」などのメニューバーを作る。macOS の既定メニューやサブウィンドウへの付き方も示す。 更新日: 2026-09-12
  2. 2 チェックボックス付きのメニュー項目を作る CheckMenuItem(JS)と CheckMenuItemBuilder(Rust)でオン・オフを持つ項目を作る。クリック後の状態の読み方、Rust だけ既定がオンになる落とし穴、ラジオボタン風の排他選択も示す。 更新日: 2026-09-12
  3. 3 メニューにショートカットキーを割り当てる メニュー項目の accelerator に CmdOrCtrl+S などを指定し、キー操作でもクリックと同じ処理を呼ぶ。書式の規則、書き間違いが黙って無視される落とし穴、実行中の変更も示す。 更新日: 2026-09-12
  4. 4 メニューがクリックされた時の処理を書く JS の action か Rust の on_menu_event でメニューが選ばれた時の処理を書く。id での振り分け、Rust からページへの通知、対象ウィンドウの決め方、固まらない書き方も示す。 更新日: 2026-09-12
  5. 5 実行中にメニュー項目を変更する(無効化・文言の書き換え) setEnabled()・setText()(Rust は set_enabled()・set_text())で項目をグレーアウトしたり文言を変えたりする。menu.get() が直下しか探さない落とし穴と State での持ち方も示す。 更新日: 2026-09-12
  6. 6 コピー・貼り付けなどの標準メニューを入れる PredefinedMenuItem(Rust はビルダーの copy() など)で、処理を書かずに切り取り・コピー・貼り付けや終了を入れる。OS ごとに使えない項目と、Linux で必要な linux-libxdo も示す。 更新日: 2026-09-12
  7. 7 右クリックメニュー(コンテキストメニュー)を出す Menu.new() で作ったメニューを contextmenu イベントで popup() し、右クリックした場所にネイティブのメニューを出す。要素ごとの出し分け、対象の渡し方、Rust の popup_menu() も示す。 更新日: 2026-09-12
  8. 8 システムトレイ(タスクトレイ)に常駐させる Rust の TrayIconBuilder や JS の TrayIcon.new() でトレイにアイコンを出し、ツールチップや画像を実行中に変える。Cargo の tray-icon 機能と、再読み込みでアイコンが増える落とし穴も示す。 更新日: 2026-09-12
  9. 9 トレイアイコンのメニューを作る MenuBuilder(Rust)や Menu.new()(JS)で作ったメニューをトレイに付け、押された項目を ID で処理する。チェック項目・サブメニュー・実行中の文言変更と Linux の制約も示す。 更新日: 2026-09-12
  10. 10 トレイアイコンがクリックされた時の処理を書く Rust の on_tray_icon_event や JS の TrayIcon.new() の action でトレイアイコンのクリックを受け、左クリックでウィンドウを出し入れする。押下と離上の二重発火や Linux の非対応も示す。 更新日: 2026-09-12
  11. 11 最小化ボタンでトレイに格納するようにする 最小化と × でウィンドウを隠し、トレイのアイコンだけを残す。最小化専用のイベントが無いため onResized と isMinimized() で検知する方法と、Rust の on_window_event 版を示す。 更新日: 2026-09-12
  12. 12 ウィンドウを持たない常駐アプリを作る 起動時にウィンドウを作らずトレイだけで動かし、必要なときだけ設定画面を開く。最後のウィンドウを閉じても終了させない prevent_exit() と、macOS で Dock から消す方法も示す。 更新日: 2026-09-12
  13. 13 Windows と macOS でメニューを出し分ける macOS はアプリ名のメニュー、Windows・Linux は「ファイル」から始める慣習に合わせてメニューを組む。os プラグインの platform() と Rust の cfg での判定、About・設定・終了の置き場所を示す。 更新日: 2026-09-12
  14. 14 メニューバーを非表示にする Rust の hide_menu()・show_menu() で Windows・Linux のメニューバーを隠す・戻す。JS から切り替えるコマンド、サブウィンドウから外す remove_menu()、macOS で使えない点も示す。 更新日: 2026-09-12
  15. 15 自作のタイトルバーにメニューを組み込む 自作タイトルバーに「ファイル」「編集」のボタンを置き、Submenu の popup() でボタンの真下に OS 標準のメニューを開く。座標の単位、入力欄のフォーカスの保ち方、macOS での置き場所も示す。 更新日: 2026-09-12