This commit is contained in:
2026-04-09 11:19:36 -05:00
parent f4b032e96f
commit be1318c3cb
3 changed files with 115 additions and 68 deletions

View File

@@ -0,0 +1,109 @@
pragma Singleton
import Quickshell // for PanelWindow
import QtQuick // for Text
import QtQuick.Shapes
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell.Io
import Quickshell.Widgets
import Quickshell.Wayland
import Quickshell.Hyprland
Singleton {
property bool launcherOpen: false
property string colorsDir: s_json.colorsDir
property string wallpaperDir: s_json.wallpaperDir
property string settingsDir: "/home/" + Quickshell.env("USER") + "/.config/aurora"
onSettingsDirChanged: reload()
function reload() {
settings.reload()
root.wallpaperDir = Qt.binding(() => s_json.wallpaperDir)
root.colorsDir = Qt.binding(() => s_json.colorsDir)
root.wallpaper = Qt.binding(() => c_json.wallpaper)
root.colors = Qt.binding(() => c_json.colors)
}
id: root
FileView {
id: settings
path: root.settingsDir + "/settings.json"
watchChanges: true
onFileChanged: reload()
JsonAdapter {
id: s_json
property string wallpaperDir
property string colorsDir
}
}
property string wallpaper: c_json.wallpaper
property string alpha: Math.round(parseInt(c_json.alpha, 10) * 0xFF / 100).toString(16)
property JsonObject special: c_json.special
property JsonObject colors: c_json.colors
function argb(c) {
return c.slice(0, 1) + Settings.alpha + c.slice(1)
}
FileView {
id: pywal
path: root.colorsDir
watchChanges: true
onFileChanged: reload()
JsonAdapter {
id: c_json
property string wallpaper
property string alpha: "100"
property JsonObject special: JsonObject {
property string background: "transparent"
property string foreground: "transparent"
property string cursor: "transparent"
}
property JsonObject colors: JsonObject {
property string color0: "transparent"
property string color1: "transparent"
property string color2: "transparent"
property string color3: "transparent"
property string color4: "transparent"
property string color5: "transparent"
property string color6: "transparent"
property string color7: "transparent"
property string color8: "transparent"
property string color9: "transparent"
property string color10: "transparent"
property string color11: "transparent"
property string color12: "transparent"
property string color13: "transparent"
property string color14: "transparent"
property string color15: "transparent"
}
}
}
}