mirror of
https://github.com/AquaMorph/dotfiles.git
synced 2026-09-29 20:04:21 +00:00
refactor(quickshell): centralize hardware status polling
This commit is contained in:
@@ -1,42 +1,16 @@
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Io
|
||||
|
||||
Block {
|
||||
id: root
|
||||
|
||||
property int percentage: -1
|
||||
required property var service
|
||||
|
||||
visible: percentage >= 0
|
||||
visible: service.brightness >= 0
|
||||
blockColor: "#2980b9"
|
||||
interactive: true
|
||||
text: "\uf185 " + percentage + "%"
|
||||
text: "\uf185 " + service.brightness + "%"
|
||||
onWheel: wheel => {
|
||||
const change = wheel.angleDelta.y > 0 ? "+5%" : "5%-";
|
||||
Quickshell.execDetached(["brightnessctl", "set", change]);
|
||||
refreshTimer.restart();
|
||||
}
|
||||
|
||||
Process {
|
||||
id: brightnessQuery
|
||||
command: ["brightnessctl", "-m"]
|
||||
running: true
|
||||
|
||||
stdout: StdioCollector {
|
||||
onStreamFinished: {
|
||||
const fields = text.trim().split(",");
|
||||
root.percentage = fields.length >= 4
|
||||
? parseInt(fields[3].replace("%", ""))
|
||||
: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: refreshTimer
|
||||
interval: 500
|
||||
repeat: true
|
||||
running: true
|
||||
onTriggered: brightnessQuery.running = true
|
||||
service.setBrightness(change);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user