add scrool or click actions

This commit is contained in:
Damocles 2026-04-12 00:46:38 +02:00
parent 3dc6111825
commit 7ca7e1e952
3 changed files with 39 additions and 0 deletions

View file

@ -9,6 +9,18 @@ Row {
property int percent: 0
Process {
id: adjProc
property string cmd: ""
command: ["sh", "-c", cmd]
onRunningChanged: if (!running && cmd !== "") current.reload()
}
function adjust(delta) {
adjProc.cmd = delta > 0 ? "light -A 5" : "light -U 5";
adjProc.running = true;
}
FileView {
id: current
path: "/sys/class/backlight/intel_backlight/brightness"
@ -36,4 +48,8 @@ Row {
font.family: M.Theme.fontFamily
anchors.verticalCenter: parent.verticalCenter
}
WheelHandler {
onWheel: event => root.adjust(event.angleDelta.y)
}
}

View file

@ -28,4 +28,20 @@ M.BarIcon {
repeat: true
onTriggered: proc.running = true
}
Process {
id: setter
property string next: ""
command: ["powerprofilesctl", "set", next]
onRunningChanged: if (!running && next !== "") proc.running = true
}
TapHandler {
onTapped: {
const cycle = ["performance", "balanced", "power-saver"];
const idx = cycle.indexOf(root.profile);
setter.next = cycle[(idx + 1) % cycle.length];
setter.running = true;
}
}
}

View file

@ -26,4 +26,11 @@ Row {
TapHandler {
onTapped: if (root.sink?.audio) root.sink.audio.muted = !root.sink.audio.muted
}
WheelHandler {
onWheel: event => {
if (!root.sink?.audio) return;
root.sink.audio.volume = Math.max(0, root.sink.audio.volume + (event.angleDelta.y > 0 ? 0.05 : -0.05));
}
}
}