Skip to content

Scroll pane, focus kept across frames, plain input focus - #2

Merged
yogthos merged 1 commit into
mainfrom
scroll-and-plain-input
Sep 24, 2026
Merged

yogthos merged 1 commit into
mainfrom
scroll-and-plain-input

Conversation

@yogthos

@yogthos yogthos commented Sep 24, 2026

Copy link
Copy Markdown
Member

Adds :scroll, a pane that scrolls its subtree by rows (wheel over it, follows the bottom, reports {:top :max :rows}). Keeps the focus on the widget that had it when a frame rebuilds a container. Drops the reverse-video focus style from the soft-wrapping input. Tests in render_test.

…rted input focus

yframe scrolls to the focused element, so a pane of plain rows could not be
scrolled and a pane of widgets scrolled wherever focus sat. :scroll scrolls by
rows, follows the bottom until scrolled, takes the wheel over it, and reports
{:top :max :rows} so an app can page it from its own keys.

A frame that rebuilt a container (a new sibling ahead of the focused widget,
or a container created where there was one child) moved the focus to the
first child. The widget that held the focus now gets it back.

The soft-wrapping input no longer renders in reverse video when focused; the
cursor already shows it.
@yogthos
yogthos merged commit 02e14b7 into main Sep 24, 2026
2 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.

1 participant