Menu Bar & Shortcuts

デスクトップアプリにおけるメニューバー、コンテキストメニュー、キーボードショートカット、コマンドパレットの設計仕様。

メニューバー

アプリケーションの全機能へのアクセスポイント。各メニュー名にはアクセラレータキー Alt+英字 を設定し、キーボードだけでも操作できるようにする。

Pulse Monitor — Dashboard
メニュー項目をクリックしてドロップダウンを確認
メニューバー高さ 32px
項目パディング 4px 10px
ドロップダウン角丸 8px (--radius-md)
ドロップダウンパディング 4px
メニュー項目パディング 6px 12px 6px 28px
チェックマーク位置 left: 8px
最小ドロップダウン幅 240px
セパレータマージン 4px 8px
フォントサイズ 13px (--text-sm)
ショートカット表示 JetBrains Mono 11px
ホバー遷移 80ms ease

標準メニュー構造

Senastra のデスクトップアプリはすべてこの基本メニュー構造を出発点とする。 アプリ固有のメニューは「表示」と「テーマ」の間に追加する。

アクセラレータキー規則

メニュー名の括弧内の英字が Alt キーと組み合わせるアクセラレータ。 重複を防ぎ、直感的に一致する文字を選ぶ。

命名規則 「日本語名(英字)」 — 例: ファイル(F)
英字の選び方
  1. 英語の頭文字: File→F, Edit→E, View→V, Help→H
  2. 競合時は2文字目以降: Format→O, Paragraph→P
  3. 日本語の頭文字は使わない(IME混乱のため)
下線表示 text-decoration: underline をアクセラレータ文字に適用
起動方法 Alt + 英字 でメニュー展開 → 矢印キーで移動 → Enter で実行

コンテキストメニュー

右クリックで表示。対象要素に応じた操作をまとめる。 クリップボード操作(切り取り/コピー/貼り付け)は常に含める。

右クリックでコンテキストメニューを表示
トリガー 右クリック / Shift+F10
表示位置 カーソル座標 (x, y) — 画面端で自動反転
最大項目数 10項目以下を推奨
危険操作(削除等) color: var(--color-error) を適用
閉じる条件 項目クリック / Escape / 外側クリック
アニメーション なし(即時表示)— コンテキストメニューは速度が命

コマンドパレット

Ctrl+K で起動する全機能検索。メニューを辿らず、 名前を入力するだけで目的の操作に到達できる。パワーユーザーの主要動線。

起動ショートカット Ctrl+K (全アプリ共通)
560px(中央配置、上部15vh)
角丸 12px (--radius-lg)
背景 var(--menu-bg) + backdrop-filter: blur(8px)
オーバーレイ rgba(0,0,0,0.4)
開くアニメーション 200ms ease-out — translateY(-8px)→0 + scale(.98→1) + fade
検索入力フォント 15px var(--font-sans)
結果の最大高さ 320px(スクロール)
キーボード操作 ↑↓ で移動, Enter で実行, Esc で閉じる
ファジー検索 ON — 「せてい」→「設定」、「nw」→「新規ウィンドウ」

ショートカット一覧

全アプリ共通のショートカット。OS標準に従いつつ、 Senastra 独自の操作には一貫したキーバインドを割り当てる。

操作Windows / LinuxmacOS
一般
コマンドパレットCtrlKK
設定Ctrl,,
キーボードショートカットCtrl//
新規ウィンドウCtrlNN
新規タブCtrlTT
タブを閉じるCtrlWW
ウィンドウを閉じるAltF4Q
編集
元に戻すCtrlZZ
やり直しCtrlShiftZShiftZ
切り取りCtrlXX
コピーCtrlCC
貼り付けCtrlVV
すべて選択CtrlAA
検索CtrlFF
置換CtrlHH
複製CtrlDD
ファイル
開くCtrlOO
保存CtrlSS
名前を付けて保存CtrlShiftSShiftS
エクスポートCtrlEE
印刷CtrlPP
表示
サイドバー切替CtrlBB
拡大Ctrl++
縮小Ctrl--
ズームリセットCtrl00
フルスクリーンF11F
ナビゲーション
次のタブCtrlTabTab
前のタブCtrlShiftTabShiftTab
タブ1〜9に移動Ctrl1919
戻るAlt[
進むAlt]

