use brightness service from caelestia-dots/shell

This commit is contained in:
end-4
2025-05-15 22:50:35 +02:00
parent 2499675687
commit c985273dc6
4 changed files with 122 additions and 78 deletions
+4 -3
View File
@@ -26,7 +26,8 @@ Scope {
PanelWindow { // Bar window
id: barRoot
property var modelData
property ShellScreen modelData
property var brightnessMonitor: Brightness.getMonitorForScreen(modelData)
screen: modelData
WlrLayershell.namespace: "quickshell:bar"
@@ -79,9 +80,9 @@ Scope {
WheelHandler {
onWheel: (event) => {
if (event.angleDelta.y < 0)
Brightness.increment = -1;
barRoot.brightnessMonitor.setBrightness(barRoot.brightnessMonitor.brightness - 0.05);
else if (event.angleDelta.y > 0)
Brightness.increment = 1;
barRoot.brightnessMonitor.setBrightness(barRoot.brightnessMonitor.brightness + 0.05);
// Store the mouse position and start tracking
barLeftSideMouseArea.lastScrollX = event.x;
barLeftSideMouseArea.lastScrollY = event.y;
@@ -27,15 +27,7 @@ Scope {
showOsdValues = false
}
}
Connections {
target: Brightness ?? null
function onValueChanged() {
if (!Brightness.ready) return
root.triggerOsd()
}
}
Connections {
target: Audio.sink?.audio ?? null
function onVolumeChanged() {
@@ -51,6 +43,15 @@ Scope {
id: osdLoader
property var modelData
active: showOsdValues
property var brightnessMonitor: Brightness.getMonitorForScreen(modelData)
Connections {
target: brightnessMonitor
function onBrightnessChanged() {
if (!brightnessMonitor.ready) return
root.triggerOsd()
}
}
PanelWindow {
property var modelData
@@ -101,7 +102,7 @@ Scope {
OsdValueIndicator {
id: osdValues
anchors.centerIn: parent
value: Brightness.value
value: brightnessMonitor.brightness
icon: "light_mode"
name: qsTr("Brightness")
}
@@ -28,6 +28,13 @@ Scope {
}
}
Connections {
target: Brightness
function onBrightnessChanged() {
showOsdValues = false
}
}
Connections {
target: Audio.sink?.audio ?? null
function onVolumeChanged() {
@@ -40,14 +47,6 @@ Scope {
}
}
Connections {
target: Brightness ?? null
function onValueChanged() {
if (!Brightness.ready) return
root.showOsdValues = false
}
}
Variants {
model: Quickshell.screens