Follow-up to the GTK→ShellApp event-dispatch migration. Parent: #448 (regression from #540). Related: #544, #546, #549, #477.
Summary
With a single tab group open, clicking a tab does not activate it, and clicking the tab's × does not close it. As soon as the layout has two or more tab groups, tab clicks (activate + close) work again.
Repro
- Open the app with a single tab group (default).
- Open 2+ files so multiple tabs show in that one group.
- Click a non-active tab → nothing happens (should activate).
- Click a tab's × → nothing happens (should close).
- Split the editor into a second tab group → tab clicks now work in both groups.
Root-cause hint
The single-group vs split-group tab-bar paths diverge, and the single-group branch's hit regions appear not to be computed/registered on the new ShellApp click dispatch:
src/gtk/click.rs:44 (tab-bar height + click routing)
render::compute_tab_bar_hit_regions() / cached TabBar layout
#549 tracks unifying the split/single draw-loop duplication; this is the click-side counterpart of the same divergence.
Related
Acceptance
Single-group tab activate + close work via mouse; add a TuiDriver/black-box test that opens one group and asserts a tab click changes the active tab and the × closes it.
Follow-up to the GTK→ShellApp event-dispatch migration. Parent: #448 (regression from #540). Related: #544, #546, #549, #477.
Summary
With a single tab group open, clicking a tab does not activate it, and clicking the tab's × does not close it. As soon as the layout has two or more tab groups, tab clicks (activate + close) work again.
Repro
Root-cause hint
The single-group vs split-group tab-bar paths diverge, and the single-group branch's hit regions appear not to be computed/registered on the new ShellApp click dispatch:
src/gtk/click.rs:44(tab-bar height + click routing)render::compute_tab_bar_hit_regions()/ cachedTabBarlayout#549 tracks unifying the split/single draw-loop duplication; this is the click-side counterpart of the same divergence.
Related
compute_tab_bar_hit_regions()/ cached TabBar layout for hit boundsAcceptance
Single-group tab activate + close work via mouse; add a
TuiDriver/black-box test that opens one group and asserts a tab click changes the active tab and the × closes it.