diff options
| author | Adam Malczewski <[email protected]> | 2026-06-15 18:43:40 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-15 18:43:40 +0900 |
| commit | db9753e6f42e43c08c43b848bc865aae97aa1655 (patch) | |
| tree | cd8cc5803987def7a4e4cf78baabfd3ed835cf1e /packages/kernel/tests/test_kernel.cpp | |
| parent | aeeda3135ddb4f1b633ccf2e46c4832b35888c7b (diff) | |
| download | unbox-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/tests/test_kernel.cpp')
0 files changed, 0 insertions, 0 deletions
