diff options
Diffstat (limited to 'vm-manager')
| l---------[-rw-r--r--] | vm-manager/Theme.qml | 65 |
1 files changed, 1 insertions, 64 deletions
diff --git a/vm-manager/Theme.qml b/vm-manager/Theme.qml index bddfe7d..3d2e40f 100644..120000 --- a/vm-manager/Theme.qml +++ b/vm-manager/Theme.qml @@ -1,64 +1 @@ -// 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. - -pragma Singleton - -import Quickshell -import Quickshell.Io -import QtQuick - -// The palette comes from unified-desktop-theme: udt-accent writes -// ~/.cache/wal/udt-palette.qml on every wallpaper change, holding the -// Macchiato colours from its palette.rasi plus the accent snapped from the -// wallpaper. Watching that file is what makes a theme edit show up here. -// -// The defaults below are only what renders before the file is read, or on a -// machine where unified-desktop-theme is not installed. -Singleton { - id: root - - property color base: "#24273a" - property color surface: "#363a4f" - property color text: "#cad3f5" - property color subtext: "#a5adcb" - property color red: "#ed8796" - property color green: "#a6da95" - property color yellow: "#eed49f" - property color overlay: "#6e738d" - property color accent: "#b7bdf8" - - readonly property string fontFamily: "Noto Sans" - readonly property int fontSize: 16 - - // Parsed rather than imported: a generated file cannot be a QML import - // without a qmldir next to it, and the cache directory has no reason to - // carry one. The format is fixed and machine-written, so a regex is enough. - FileView { - path: `${Quickshell.env("HOME")}/.cache/wal/udt-palette.qml` - watchChanges: true - onFileChanged: reload() - onLoaded: { - const pick = key => { - const m = text().match(new RegExp(`property color ${key}: "(#[0-9a-fA-F]{6})"`)); - return m ? m[1] : null; - }; - root.base = pick("base") ?? root.base; - root.surface = pick("surface0") ?? root.surface; - root.text = pick("text") ?? root.text; - root.subtext = pick("subtext0") ?? root.subtext; - root.red = pick("red") ?? root.red; - root.green = pick("green") ?? root.green; - root.yellow = pick("yellow") ?? root.yellow; - root.overlay = pick("overlay0") ?? root.overlay; - root.accent = pick("accent") ?? root.accent; - } - } -} +../shared/Theme.qml
\ No newline at end of file |
