A menu bar across the top lets me browse and run every command by subject - #350
Open
a-team-app[bot] wants to merge 5 commits into
Open
a-team-app[bot] wants to merge 5 commits into
a-team-app[bot] wants to merge 5 commits into
Conversation
A one-row MenuBar above the sidebar and editor holds eight menus (File, Edit, Selection, View, Go, Diff, Review, Help), with every command that has a mnemonic in exactly one of them. Each item runs its command by id through RunLaunched, as the palette does, and shows its current key from the live bindings. F10 opens it through a new Show menu command, so it can be rebound; TG's own F10 hot key and the menus' bare-letter hot keys are removed so they can't open a menu behind the keybinding service. While a menu is open an empty key scope sits on top so arrows, Enter and Esc reach the menu. The region is captured as it opens and a picked command only runs where its key would. The close is handled on the next loop iteration: App.Invoke runs inline on the UI thread, and moving focus while TG is still shutting the popover switched the editor group to another tab. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
12 tasks
Contributor
Author
|
Windows CI failed twice here, in different editor scroll-bar resize tests ( |
TG 2.1.0's ANSI driver sends CSI 18 t every 500 ms and applies the answer through SetScreenSize. On the Windows runner the console answers 120x30, which overwrote the 80x20 the sideways-bar test had just set, so the bar never showed (failed twice on windows-latest). The test now pins its size: any other size the driver takes is put straight back. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Midnight, Daylight, Turbo Pascal and Modern Borland take the a-team dashboard's Menu scheme, hotkeys underlined. Modern Borland's bar there is the same cyan as TuiCode's explorer, so it's grey here instead. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The menus now follow the palette's rule: an item is live only in its command's scope, or Global, and when its isEnabled says yes. Disabled rather than hidden so menus keep a stable shape and never go empty. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A menu whose items are all greyed out where the keys are, such as Selection or Diff with no file open, now leaves the bar and the titles after it close up. It comes back as soon as one of its commands could run. TG's Bar lines up a hidden item with Pos.Align and keeps its place, so the menu is removed rather than hidden. Availability is re-checked on each focus move and every 250ms, since some isEnabled checks stat the disk. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A menu bar now runs across the top of the window:
File Edit Selection View Go Diff Review Help. You can browse every command by subject and run it with the keyboard (F10, orAlt+<letter>where the terminal delivers it) or the mouse. Each item shows its current key and follows a rebind in Settings. Show menu (F10) is listed in Settings › Keyboard Shortcuts and can be rebound there.Closes #340
Choices worth a look:
re) landed after the pitch's mapping. It's under View, after Show explorer.Ctrl+G l.Not done here: the task asks for a line in the TUI style guide saying a menu bar is how the app exposes its commands. That's a separate repo, so it needs its own change there.
AGENTS.mdis updated.Also here:
EditorScrollBarHostTestsfailed twice on Windows because the runner's console answers TG's periodic size query with 120×30, which undid the test's resize. Host tests can now pin their size (HostSteps.PinScreenSize). Only that test uses it for now. Other host tests on Windows are likely exposed to the same race.🤖 Generated with Claude Code
a-team try tuicode 350