diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-22 17:25:15 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-22 17:25:15 +0200 |
| commit | 9d9e67a14967fe756c357b0ece3d9f339f8afa17 (patch) | |
| tree | cc443f3a54979f2ba0a0cf050917ec4876997c67 /desktop/modules/appearance/UdtModule.qml | |
| parent | 38b64dda38c76fa11424cba8ed012cd94a56362e (diff) | |
| download | quickshell-9d9e67a14967fe756c357b0ece3d9f339f8afa17.tar.gz quickshell-9d9e67a14967fe756c357b0ece3d9f339f8afa17.zip | |
settings: a Theme status page for unified-desktop-theme
Shows the live scheme, accent and both wallpapers, the scheme and
wallpapers linking to their own pages, then every udt consumer in a
software and a hardware list, each with a Re-apply button running
`install.sh <name>`, and Re-apply all in the header. The list comes from
`install.sh --list`, so a consumer added in unified-desktop-theme shows up
here with no edit. One run at a time, and none during a scheme switch.
QML's JS engine has no Object.fromEntries either: it threw a TypeError
that only reached the log and left the page without its list. Noted in
AGENTS.md beside String.matchAll.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/appearance/UdtModule.qml')
| -rw-r--r-- | desktop/modules/appearance/UdtModule.qml | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/desktop/modules/appearance/UdtModule.qml b/desktop/modules/appearance/UdtModule.qml new file mode 100644 index 0000000..3b15c77 --- /dev/null +++ b/desktop/modules/appearance/UdtModule.qml @@ -0,0 +1,44 @@ +// 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 QtQuick +import "../.." + +// What unified-desktop-theme has set, and re-applying it to one consumer. +Module { + name: "udt" + label: "Theme status" + // nf-fa-sliders, present in Inconsolata Nerd Font. + icon: "" + settings: true + group: "Appearance" + keywords: ["consumer", "reapply", "install", "udt", "accent", "wallpaper"] + searchItems: Array.from(Udt.consumers).map(n => ({ text: `${n} ${Udt.consumerInfo[n] ?? ""}`, key: n })) + + function refresh() { Udt.refreshStatus(); } + + page: Component { + Page { + id: page + title: "Theme status" + actions: Component { + Button { + // nf-fa-refresh + icon: "\uf021" + text: Udt.reapplying === "*" ? "Applying…" : "Re-apply all" + enabled: Udt.reapplying === "" && !Udt.applying + onClicked: Udt.reapply("*") + } + } + UdtTab { width: parent.width; onGo: name => page.go(name) } + } + } +} |
