breadbar/src
Breadway 3eada87c7d notifications: click-through-except-buttons input region + push-down entrance
surface::click_through set a completely empty input region on the toast
so every pointer event passed through -- including to the toast's own
action buttons and inline-reply entry. Replace it with
surface::set_hit_region(window, widgets), which sets the input region to
the union of the given widgets' rectangles instead of empty; everywhere
else on the surface stays click-through exactly as before.

popup.rs recomputes this via refresh_hit_region every time the card set
could have changed (shown, dismissed, expired -- routed through the one
dismiss() function) and keeps recomputing every frame for HIT_TRACK_MS
afterward, since a card's own entrance animation or the stack's
push-down reflow can still be moving a button on the frame the change
happens. collect_interactive walks the real widget tree for
GtkButton/GtkEntry rather than tracking a flat list, so it can't drift
out of sync with make_card's structure. build_window's connect_map
handles the first-map race the same way surface::click_through used to.

Also: spring_in_card grows a newly shown card's height from 0 to its
natural size via bread_theme::anim::spring_to (same technique as
main.rs's animate_drawer_height), so the existing stack gets pushed
down smoothly instead of jumping.

KeyboardMode::None is unchanged on the toast; history.rs's OnDemand
mode is untouched.

Still to do: the actual dismiss button in make_card (this commit wires
the mechanism that will hit-test it, but no card has one yet).
2026-08-31 15:45:25 +08:00
..
bar workspaces: squash and stretch the trail pill during switches 2026-08-31 15:45:25 +08:00
notifications notifications: click-through-except-buttons input region + push-down entrance 2026-08-31 15:45:25 +08:00
widgets Bind each bar to its output palette and finish the island chrome 2026-08-16 13:23:31 +08:00
launcher_command.rs capsule: accept the open event breadbox can actually emit 2026-08-31 15:45:25 +08:00
main.rs bar: odometer-roll the volume and battery chip digits 2026-08-31 15:45:25 +08:00
osd.rs osd: overshoot the volume/brightness fill before settling 2026-08-31 15:45:25 +08:00
panel.rs notifications: click-through-except-buttons input region + push-down entrance 2026-08-31 15:45:25 +08:00
screenshot.rs capsule: keyboard open, query modes, sections, and search-state geometry (phase 6c) 2026-08-31 15:45:25 +08:00
surface.rs notifications: click-through-except-buttons input region + push-down entrance 2026-08-31 15:45:25 +08:00
theme.rs notifications: click-through-except-buttons input region + push-down entrance 2026-08-31 15:45:25 +08:00