Aligns the third sleep path (power menu) with the lid handler and
the swayidle 30-min timer — all three now suspend immediately and
hibernate after HibernateDelaySec (30 min).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Spec said `findmnt -no UUID /` and `resume=UUID=` but the script
correctly uses PARTUUID throughout (matches the system's existing
root=PARTUUID= convention).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
If `findmnt -no PARTUUID /` returns nothing (root on LVM, no GPT,
unusual mount state) the script would silently write a broken
resume=PARTUUID= line to /etc/kernel/cmdline. Bail with an error
message instead.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Flameshot's portal-based capture path on niri triggers an
xdg-desktop-portal access prompt on every invocation, blocking
the screenshot itself. grim talks to wlr-screencopy directly and
never touches the portal, so no prompt.
Pipeline: slurp (region) → grim (capture) → satty (annotate +
copy + save). satty replaces the wofi action menu by being the
post-capture surface itself.
- scripts/screenshot.sh added
- install.sh symlinks it; flameshot.ini generator removed
- niri Mod+Print → "screenshot"
- packages.txt drops flameshot
- docs tables updated
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Both plans were generated during their respective implementation
runs but never committed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The "Tooling" tables in README.md and ARCHITECTURE.md still listed
grim + slurp after the flameshot swap.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The progress window for copy/move/delete operations is small and
transient — floating it stops it from taking over a column.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
map_profile_to_strategy never writes to stderr — the suppression was
silencing nothing real and would mislead a future reader.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Trailing commas added throughout and modules-right expanded to one
key per line. Semantically identical — waybar's JSONC parser accepts
trailing commas.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
starship is required by fish/config.fish (starship init fish | source)
but was missing — fresh installs would have a broken shell prompt.
swww was listed but the actually-installed wallpaper daemon is awww
(matching the niri/config.kdl change in the previous commit).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- swww-daemon → awww-daemon (swww is not installed; awww 0.12.0-1 is)
- polkit-gnome-authentication-agent-1 → absolute path; the binary
lives in /usr/lib/polkit-gnome/ which is not on PATH
Both daemons were silently failing to start at every login.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
scripts/autostart.sh was never symlinked or referenced — niri's
spawn-at-startup directives cover everything it launched.
mako/config is gitignored (install.sh generates it from
theme/colors.json) but was still tracked from the initial commit.
The stale ~/.config/mako/config symlink that pointed at the repo
caused install.sh's writes to land back in the repo. Removed both
so install.sh now correctly produces a real generated file in
~/.config/mako/.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The tray drawer added complexity (drawer config, custom chevron module,
state-feedback CSS) for what amounts to a small visual refinement.
Removed in favour of the original always-visible tray. The mouse-battery
indicator was also removed from the bar.
Deletes:
- waybar/mouse-battery.sh + symlink + install.sh entry
- group/tray-drawer + custom/mouse-battery blocks in config.jsonc
- #custom-tray-arrow rules from style.css
- docs/superpowers/{specs,plans} for the drawer feature
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
scripts/waybar-restart.sh: kills waybar, waits for it to exit, then
relaunches detached via setsid. Symlinked into ~/.local/bin and bound
to Mod+Shift+B in niri.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Plan was originally written assuming `transform: rotate` would work
in GTK 3 CSS; it doesn't. Spec was already updated in 1646dfc; this
brings the plan in line so historical readers see the same approach
across spec, plan, and code.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
No CSS rule targets .tray-drawer-child — speculative key with no
consumer. YAGNI cleanup.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
GTK 3 CSS (used by waybar) treats `transform` as a fatal parse error,
so the rotation approach killed waybar entirely. Use a color shift
from @tn-fg-muted to @tn-fg as the expanded-state feedback instead.
Matches the existing style.css convention (battery/cpu/temperature
states all use color shifts, not transforms).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
waybar 0.15.0's clock module reads PST instead of PDT, showing time
an hour behind. Replace with custom/exec calling date directly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>