diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index bbe7b33..65bbce2 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -10,6 +10,7 @@ if command -v tte &>/dev/null; then while pgrep tte >/dev/null; do if read -n 1 -t 0.01; then pkill tte 2>/dev/null + pkill -f "alacritty --class Screensaver" 2>/dev/null exit 0 fi done @@ -17,4 +18,3 @@ if command -v tte &>/dev/null; then else gum spin --title "Can't find tte. Try: pip install terminaltexteffects" -- sleep 2 fi - diff --git a/bin/omarchy-launch-screensaver b/bin/omarchy-launch-screensaver index 4617044..6b4dbff 100755 --- a/bin/omarchy-launch-screensaver +++ b/bin/omarchy-launch-screensaver @@ -1,5 +1,17 @@ #!/bin/bash -pgrep -f "alacritty --class Screensaver" || - alacritty --class Screensaver --title Screensaver -o 'colors.primary.background="#000000"' \ - -o 'colors.cursor.cursor="#000000"' -e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver +# exit early if screensave is already running +pgrep -f "alacritty --class Screensaver" && exit 0 + +focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name') + +for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do + hyprctl dispatch focusmonitor $m + hyprctl dispatch exec -- \ + alacritty --class Screensaver --title Screensaver \ + -o 'colors.primary.background="#000000"' \ + -o 'colors.cursor.cursor="#000000"' \ + -e ~/.local/share/omarchy/bin/omarchy-cmd-screensaver +done + +hyprctl dispatch focusmonitor $focused