diff options
| author | eunhhu <[email protected]> | 2026-09-26 10:57:03 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-26 10:57:03 +0100 |
| commit | f6be15d01ac184f070e1bb34af12689f68eb9140 (patch) | |
| tree | 4ebfac5e6baf066b58136c2f71a70ab007ea5f5d /src/width.c | |
| parent | 04e883a310fd3914d6f4294a92b08b3fe9f55686 (diff) | |
| download | vega-f6be15d01ac184f070e1bb34af12689f68eb9140.tar.gz vega-f6be15d01ac184f070e1bb34af12689f68eb9140.zip | |
Move the focus from a surface: clicks, the wheel, point
Only the app's key handlers could move a list's focus. When the focus
view is a plain index position (`view tasks_list_focus = at.position`),
Vega now asks Pure for that index and moves it as a user pointing at a
row (pure_app_point), with no code in the app. The grid remembers which
item each line shows; in the TUI a click on a row focuses it and the
wheel moves the focus one row (SGR mouse reports, turned off on exit).
Scripts say point VIEW ROW or click LINE COLUMN on the last shown frame.
The focus is stored like any event, so the next run of any surface
starts from it.
The model now points too: random scripts with points (some past the
end) and TUI clicks still match it on every surface, a mouse click on a
real pseudo-terminal moves the focus, and the stored session keeps it.
Diffstat (limited to 'src/width.c')
0 files changed, 0 insertions, 0 deletions
