mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-05 21:15:38 -05:00
40 lines
1.1 KiB
QML
40 lines
1.1 KiB
QML
pragma Singleton
|
|
pragma ComponentBehavior: Bound
|
|
|
|
import QtQuick
|
|
import QtCore
|
|
import Quickshell
|
|
import Quickshell.Io
|
|
import qs.Common
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
readonly property string shellDir: Paths.strip(Qt.resolvedUrl(".").toString()).replace("/Services/", "")
|
|
property string scriptPath: `${shellDir}/scripts/hyprland_keybinds.py`
|
|
readonly property string _configUrl: StandardPaths.writableLocation(StandardPaths.ConfigLocation)
|
|
readonly property string _configDir: Paths.strip(_configUrl)
|
|
property string hyprConfigPath: `${_configDir}/hypr`
|
|
property var keybinds: ({"children": [], "keybinds": []})
|
|
|
|
Process {
|
|
id: getKeybinds
|
|
running: true
|
|
command: [root.scriptPath, "--path", root.hyprConfigPath]
|
|
|
|
stdout: SplitParser {
|
|
onRead: data => {
|
|
try {
|
|
root.keybinds = JSON.parse(data)
|
|
} catch (e) {
|
|
console.error("[HyprKeybindsService] Error parsing keybinds:", e)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function reload() {
|
|
getKeybinds.running = true
|
|
}
|
|
}
|