`pkill -x waybar` matched only comm `waybar`, but the home-manager
wrapper launches the bar with comm `.waybar-wrapped` (arg[0] still
`waybar`), so the kill missed and left a stale bar drawing on the old
geometry after an unplug. Match both comms via an anchored ERE in both
the `monitor-hotplug` handler and `swapMonitors`.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A real DP/HDMI unplug makes Hyprland tear down the layer-shell surfaces on
the surviving monitor and not recreate them, so waybar and the wallpaper
vanish there. A SIGUSR2 reload rereads waybar's config but does not
recreate a bar that was already destroyed, so it left the laptop bar gone.
Kill and restart waybar instead — a fresh process enumerates the current
outputs and draws a bar on each — and add a settle delay before re-pushing
the wallpaper so it lands on the settled geometry. Verified against a real
DP-1 unplug: the LVDS-1 bar and wallpaper survive.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Hyprland drops the layer-shell surfaces on the remaining output when a
monitor is removed and does not recreate them, so waybar and the awww
wallpaper vanish on unplug. The socket2 watcher only reacted to
`monitoradded`, which masked it — reconnecting re-fired the add and
restored both. Handle `monitorremoved` too, and on either event re-push
the wallpaper and reload waybar (SIGUSR2 rebuilds its per-output bars).
Renamed `wallpaper-hotplug` to `monitor-hotplug` since it now does both.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
awww-daemon paints only the outputs present when `awww img` last ran and does
not repaint a monitor connected later, so it comes up on the daemon's black
fill — which a transparent foot then shows instead of the wallpaper. Add
`wallpaper-hotplug`: it watches Hyprland's event socket and re-runs `setbg`
(which pushes to all outputs) on each `monitoradded`.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
minimal keyboard-driven viewer; bundled mupdf backend covers PDFs out of the
box. yank selection to the wayland clipboard.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
new `modules/media.nix`: mpv (with mpv-gallery-view) for video/audio, imv for
images. imv key binds run per-file actions — copy path via `wl-copy`, rotate/
flip via `magick`, delete, open in gimp, show `mediainfo`. wallpaper via awww
plus a `setbg` wrapper (symlink to ~/.local/share/bg + live push); awww-daemon
and boot restore wired as hyprland exec-once. add mako as the notification
daemon backing the notify-send toasts.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>