From 8f89239c788a1109786a3cab3fb4a5444d5c9b3e Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Thu, 19 Feb 2026 07:20:05 -0800 Subject: [PATCH] Inhibit idle lock for fullscreen windows on ringtail (#212) ## Summary - Adds `inhibit_idle fullscreen` window commands to sway config on ringtail - Covers both Wayland-native (`app_id`) and XWayland (`class`) windows - Prevents swayidle from locking the screen during gamepad-only gaming sessions where controller input isn't detected by the Wayland idle tracker ## Notes This is a blanket fullscreen inhibit. A more targeted approach (daemon monitoring `/dev/input` gamepad events) may be desired later to allow idle lock during long-running fullscreen apps like Factorio. ## Deployment and Testing - [ ] `mise run provision-ringtail` to deploy - [ ] Run a fullscreen app and verify swayidle doesn't lock after 15 minutes - [ ] Verify lock still activates when no fullscreen window is present Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/212 --- docs/changelog.d/sway-inhibit-idle-fullscreen.bugfix.md | 1 + nixos/ringtail/configuration.nix | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 docs/changelog.d/sway-inhibit-idle-fullscreen.bugfix.md diff --git a/docs/changelog.d/sway-inhibit-idle-fullscreen.bugfix.md b/docs/changelog.d/sway-inhibit-idle-fullscreen.bugfix.md new file mode 100644 index 0000000..309bd9e --- /dev/null +++ b/docs/changelog.d/sway-inhibit-idle-fullscreen.bugfix.md @@ -0,0 +1 @@ +Inhibit swayidle lock screen when a fullscreen window is active on ringtail, preventing screen lock during gamepad-only gaming sessions. diff --git a/nixos/ringtail/configuration.nix b/nixos/ringtail/configuration.nix index 1282c11..fd93c39 100644 --- a/nixos/ringtail/configuration.nix +++ b/nixos/ringtail/configuration.nix @@ -213,6 +213,10 @@ in window = { border = 2; titlebar = false; + commands = [ + { command = "inhibit_idle fullscreen"; criteria = { class = ".*"; }; } + { command = "inhibit_idle fullscreen"; criteria = { app_id = ".*"; }; } + ]; }; colors = { focused = {