121 lines
3.0 KiB
QML
121 lines
3.0 KiB
QML
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 wallpaperDir: s_json.wallpaperDir
|
|
|
|
property string colorsPath: s_json.colorsPath
|
|
|
|
Process {
|
|
id: cc
|
|
command: [ s_json.changeColorsCmd ]
|
|
running: false
|
|
}
|
|
|
|
property string settingsPath: Quickshell.env("AURORA_SETTINGS")
|
|
onSettingsPathChanged: reload()
|
|
|
|
function reload() {
|
|
settings.reload()
|
|
root.wallpaperDir = Qt.binding(() => s_json.wallpaperDir)
|
|
root.colorsPath = Qt.binding(() => s_json.colorsPath)
|
|
root.wallpaper = Qt.binding(() => c_json.wallpaper)
|
|
root.colors = Qt.binding(() => c_json.colors)
|
|
}
|
|
|
|
id: root
|
|
|
|
FileView {
|
|
|
|
id: settings
|
|
|
|
path: root.settingsPath
|
|
|
|
watchChanges: true
|
|
|
|
onFileChanged: reload()
|
|
|
|
JsonAdapter {
|
|
id: s_json
|
|
property string wallpaperDir
|
|
|
|
property string colorsPath
|
|
|
|
property string changeColorsCmd
|
|
}
|
|
}
|
|
|
|
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.colorsPath
|
|
|
|
watchChanges: true
|
|
|
|
onFileChanged: {
|
|
reload()
|
|
cc.running = true
|
|
}
|
|
|
|
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"
|
|
}
|
|
}
|
|
}
|
|
}
|