From b46dfa56504f62ecf969914dfed106bf587c4c4a Mon Sep 17 00:00:00 2001 From: srdusr <99972264+srdusr@users.noreply.github.com> Date: Sun, 14 Sep 2025 23:04:00 +0200 Subject: Docs: master TODO/DEFAULTS/status updates, feature-gap survey, lockfile docs/TODO.md is this shift's single consolidated pending-work list (see its own header for why it exists alongside PANEL_SUPPORT_TODO.md/ SESSION_HANDOFF.md rather than replacing them) - every commit in this batch has its own dated entry there with the full root-cause/ verification narrative. docs/DEFAULTS.md corrected against the real config engine and extended for every new general.* key this shift added (aspect_ratio rule action, phone_mode). docs/FEATURE_GAP.md is a new survey against niri/Hyprland/sway, requested directly. docs/ IMPLEMENTATION_STATUS.md and docs/PRIOR_ART.md updated to match. Cargo.lock reflects the new resvg/usvg/tiny-skia dependencies (real icon-theme SVG rendering). --- docs/IMPLEMENTATION_STATUS.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'docs/IMPLEMENTATION_STATUS.md') diff --git a/docs/IMPLEMENTATION_STATUS.md b/docs/IMPLEMENTATION_STATUS.md index 6fe207b..d9362aa 100644 --- a/docs/IMPLEMENTATION_STATUS.md +++ b/docs/IMPLEMENTATION_STATUS.md @@ -1,7 +1,8 @@ # Implementation status -This mirrors the style of the legacy C++ project's own status doc (now at -`legacy-cpp/docs/IMPLEMENTATION_STATUS.md`), but for the Rust rewrite. +This mirrors the style of the project's own earlier C++ status doc (that +codebase has since been removed - see `docs/PRIOR_ART.md` for what it was +and why it was replaced; git history still has it if anyone needs it). "Verified" means: built with `cargo test --workspace` (0 warnings under `cargo clippy --workspace`) and, where applicable, actually run and observed doing the thing described - not just "the code compiles and looks right." @@ -71,6 +72,17 @@ doing the thing described - not just "the code compiles and looks right." translated from Lua combo strings via a hand-maintained keysym table (`crates/x11/src/keysyms.rs`, letters/digits/navigation/F-keys/media keys; not a full xkbcommon keymap). +- Right-click titlebar window menu (minimize/maximize/fullscreen/floating/ + always-on-top/move-to-workspace/close), same row set as the Wayland + backend's own (`srdwm_core::context_menu`, shared between both) -- + drawn into a small override-redirect popup window with a root-window + pointer grab for "click anywhere else dismisses" (`crates/x11/src/ + platform/context_menu.rs`). Live-verified under an isolated Xvfb + instance. +- `_NET_WM_STRUT`/`_NET_WM_STRUT_PARTIAL` read from any mapped window + (including override-redirect bars/docks), shrinking each monitor's own + usable rect the same way the Wayland backend's layer-shell exclusive + zones already do (`crates/x11/src/platform/struts.rs`). - **Verified live**: run under Xephyr with the shipped example config, an `xterm` client was correctly reparented (frame at the exact `SmartPlacement`-computed position, client offset by exactly -- cgit v1.2.3