aboutsummaryrefslogtreecommitdiffstats
path: root/vm-manager/Theme.qml
blob: 714e289aba9931b5ee3474eaa128ea18deff8aeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// 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

Singleton {
    id: root

    // Catppuccin Macchiato. Fixed, same base as unified-desktop-theme.
    readonly property color base: "#24273a"
    readonly property color surface: "#363a4f"
    readonly property color text: "#cad3f5"
    readonly property color subtext: "#a5adcb"
    readonly property color red: "#ed8796"
    readonly property color green: "#a6da95"
    readonly property color yellow: "#eed49f"
    readonly property color overlay: "#6e738d"

    // Tracks the wallpaper, like rofi and dunst do. Lavender until read.
    property color accent: "#b7bdf8"

    readonly property string fontFamily: "Noto Sans"
    readonly property int fontSize: 16

    // udt-accent writes one line: `* { accent: #rrggbbaa; }`
    FileView {
        path: `${Quickshell.env("HOME")}/.cache/wal/udt-accent.rasi`
        watchChanges: true
        onFileChanged: reload()
        onLoaded: {
            const m = text().match(/accent:\s*(#[0-9a-fA-F]{6})/);
            if (m) root.accent = m[1];
        }
    }
}