diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-12 10:10:14 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-12 10:10:14 +0200 |
| commit | 10d955193b6778cfb26cc601b05aa65bff1810df (patch) | |
| tree | 49b8383fde99b8636fe2a8bfede5e25c3c520c62 /mail-overview/MailPanel.qml | |
| parent | 15367430ddafd45c59310364234fa3ceefee3844 (diff) | |
| download | quickshell-10d955193b6778cfb26cc601b05aa65bff1810df.tar.gz quickshell-10d955193b6778cfb26cc601b05aa65bff1810df.zip | |
feat(mail-overview): component skeleton with the keepalive window
Nothing is drawn yet. This commit exists on its own because the thing most
likely to be wrong at this stage is invisible: a config whose only window is
hidden exits straight after logging Configuration Loaded, reporting no error,
and the symptom is a keybind that appears to do nothing.
Theme.qml is a verbatim copy of the one in appearance. It is a fallback for
before the generated palette is read, not a palette to grow; deduplicating
the four copies is a separate change.
Not yet run: the user runs the shell themselves, so loading and IPC are
verified in their session rather than here.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WWL8JYHu7yhAdtx5pU9PMU
Diffstat (limited to 'mail-overview/MailPanel.qml')
| -rw-r--r-- | mail-overview/MailPanel.qml | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/mail-overview/MailPanel.qml b/mail-overview/MailPanel.qml new file mode 100644 index 0000000..7e81a33 --- /dev/null +++ b/mail-overview/MailPanel.qml @@ -0,0 +1,41 @@ +// 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 +import QtQuick + +Scope { + id: root + + // Waybar runs on this screen, so the drawer belongs here too. + property string monitor: "DP-1" + property bool open: false + + readonly property var screenObj: + Quickshell.screens.find(s => s.name === root.monitor) ?? Quickshell.screens[0] + + function show() { root.open = true; } + function close() { root.open = false; } + function toggle() { root.open ? close() : show(); } + + // Quickshell exits once no window is visible, and this drawer is closed + // most of the time. See AGENTS.md. + PanelWindow { + visible: true + implicitWidth: 1 + implicitHeight: 1 + color: "transparent" + exclusionMode: ExclusionMode.Ignore + mask: Region {} + WlrLayershell.keyboardFocus: WlrKeyboardFocus.None + } +} |
