summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/kernel.cpp
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-15 18:43:40 +0900
committerAdam Malczewski <[email protected]>2026-06-15 18:43:40 +0900
commitdb9753e6f42e43c08c43b848bc865aae97aa1655 (patch)
treecd8cc5803987def7a4e4cf78baabfd3ed835cf1e /packages/kernel/src/kernel.cpp
parentaeeda3135ddb4f1b633ccf2e46c4832b35888c7b (diff)
downloadunbox-db9753e6f42e43c08c43b848bc865aae97aa1655.tar.gz
unbox-db9753e6f42e43c08c43b848bc865aae97aa1655.zip
ext-window-field(rml-compositing): floating windows + resize-to-tile
Floating windows: move (titlebar), resize (two bottom corner grips), and a per- window close button. Per-window geometry (x,y,w,h,z) is bound STATE applied via data-style left/top/width/height + z-index; a pure, doctested geometry core (move / resize_bl / resize_br with anchored-opposite-edge + min-size, field clamp) computes drag results. Positioning uses left/top (NOT a transform: RmlUi's data-style does not apply a transform here the way it does left/top/width/height, and a transform would also offset the drag hit-test). z-order raise on focus; cascade placement from the client's own size. Resize-to-tile: a frame-pumped feedback loop configures each client to its on- screen box (Toplevel::set_size) so the live texture maps 1:1. Policy is config- driven -- [window-field] resize_mode = off|settle|continuous|debounced in unbox.toml, hot-reloaded; pure doctested config core. Windows are shown via <img data-attr-src> (NOT an RCSS image() decorator) so the kernel's surface-element input-back, click-to-focus, popup placement and box readback -- all keyed off the <img> src -- work. host-bin passes the config path + --rml-compositing (the latter selecting server- side decorations) through to the extensions. tasks.md records the wave.
Diffstat (limited to 'packages/kernel/src/kernel.cpp')
0 files changed, 0 insertions, 0 deletions