diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-14 10:43:15 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-14 10:46:48 +0200 |
| commit | 17f664386994e6da3b8fe2d97f7c664cf26fe300 (patch) | |
| tree | 78ecefb3abdc2758b90ffb32d57cc78b2295240c | |
| parent | 40b5d21277d70a327e4a7a48112d5226eea5569e (diff) | |
| download | quickshell-17f664386994e6da3b8fe2d97f7c664cf26fe300.tar.gz quickshell-17f664386994e6da3b8fe2d97f7c664cf26fe300.zip | |
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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01We9zcHEH8ZWHPcQwMaJRNv
| l--------- | desktop/Theme.qml | 1 | ||||
| -rw-r--r-- | desktop/shell.qml | 29 |
2 files changed, 30 insertions, 0 deletions
diff --git a/desktop/Theme.qml b/desktop/Theme.qml new file mode 120000 index 0000000..3d2e40f --- /dev/null +++ b/desktop/Theme.qml @@ -0,0 +1 @@ +../shared/Theme.qml
\ No newline at end of file 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. <danix@danix.xyz> +// +// 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 + } +} |
