Theme-switching ran systemctl --user restart waybar.service, which tears down waybar's wayland layer-shell surface and creates a new one back-to-back. Hyprland needs a frame to clear the destroyed surface; the new instance attaches its surface immediately, so for a frame or two the old waybar pixels remain visible behind/under the new bar - the "artifacts and old colors on top of new" symptom most visible on the fresh compositor of the live ISO. Switch to SIGUSR2 reload, which makes waybar re-read config.jsonc and CSS (including @import-ed files like ~/.config/nomarchy/current/theme/ waybar.css that theme-switch rewrites) without destroying the surface. Full systemctl start is kept for the cold-start case. Drive-by: replace the `systemctl list-unit-files` presence check with `systemctl cat` - list-unit-files returns 0 even on no-match, so the old check would always pick the systemctl branch and never fall through to the pkill fallback on systems where waybar isn't a systemd unit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1007 B
Executable File
1007 B
Executable File