feat(uia): all chrome buttons + settings controls in the tree (invokable)#52
Merged
Merged
Conversation
…ble)
Completes "iterate all controls with Caps+arrows": the UIA tree now includes
every chrome button and, when open, every settings control — each a focusable,
invokable Button element.
- Chrome buttons (Toggle sidebar, Next attention, Scratch terminal, Split pane,
Quick terminal, Settings, New workspace, New session, Flagged view) are root
children with screen rects from _titleButtons/_footerButtons.
- Settings dialog controls appear under a [Group "Settings"] while open, each
named with its value ("Scroll speed, 3", "Right-click pastes clipboard, on").
- New UiaButton element implements the Invoke pattern; UIA Invoke runs the same
action a click/keypress would (ChromeAction / the settings activation). Two
new node kinds (ChromeButton, SettingsControl/SettingsGroup).
Verified with a UIAutomationClient probe: the tree lists all 9 chrome buttons;
InvokePattern.Invoke() on the Settings button opens the dialog; the Settings
group then exposes every control with its value. 110/110 Core, 38/38 Pty.
Co-Authored-By: Claude Fable 5 <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.
Completes "why can't I iterate all my controls / buttons with Caps+arrows" — the UIA tree now includes every chrome button and, when open, every settings control, each a focusable, invokable Button.
What's in the tree now
UiaButtonelement implements the Invoke pattern — UIA Invoke runs the same action a click/keypress would (ChromeAction/ the settings activation)Verified (UIAutomationClient)
InvokePattern.Invoke()on the Settings button opens the dialog110/110 Core, 38/38 Pty. Pairs with #51 (keyboard focus/Tab inside the dialog).
🤖 Generated with Claude Code