キーキャップの表示仕様

ショートカットキーの見た目。メニュー内、ツールチップ、ドキュメントで統一して使用する。

Default (メニュー内・インライン)
CtrlShiftK | K | F11 | Esc | | Enter | Space | Tab | Del
Large (ドキュメント・チートシート)
CtrlK | K
組み合わせの表記
同時押し: Ctrl+K → kbd間を詰め、+記号は省略可(メニュー内では省略)
連続押し: CtrlK CtrlS → 矢印(→)で区切る
高さ (default) 20px
高さ (large) 26px
横パディング 6px (default) / 8px (large)
最小幅 22px (default) / 28px (large)
フォント Inter 11px/12px, weight 500
背景 var(--kbd-bg)
ボーダー 1px solid var(--kbd-border)
角丸 4px (default) / 5px (large)
macOS修飾キー記号 ⌘ ⌥ ⌃ ⇧ (記号のみ、テキストは使わない)

ショートカット設計ルール

新しいアプリにショートカットを追加するときに従う原則。

✓ Do

OS標準を尊重する。Ctrl+C/V/X/Z/S/O/N/P/F/H/A は絶対に変えない。ユーザーの筋肉記憶を裏切らない。

✕ Don't

OS標準のキーバインドを上書きしない。「うちのアプリではCtrl+Sは検索」のような再定義は混乱の元。

✓ Do

修飾キーの意味を統一する。Ctrl=実行、Shift=逆方向/拡張、Alt=代替操作。この法則をアプリ全体で守る。

✕ Don't

3つ以上の修飾キーを要求しない。Ctrl+Alt+Shift+K のようなショートカットは覚えられない。最大2修飾キー+1キー。

✓ Do

メニューに必ずショートカットを併記する。ユーザーがメニューを使うたびに目に入り、自然に覚える。発見可能性(discoverability)が鍵。

✕ Don't

隠しショートカットを作らない。メニューにもヘルプにも載っていないショートカットは存在しないのと同じ。

✓ Do

Senastra の全アプリで同じ操作に同じキーを割り当てる。Ctrl+K=コマンドパレット、Ctrl+,=設定、Ctrl+B=サイドバー。これらは不変。

✕ Don't

アプリごとに同じキーに違う機能を割り当てない。アプリAでCtrl+D=削除、アプリBでCtrl+D=複製、は絶対にやらない。

✓ Do

Windows / macOS 両方のマッピングを定義する。Ctrl→⌘、Alt→⌥ の置き換えだけでなく、OS固有の慣習(macOSの⌃⌘F=フルスクリーン等)にも従う。

✕ Don't

片方のOSだけ考えて設計しない。クロスプラットフォームアプリでは両OSのユーザーが快適に使えることが前提。

修飾キーの意味体系

修飾キーごとに「意味」を固定し、新しいショートカットを追加する際の判断基準にする。

修飾キー意味
Ctrl / 実行。主要な操作のトリガー。 Ctrl+S=保存, Ctrl+N=新規
Shift / 逆方向 / 拡張。既存操作の反転や追加オプション。 Ctrl+Z=戻す, Ctrl+Shift+Z=やり直し
Alt / 代替操作。通常操作のバリエーション。メニューアクセラレータ。 Alt+F=ファイルメニュー, Alt+←=戻る
CtrlShift 上位操作。同カテゴリだが影響範囲が大きい操作。 Ctrl+S=保存, Ctrl+Shift+S=名前を付けて保存
CtrlAlt 特殊操作。頻度の低い専門機能。使用は最小限に。 アプリ固有の上級機能に限定
🔍
Esc
最近使った操作
設定
アプリケーション設定を開く
Ctrl,
テーマ: ダーク / ライト 切替
ファイル
+
新規ウィンドウ
CtrlN
📂
ファイルを開く...
CtrlO
💾
保存
CtrlS
エクスポート...
CtrlE
表示
サイドバー表示/非表示
CtrlB
フルスクリーン
F11
+
拡大
Ctrl+
ヘルプ
キーボードショートカット
Ctrl/
📖
ドキュメント