Skip to content

Native menus driven by application commands - #64

Merged
1bye merged 5 commits into
mainfrom
codex/native-menus-13
Nov 12, 2026
Merged

1bye merged 5 commits into
mainfrom
codex/native-menus-13

Conversation

@1bye

@1bye 1bye commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Closes #13

Menu bar, dock and context-menu items reference registered application commands by stable ID and submit through the same scheduler as rake ctl commands run. Labels, availability, checks and keyboard shortcuts come from command presentation/state. Live updates rebuild menus and replace their bindings while preserving unrelated application bindings. Unknown IDs fail clearly before host startup or model replacement.

Guarded Quit now uses the shared menu model. Standard Services, Hide and native editing roles follow the pinned backend; About remains an application-owned command. Windows/Linux use supported backend surfaces, and Web validates declarations without installing menus or overriding browser shortcuts. The example demonstrates the same CLI/menu handler, checked state and an action that becomes enabled or disabled. Public API docs and docs/menus.md explain usage and platform limits.

Validation:

  • cargo test -p rake-app --features view-test-support (unit, integration, compile tests and 83 doctests)
  • Focused installed-menu/guarded-Quit tests and four public menu API tests
  • cargo test -p rake-app --no-default-features --lib
  • cargo check -p rake-app --lib --target wasm32-unknown-unknown
  • RUSTDOCFLAGS='-D warnings' cargo doc -p rake-app --no-deps
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo fmt --check, cargo run -p rake-app-cli -- format, cargo run -p rake-app-cli -- lint, and python3 scripts/check-spacing.py

Native menu tests use the test platform; manual window-system menu checks were not run. Backend limits, including the absence of a portable arbitrary native context-menu presenter, are documented.

CI is green on 23eac48793bdc19b9006d768410d1c65395037c5. Local worktree, branch, build artifacts and logs have been removed. The PR remains draft.

🤖 Generated with Claude Code

1bye and others added 3 commits November 12, 2026 13:44
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@1bye
1bye marked this pull request as ready for review November 12, 2026 15:15
1bye and others added 2 commits November 12, 2026 15:15
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@1bye
1bye merged commit be8e7a2 into main Nov 12, 2026
8 checks passed
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.

Native menus driven by application commands

1 participant