Skip to content

Add Far Manager-style F9 menu, license CI, search dialog z-fix#21

Merged
bluestreak01 merged 2 commits intomasterfrom
vi_menu
Apr 16, 2026
Merged

Add Far Manager-style F9 menu, license CI, search dialog z-fix#21
bluestreak01 merged 2 commits intomasterfrom
vi_menu

Conversation

@bluestreak01
Copy link
Copy Markdown
Member

@bluestreak01 bluestreak01 commented Apr 16, 2026

Summary

  • F9 menu system: Far Manager-style dropdown menu bar with five categories (Left, File, Command, Options, Right) that organizes all shortcuts into a discoverable hierarchy. Supports keyboard navigation (arrows, Enter, Esc) and mouse clicks on both the menu bar and dropdown items. Left/Right menus show current sort mode with a indicator and allow setting sort per-panel directly. Sort cycling moves to Ctrl+F9.
  • License CI check: Adds cargo-deny license checking to CI via deny.toml, ensuring all dependencies remain Apache-2.0 compatible.
  • Search dialog z-order fix: Moves Ctrl+S file search dialog rendering after bottom panels (CI, diff, shell, Claude, SSH) so it draws on top instead of being painted over.
  • Dark theme contrast: Bumps QuestDB Dark theme selection background from rgb(46,39,64) to rgb(74,50,100) for better highlight visibility in menus and dialogs.

New files

  • src/ui/menu.rs — menu data, rendering, click detection, sort indicator, 14 tests
  • deny.toml — cargo-deny license allowlist

Changed files

  • src/action.rs — new OpenMenu, SortByName/Size/Date(side) actions
  • src/app.rsMenuState, key/mouse interception, action dispatch
  • src/panel/mod.rsset_sort(field) method
  • src/ui/mod.rs — menu overlay rendering, search dialog z-order fix
  • src/ui/footer.rs — F9 label: Sort → Menu
  • src/ui/help_dialog.rs — F9 → Menu in Application section, Ctrl+F9 → sort in File Operations
  • src/theme.rs — dark theme selection bg contrast bump
  • .github/workflows/ci.yml — license check job

Test plan

  • F9 opens menu bar, Esc/F9 closes it
  • Arrow keys navigate categories and items, Enter executes
  • Mouse click on menu titles opens/switches/closes menus
  • Mouse click on dropdown items executes the action
  • Click outside menu dismisses it
  • Left/Right menus show on current sort, selecting a sort changes it
  • Ctrl+F9 still cycles sort (name → size → date)
  • Ctrl+S search dialog renders on top of CI/shell panels
  • Dark theme: menu highlight is clearly visible
  • cargo deny check licenses passes
  • cargo test — 900 tests pass (14 new menu tests)

🤖 Generated with Claude Code

bluestreak01 and others added 2 commits April 16, 2026 05:14
…alog z-order fix

Introduces a dropdown menu bar (F9) with five categories—Left, File, Command,
Options, Right—organizing all keyboard shortcuts into a discoverable hierarchy.
The Left/Right menus show the current sort mode with a bullet indicator and let
users set sort per-panel. Sort cycling moves to Ctrl+F9.

Also adds cargo-deny license checking to CI (Apache-2.0 compatible deps only)
and fixes the Ctrl+S search dialog being painted over by bottom panels.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…mensions

- Clicking Search/Cancel buttons in Ctrl+S dialog now fires the action
- Clicking checkboxes in Ctrl+S dialog now toggles them
- Fix dropdown_click dimension mismatch with render (shared dropdown_rect)
- Use .get() for bounds-safe sort field lookup in is_active_sort
- Apply cargo fmt fixes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bluestreak01 bluestreak01 merged commit 38de7cc into master Apr 16, 2026
5 checks passed
@bluestreak01 bluestreak01 deleted the vi_menu branch April 16, 2026 23:15
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.

1 participant