From dd32774e861f30d9ea46f1252d53f370b59ad8af Mon Sep 17 00:00:00 2001 From: iris Date: Thu, 21 May 2026 19:34:10 +0200 Subject: [PATCH] weston-vnc: disable idle blank + lock screen (idle-time=0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The VNC desktop faded to black after weston's default 300s idle timeout, and on wake desktop-shell showed its click-to-unlock lock screen (a green circle) — pointless for an agent desktop viewed over /screen, and confusing for the operator (issue #180). Add [core] idle-time=0 to the generated weston.ini. Verified against weston 14.0.1: idle-time parses to compositor->idle_time, and weston_compositor_wake arms the idle timer with idle_time*1000 ms; 0 ms makes wl_event_source_timer_update disarm the timer, so the compositor never transitions to IDLE and desktop-shell never locks. closes #180 --- nix/templates/weston-vnc.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nix/templates/weston-vnc.nix b/nix/templates/weston-vnc.nix index 5dc5336..7cd6068 100644 --- a/nix/templates/weston-vnc.nix +++ b/nix/templates/weston-vnc.nix @@ -128,8 +128,15 @@ # # --disable-transport-layer-security prevents the VeNCrypt TLS # wrapper; plain auth types (incl. type 30) are advertised directly. + # [core] idle-time=0 disables weston's idle timeout (default + # 300s). Without it the VNC desktop fades to black after 5 min + # idle and desktop-shell shows its click-to-unlock lock screen + # — useless for an agent desktop viewed over /screen (issue + # #180). idle-time=0 → the idle timer is updated with a 0ms + # delay, which wl_event_source_timer_update treats as "disarm", + # so the compositor never goes idle and never locks. WESTON_INI=$(${pkgs.coreutils}/bin/mktemp /tmp/weston-XXXXXX.ini) - ${pkgs.coreutils}/bin/printf '[vnc]\nauth-method=none\n' > "$WESTON_INI" + ${pkgs.coreutils}/bin/printf '[core]\nidle-time=0\n\n[vnc]\nauth-method=none\n' > "$WESTON_INI" exec ${pkgs.weston}/bin/weston \ --config="$WESTON_INI" \