summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/kernel.cpp
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-13 21:00:21 +0900
committerAdam Malczewski <[email protected]>2026-06-13 21:00:21 +0900
commit494961f24861d2d771ced9927d0e897f0d95d03a (patch)
treee19bc49dc13d6bbbf628ac6ab97eaab18fb2282f /packages/kernel/src/kernel.cpp
parentbe5f67f7c7cf2710b0e73df5d92be98c758c47a4 (diff)
downloadunbox-494961f24861d2d771ced9927d0e897f0d95d03a.tar.gz
unbox-494961f24861d2d771ced9927d0e897f0d95d03a.zip
ext-stage-dock: transparent strip, surface hugs cards, fix re-minimize after empty
Builds on the kernel per-pixel-alpha + set_size-resize capabilities. - Transparent strip: body.dock background #1c1c1ee6 -> transparent, so the windows beneath show through everywhere the cards don't cover; cards keep their solid #2e2e32 panel. data-attr-src preview, Noto Sans, and the d1 slot-enter animation are intact. - Surface hugs the card stack: height = surface_height(count) = max(1, 2*pad + count*card + (count-1)*gap) (0->1px hidden, 1->140, 2->272, …), never the full output height, so the transparent area doesn't needlessly capture input. The empty dock is a positive 1px hidden placeholder (the substrate rejects 0 geometry); grows/shrinks via set_size on minimize/restore. - Fix: re-minimize after the dock empties was a no-op. do_restore relied on on_toplevel_focused re-firing, but a restored window was never seat-defocused, so focus() is a seat no-op and the event never fires — leaving focused_ stale, so the next Super+M's focused_ guard rejected it (a new toplevel mapping unstuck it). Fix: set focused_ = tl directly in restore. No kernel change. Tests: new policy cases (surface_height always positive; hug heights 0/140/272/536) and a glue minimize->restore->minimize 1->0->1 cycle with has_focused() probe. ext-stage-dock 2/2 green on build + build-asan (no sanitizer reports). Real-seat verified: transparent strip, dock visible, cards float, re-minimize works. Edits confined to packages/ext-stage-dock/.
Diffstat (limited to 'packages/kernel/src/kernel.cpp')
0 files changed, 0 insertions, 0 deletions