Menu Bar & Shortcuts
デスクトップアプリにおけるメニューバー、コンテキストメニュー、キーボードショートカット、コマンドパレットの設計仕様。
Menu Bar
メニューバー
アプリケーションの全機能へのアクセスポイント。各メニュー名にはアクセラレータキー
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
Standard Structure
標準メニュー構造
Senastra のデスクトップアプリはすべてこの基本メニュー構造を出発点とする。
アプリ固有のメニューは「表示」と「テーマ」の間に追加する。
Accelerator Keys
アクセラレータキー規則
メニュー名の括弧内の英字が Alt キーと組み合わせるアクセラレータ。
重複を防ぎ、直感的に一致する文字を選ぶ。
命名規則 「日本語名(英字)」 — 例: ファイル(F)
英字の選び方
1. 英語の頭文字: File→F, Edit→E, View→V, Help→H
2. 競合時は2文字目以降: Format→O, Paragraph→P
3. 日本語の頭文字は使わない(IME混乱のため)
下線表示 text-decoration: underline をアクセラレータ文字に適用
起動方法 Alt + 英字 でメニュー展開 → 矢印キーで移動 → Enter で実行
Context Menu
コンテキストメニュー
右クリックで表示。対象要素に応じた操作をまとめる。
クリップボード操作(切り取り/コピー/貼り付け)は常に含める。
右クリックでコンテキストメニューを表示
トリガー 右クリック / Shift+F10
表示位置 カーソル座標 (x, y) — 画面端で自動反転
最大項目数 10項目以下を推奨
危険操作(削除等) color: var(--color-error) を適用
閉じる条件 項目クリック / Escape / 外側クリック
アニメーション なし(即時表示)— コンテキストメニューは速度が命
Command Palette
コマンドパレット
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」→「新規ウィンドウ」
Keyboard Shortcuts
ショートカット一覧
全アプリ共通のショートカット。OS標準に従いつつ、
Senastra 独自の操作には一貫したキーバインドを割り当てる。
| 操作 | Windows / Linux | macOS |
| 一般 |
| コマンドパレット | CtrlK | ⌘K |
| 設定 | Ctrl, | ⌘, |
| キーボードショートカット | Ctrl/ | ⌘/ |
| 新規ウィンドウ | CtrlN | ⌘N |
| 新規タブ | CtrlT | ⌘T |
| タブを閉じる | CtrlW | ⌘W |
| ウィンドウを閉じる | AltF4 | ⌘Q |
| 編集 |
| 元に戻す | CtrlZ | ⌘Z |
| やり直し | CtrlShiftZ | ⌘ShiftZ |
| 切り取り | CtrlX | ⌘X |
| コピー | CtrlC | ⌘C |
| 貼り付け | CtrlV | ⌘V |
| すべて選択 | CtrlA | ⌘A |
| 検索 | CtrlF | ⌘F |
| 置換 | CtrlH | ⌘H |
| 複製 | CtrlD | ⌘D |
| ファイル |
| 開く | CtrlO | ⌘O |
| 保存 | CtrlS | ⌘S |
| 名前を付けて保存 | CtrlShiftS | ⌘ShiftS |
| エクスポート | CtrlE | ⌘E |
| 印刷 | CtrlP | ⌘P |
| 表示 |
| サイドバー切替 | CtrlB | ⌘B |
| 拡大 | Ctrl+ | ⌘+ |
| 縮小 | Ctrl- | ⌘- |
| ズームリセット | Ctrl0 | ⌘0 |
| フルスクリーン | F11 | ⌃⌘F |
| ナビゲーション |
| 次のタブ | CtrlTab | ⌃Tab |
| 前のタブ | CtrlShiftTab | ⌃ShiftTab |
| タブ1〜9に移動 | Ctrl1〜9 | ⌘1〜9 |
| 戻る | Alt← | ⌘[ |
| 進む | Alt→ | ⌘] |
Key Cap Design
キーキャップの表示仕様
ショートカットキーの見た目。メニュー内、ツールチップ、ドキュメントで統一して使用する。
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修飾キー記号 ⌘ ⌥ ⌃ ⇧ (記号のみ、テキストは使わない)
Design Rules
ショートカット設計ルール
新しいアプリにショートカットを追加するときに従う原則。
✓ 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のユーザーが快適に使えることが前提。
Modifier Semantics
修飾キーの意味体系
修飾キーごとに「意味」を固定し、新しいショートカットを追加する際の判断基準にする。
| 修飾キー | 意味 | 例 |
| Ctrl / ⌘ |
実行。主要な操作のトリガー。 |
Ctrl+S=保存, Ctrl+N=新規 |
| Shift / ⇧ |
逆方向 / 拡張。既存操作の反転や追加オプション。 |
Ctrl+Z=戻す, Ctrl+Shift+Z=やり直し |
| Alt / ⌥ |
代替操作。通常操作のバリエーション。メニューアクセラレータ。 |
Alt+F=ファイルメニュー, Alt+←=戻る |
| CtrlShift |
上位操作。同カテゴリだが影響範囲が大きい操作。 |
Ctrl+S=保存, Ctrl+Shift+S=名前を付けて保存 |
| CtrlAlt |
特殊操作。頻度の低い専門機能。使用は最小限に。 |
アプリ固有の上級機能に限定 |