From 021583489195dcee55bae74c1e122a9fee5fb182 Mon Sep 17 00:00:00 2001 From: Alexander Rosenberg Date: Wed, 4 Mar 2026 15:31:34 -0800 Subject: [PATCH] Fix swayidle-lock-screen with safeeyes --- swayidle-lock-screen | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/swayidle-lock-screen b/swayidle-lock-screen index bba1930..4570c3b 100755 --- a/swayidle-lock-screen +++ b/swayidle-lock-screen @@ -14,12 +14,21 @@ function has-rootful-xwayland-p { return 1 } +function safeeyes-running-p { + [[ "$(safeeyes --status)" = Next* ]] +} + function run { # ensure multiple instances do not run mkdir -p "${LOCKFILE:h}" exec 4<>"${LOCKFILE}" flock -n 4 || exit 0 dunstctl set-paused true + let need_restore_safeeyes=0 + if safeeyes-running-p; then + safeeyes --disable + need_restore_safeeyes=1 + fi if [[ "${XDG_CURRENT_DESKTOP}" == 'river' ]] && has-rootful-xwayland-p; then swaylock ${empty_flag} --color '#000000' else @@ -35,17 +44,16 @@ function run { swayidle -w -C /dev/null \ timeout 15 "${(q)ENABLE_DISPLAYS} -d ${ignored_args}" \ resume "${(q)ENABLE_DISPLAYS} {$ignored_args}" & - # after-resume "${(q)RESET_SAFEEYES}" \ swayidle_pid="${!}" else swayidle -w -C /dev/null \ timeout 15 "systemctl sleep" & - # after-resume "${(q)RESET_SAFEEYES}" \ swayidle_pid="${!}" fi swaylock ${empty_flag} ${img_flags} kill "${swayidle_pid}" fi + (( need_restore_safeeyes )) && safeeyes --enable dunstctl set-paused false fix_eww flock -u 4