// Theme.qml - global palette & dimensions // QuickShell auto-discovers this; access from any file as `Theme.colorN` etc. pragma Singleton import Quickshell import QtQuick Singleton { function setColorAlpha(color, alpha) { return Qt.hsla(color.hslHue, color.hslSaturation, color.hslLightness, alpha) } // ── Wallust palette ────────────────────────────────────── readonly property color background: Colors.foreground readonly property color foreground: Colors.background readonly property color color0: Colors.color0 readonly property color color1: Colors.color1 readonly property color color2: Colors.color2 readonly property color color3: Colors.color3 readonly property color color4: Colors.color4 readonly property color color5: Colors.color5 readonly property color color6: Colors.color6 readonly property color color7: Colors.color7 readonly property color color8: Colors.color8 // ── Derived / semantic ──────────────────────────────────── readonly property color pill: setColorAlpha(Colors.background, 0.8) readonly property color pillText: setColorAlpha(Colors.foreground, 1) readonly property color pillHover: color2 readonly property color wsActive: color3 readonly property color wsUrgent: color1 // ── Typography ──────────────────────────────────────────── readonly property string fontSans: "Fira Sans Condensed" readonly property string fontMono: "FiraCode Nerd Font" readonly property int fontSize: 11 readonly property int fontSizeSecondary: 10 // ── Bar geometry ───────────────────────────────────────── readonly property int barHeight: 24 readonly property int barPadding: 2 readonly property int radius: 5 readonly property int pillPadH: 10 readonly property int spacing: 4 // ── Popup ─────────────────────────────────────────────── readonly property color popupBackground: setColorAlpha(Colors.background, 0.75) readonly property int popupBorderWidth: 0 readonly property color popupBorderColor: setColorAlpha(Colors.foreground, 0.1) readonly property int popupPadding: 10 readonly property double popupOpacity: 0.7 // ── Animations ─────────────────────────────────────────── readonly property int cavaDissapearTime: 500 readonly property int workspaceSlideTime: 250 readonly property int popupAutoHideDelay: 500 // ── Other constants ─────────────────────────────────────── readonly property int titleLength: 75 }