From 33fb3bb611fb8b3151105b360d09de5ae8da7b03 Mon Sep 17 00:00:00 2001 From: DeeJanuz <45082401+DeeJanuz@users.noreply.github.com> Date: Sat, 3 Oct 2026 09:21:09 -0600 Subject: [PATCH] update-check: KWin's blur and contrast effect ids, retest hints The session now turns KWin's blur and contrast effects off by id (blurEnabled and contrastEnabled in the desktop's kwinrc), and a KWin that renamed them would quietly leave them on. The check looks for their built-in factories (KWin::blur_factory, KWin::contrast_factory) in kwin_wayland, which it already reads for --output-count, and warns if one is gone. The kwin and plasma-workspace retest hints gain the blur and the hidden autostart entries. Co-Authored-By: Claude Opus 5.5 --- scripts/update-check.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/scripts/update-check.py b/scripts/update-check.py index f64323a..7af6175 100755 --- a/scripts/update-check.py +++ b/scripts/update-check.py @@ -46,8 +46,9 @@ PACKAGES = { "deckard-steamvr-rel": "the 3D mouse on the dashboard, on SteamVR Settings, and on a SteamVR " "window's grab bar; picking up a controller; mapped controller buttons; gaze", "kwin": "clicks near the far edge of a screen whose scale isn't 1; every screen comes back " - "after a desktop restart; floating a window", - "plasma-workspace": "the taskbar and panels after a desktop restart", + "after a desktop restart; floating a window; no blur behind the taskbar's menus", + "plasma-workspace": "the taskbar and panels after a desktop restart; no DiscoverNotifier or " + "ibus-daemon inside the desktop", "gamescope": "the headset's volume buttons with nothing focused; typing goes where you last clicked", "bluez": "a Bluetooth mouse reconnecting after it sleeps", } @@ -176,14 +177,21 @@ def check_host(): try: with open("/usr/bin/kwin_wayland", "rb") as f: - # Qt keeps the option name as a UTF-16 string literal. - output_count = "output-count".encode("utf-16-le") in f.read() + kwin = f.read() except OSError: - output_count = False - if output_count: + kwin = b"" + # Qt keeps the option name as a UTF-16 string literal. + if "output-count".encode("utf-16-le") in kwin: report("ok", "KWin", "has --output-count (one output per screen)") else: report("FAIL", "KWin", "no --output-count option: the desktop gets one screen at most") + # The session turns these built-in effects off by id (blurEnabled, contrastEnabled in kwinrc). + gone = [e for e in ("blur", "contrast") if b"KWin::%s_factory" % e.encode() not in kwin] + if not gone: + report("ok", "KWin effects", "blur and contrast, which the desktop turns off, keep their ids") + else: + report("warn", "KWin effects", f"no built-in {', '.join(gone)} effect: renamed? The desktop's " + "kwinrc may no longer turn it off (session/frametop-session.sh)") if systemctl("cat", "steamvr.service"): report("ok", "steamvr.service", "Frametop's services start and stop with it")