nomarchy-menu:330 and nomarchy-launch-screensaver:16 referenced
\$NNOMARCHY_TOGGLE_SUSPEND and \$NNOMARCHY_TOGGLE_SCREENSAVER with a
double-N. The real env vars injected by features/scripts/default.nix:69-73
are single-N. Both reads always resolved to the empty string, so:
- nomarchy.toggles.suspend = false; still showed "Suspend" in the
system menu (the condition is "!= false", so empty != false → true).
- nomarchy.toggles.screensaver = false; still launched the screensaver
on hypridle's 150s timeout (the gate "== false" never hit on empty,
so the early-exit was skipped).
Both toggles documented in docs/OPTIONS.md were vacuous in practice.
58 lines
1.6 KiB
Bash
Executable File
58 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Launch the Nomarchy screensaver in the default terminal on the system with the correct font configuration.
|
|
|
|
# Exit early if we don't have the tte show
|
|
if ! command -v tte &>/dev/null; then
|
|
exit 1
|
|
fi
|
|
|
|
# Exit early if screensave is already running
|
|
pgrep -f org.nomarchy.screensaver && exit 0
|
|
|
|
# Allow screensaver to be turned off but also force started
|
|
# Skip if screensaver is disabled in configuration
|
|
if [[ $NOMARCHY_TOGGLE_SCREENSAVER == "false" ]] && [[ $1 != "force" ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
|
|
# Silently quit Walker on overlay
|
|
walker -q
|
|
|
|
focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')
|
|
terminal=$(xdg-terminal-exec --print-id)
|
|
|
|
for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do
|
|
hyprctl dispatch focusmonitor $m
|
|
|
|
case $terminal in
|
|
*Alacritty*)
|
|
hyprctl dispatch exec -- \
|
|
alacritty --class=org.nomarchy.screensaver \
|
|
--config-file ~/.local/share/nomarchy/default/alacritty/screensaver.toml \
|
|
-e nomarchy-cmd-screensaver
|
|
;;
|
|
*ghostty*)
|
|
hyprctl dispatch exec -- \
|
|
ghostty --class=org.nomarchy.screensaver \
|
|
--config-file=~/.local/share/nomarchy/default/ghostty/screensaver \
|
|
--font-size=18 \
|
|
-e nomarchy-cmd-screensaver
|
|
;;
|
|
*kitty*)
|
|
hyprctl dispatch exec -- \
|
|
kitty --class=org.nomarchy.screensaver \
|
|
--override font_size=18 \
|
|
--override window_padding_width=0 \
|
|
-e nomarchy-cmd-screensaver
|
|
;;
|
|
*)
|
|
notify-send -u low "✋ Screensaver only runs in Alacritty, Ghostty, or Kitty"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
hyprctl dispatch focusmonitor $focused
|