From d7fac4bbf607a894219065dc9b87f6d495d9ebab Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Wed, 13 May 2026 13:43:36 +0100 Subject: feat(sway): browser-aware idle inhibits + post-resume lock grace Two related session-idle improvements: 1. ScreenSaver inhibit bridge. Browsers (LibreWolf/Chromium flatpaks) ask the session not to idle via the legacy org.freedesktop.ScreenSaver D-Bus API during video calls and fullscreen video; swayidle only honors logind's BlockInhibited property. Add inhibridge as a user unit to translate the former into the latter, so e.g. a Google Meet tab now keeps the screen from locking, dimming and (downstream) suspending. 2. Post-resume grace period. Locking on before-sleep meant every wake demanded the password even for a quick check. Replace with: before-sleep -> only pause media after-resume -> resume-lock-grace.sh 30 The grace script runs a one-shot swayidle that locks iff the user stays idle for 30s after the wake, with a watchdog that exits as soon as swaylock comes up (or after a hard cap) so it never lingers alongside the main swayidle. The 5-min main idle-lock and explicit loginctl lock-session paths are unchanged. --- meta/base.txt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'meta') diff --git a/meta/base.txt b/meta/base.txt index 2ee74bd..dae2d3f 100644 --- a/meta/base.txt +++ b/meta/base.txt @@ -168,6 +168,10 @@ poweralertd # Lock screen swaylock swayidle +# Bridge browsers' org.freedesktop.ScreenSaver inhibits to systemd-inhibit +# so swayidle honors them (e.g. video calls, fullscreen video). Without +# this swayidle would still time out and lock during a Meet call. +inhibridge # Clipboard wl-clipboard -- cgit v1.3.1