From 17f664386994e6da3b8fe2d97f7c664cf26fe300 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 14 Sep 2026 10:43:15 +0200 Subject: feat(desktop): skeleton shell with the keepalive window The window draws nothing and catches nothing; it exists because a quickshell config with no visible window exits silently, and this shell's drawer is closed most of the time. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01We9zcHEH8ZWHPcQwMaJRNv --- desktop/shell.qml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 desktop/shell.qml (limited to 'desktop/shell.qml') diff --git a/desktop/shell.qml b/desktop/shell.qml new file mode 100644 index 0000000..abddf36 --- /dev/null +++ b/desktop/shell.qml @@ -0,0 +1,29 @@ +// Copyright (C) 2026 Danilo M. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +import Quickshell +import Quickshell.Wayland + +ShellRoot { + // Quickshell exits once no window is visible, and this shell's drawer is + // closed most of the time. A 1x1 transparent window with an empty mask + // holds the process open without drawing anything or catching a click. + // See AGENTS.md: without it the shell loads, reports no error, and quits. + PanelWindow { + visible: true + implicitWidth: 1 + implicitHeight: 1 + color: "transparent" + exclusionMode: ExclusionMode.Ignore + mask: Region {} + WlrLayershell.keyboardFocus: WlrKeyboardFocus.None + } +} -- cgit v1.2.3