mirror of
https://github.com/wgtunnel/Nucleus.git
synced 2026-10-09 14:40:54 -07:00
Only the always-on-top half of tao's stacking API was bridged, so a window could never be pinned *below* the others — the wallpaper-level overlay a desktop widget needs. Wire set_always_on_bottom (HWND_BOTTOM on Windows, NSWindowLevel.BelowNormal on macOS, gtk_window_set_keep_below on X11) as TaoWindow.setAlwaysOnBottom plus a reactive alwaysOnBottom parameter on both DecoratedWindow composables, the window host and the Tao adapter. tao makes the two stacking requests mutually exclusive only in its WindowBuilder, not in its setters, so TaoWindow arbitrates the pair and the last call wins. It also tracks the requested mode to skip a redundant clear: on macOS both set_always_on_top(false) and set_always_on_bottom(false) reset the level to NSNormalWindowLevel, which would silently undo the other mode. Native Wayland reuses the existing per-feature warning — xdg-shell exposes no client-side stacking, so keep_below is a no-op there.