diff options
| author | srdusr <[email protected]> | 2025-09-14 23:04:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2025-09-14 23:04:00 +0200 |
| commit | b46dfa56504f62ecf969914dfed106bf587c4c4a (patch) | |
| tree | aaeb47404ad0f5771198ac84ae1fb5afe34d1a99 /docs/PRIOR_ART.md | |
| parent | b219797e2143ea84cf527fbf48afb22cc35fe9a5 (diff) | |
| download | srdwm-b46dfa56504f62ecf969914dfed106bf587c4c4a.tar.gz srdwm-b46dfa56504f62ecf969914dfed106bf587c4c4a.zip | |
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).
Diffstat (limited to 'docs/PRIOR_ART.md')
| -rw-r--r-- | docs/PRIOR_ART.md | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/docs/PRIOR_ART.md b/docs/PRIOR_ART.md index 722e865..d0e3537 100644 --- a/docs/PRIOR_ART.md +++ b/docs/PRIOR_ART.md @@ -1,14 +1,16 @@ # Prior art -Two kinds of "prior art" shaped this rewrite: the legacy C++ codebase this -project itself started as, and the wider field of window managers/compositors -that solve pieces of the same problem. +Two kinds of "prior art" shaped this project: the C++ codebase it originally +started as, and the wider field of window managers/compositors that solve +pieces of the same problem. -## The legacy C++ codebase +## The original C++ codebase -`legacy-cpp/` (formerly the repo root) is preserved for reference. An -`Explore`-agent audit of it before the rewrite found it was mostly a design -skeleton rather than working software: +Removed from the tree (2026-08-26, on request - it had no working code left +to reference and this project is now far past what it was). Git history has +it if anyone ever needs to look. An `Explore`-agent audit of it, done before +it was replaced, found it was mostly a design skeleton rather than working +software: | Backend | Status | What was real | |---|---|---| @@ -18,7 +20,7 @@ skeleton rather than working software: | macOS (`macos_platform.cc`) | Mostly stub | Real Accessibility-permission request and `CGDisplay`-based monitor enumeration. Window move/resize were empty TODOs; the "overlay window" decoration idea was never implemented. | | Lua config (`lua_manager.cc`) | Partially functional | Scalar config get/set worked. `srd.bind()` stored the key-combo string but not the actual Lua closure - keybindings could never fire. `srd.window.focused()` returned a hardcoded placeholder table with no methods, so the shipped example config's `window:close()` would have errored at runtime. | -The Rust rewrite fixes these rather than porting them: see +This project fixes these rather than porting them: see `docs/IMPLEMENTATION_STATUS.md` for what's real now, and the module-level doc comments in `crates/x11/src/lib.rs` and `crates/wayland/src/lib.rs` for the specific bugs each backend's replacement corrects. @@ -35,7 +37,7 @@ informed a specific decision: - **[river](https://codeberg.org/river/river)** (Zig, Wayland, wlroots) -- configured via an external CLI/IPC protocol rather than an embedded scripting language. srdwm deliberately goes the other way (embedded Lua, - matching the project's own history and this rewrite's brief), but river is + matching the project's own history and direction), but river is a useful reminder that "protocol, not library" is a legitimate alternative to what this project does. - **[leftwm](https://github.com/leftwm/leftwm)** and @@ -75,5 +77,5 @@ informed a specific decision: focused window, `srd.window.focus("left")` for directional navigation, `srd.workspace.next()`) matches what `docs/DEFAULTS.md` always *documented* - but the legacy engine never actually implemented that - surface (see table above). This rewrite implements the documented API for + surface (see table above). This project implements the documented API for real rather than inventing a new one. |