mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-10-05 16:02:07 +00:00
The new-tab, sidebar, right-panel and app-menu tiles were on screen at all times, so a window resting at the edge of the eye carried four buttons nobody was reaching for. Each group now paints only while the pointer is over the bar it belongs to: the sidebar's two follow the rail, the trailing two follow the strip they sit in, and the collapsed rail's pair follows the strip as well. The window mark beside them stays put — it identifies the window rather than doing anything, and a window that loses its mark when nobody points at it reads as a different window. The tiles keep their place in the layout and only lose their paint, so revealing a group never shifts what is beside it. The reveal is a hover flag written by a transparent sheet laid over each region as its last child, not `group_hover` on the region itself. Group hover asks whether the group's hitbox is the one under the pointer, and gpui's hit test stops at the first occluding element on the way down — tab chips and the tiles themselves all occlude, so the region stopped counting as hovered the instant the pointer reached the button it was revealing, and the button vanished from under the cursor. Dropping `occlude()` from the tiles is not the way out either: they sit on the title bar's drag area, and Windows resolves WM_NCHITTEST against the whole hit list, so an unoccluded tile becomes draggable chrome and stops taking clicks. Painted last, the sheet's own hitbox sits in front of everything in the region and blocks nothing, because it is not opaque. Claude-Session: https://claude.ai/code/session_01Mnerr8RZ23Nd4cxyfeqxiu