niri: native Sway-style scratchpad (replaces workspace minimize) #2
Reference in New Issue
Block a user
Delete Branch "feat/niri-scratchpad"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replaces the workspace-based minimize with a native Sway-style scratchpad built into niri, shipped as a patch + Arch package.
What changes
niri-patches/0001-scratchpad.patch— the Rust delta (5 commits) on pinned niri v26.04/8ed0da4. Reviewed separately at funman300/niri PR #1.pkg/niri-scratchpad/PKGBUILD— builds pinned niri + applies the patch;provides/conflictsniri;dependsmatchespacman -Qi niriexactly.niri/config.kdl— removes theworkspace "minimized"declaration and the+1offset;Mod+1..9->focus-workspace 1..9;Mod+M->move-window-to-scratchpad;Mod+Shift+M->scratchpad-show.install.sh— drops thewindow-restoresymlink; adds an idempotentniri-scratchpadbuild/install step.scripts/window-restore.py+ its test.Why
The old minimize used a declared
minimizedworkspace, which niri pins to index 1 — forcing a+1offset on everyMod+1..9bind and breaking on multi-monitor. A stash that is not a workspace removes all of that.Verification
115 layout unit tests pass; live IPC-driven acceptance against a nested patched niri passes (focus-release, show/hide/cycle, geometry-remembered, focus-it branch, close-while-stashed under real SIGKILL). Package builds cleanly producing /usr/bin/niri. Final whole-feature review: ready to merge.
Includes the design spec and implementation plan (docs/superpowers/).
Pull request closed