From 03f04386ec411f5cff44ab873a4ca16acf40b6e7 Mon Sep 17 00:00:00 2001 From: robergd83 <84446625+robergd83@users.noreply.github.com> Date: Mon, 8 Dec 2025 10:27:07 +0100 Subject: [PATCH] Enable independent screensaver effects on multi-monitor setups (#3781) Updated the `omarchy-cmd-screensaver` script to allow screensaver effects to run independently on each monitor in multi-display configurations. Previously, the effect loop waited for all animations on all monitors to finish before starting the next effect. With this change, each monitor handles its own effect cycle independently, improving smoothness and responsiveness in multi-monitor setups. --- bin/omarchy-cmd-screensaver | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-cmd-screensaver b/bin/omarchy-cmd-screensaver index f02a92aa..9a0db812 100755 --- a/bin/omarchy-cmd-screensaver +++ b/bin/omarchy-cmd-screensaver @@ -20,13 +20,15 @@ printf '\033]11;rgb:00/00/00\007' # Set background color to black hyprctl keyword cursor:invisible true &>/dev/null +tty=$(tty 2>/dev/null) + while true; do tte -i ~/.config/omarchy/branding/screensaver.txt \ --frame-rate 120 --canvas-width 0 --canvas-height 0 --reuse-canvas --anchor-canvas c --anchor-text c\ --random-effect --exclude-effects dev_worm \ --no-eol --no-restore-cursor & - while pgrep -x tte >/dev/null; do + while pgrep -t "${tty#/dev/}" -x tte >/dev/null; do if read -rsn1 -t 1 || ! screensaver_in_focus; then exit_screensaver fi