From 1836a2ff1c7b648bedb433709dc523dcc5f30c84 Mon Sep 17 00:00:00 2001 From: Moeta Yuko Date: Mon, 24 Nov 2025 12:51:21 +0000 Subject: [PATCH] brightness: use connector name to distinguish different monitors One may have multiple monitors of the same model --- dots/.config/quickshell/ii/services/Brightness.qml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dots/.config/quickshell/ii/services/Brightness.qml b/dots/.config/quickshell/ii/services/Brightness.qml index 465d8729c..7c25f145c 100644 --- a/dots/.config/quickshell/ii/services/Brightness.qml +++ b/dots/.config/quickshell/ii/services/Brightness.qml @@ -58,7 +58,7 @@ Singleton { if (data.startsWith("Display ")) { const lines = data.split("\n").map(l => l.trim()); root.ddcMonitors.push({ - model: lines.find(l => l.startsWith("Monitor:")).split(":")[2], + name: lines.find(l => l.startsWith("DRM connector:")).split("-").slice(1).join('-'), busNum: lines.find(l => l.startsWith("I2C bus:")).split("/dev/i2c-")[1] }); } @@ -76,11 +76,11 @@ Singleton { required property ShellScreen screen readonly property bool isDdc: { - const match = root.ddcMonitors.find(m => m.model === screen.model && !root.monitors.slice(0, root.monitors.indexOf(this)).some(mon => mon.busNum === m.busNum)); + const match = root.ddcMonitors.find(m => m.name === screen.name && !root.monitors.slice(0, root.monitors.indexOf(this)).some(mon => mon.busNum === m.busNum)); return !!match; } readonly property string busNum: { - const match = root.ddcMonitors.find(m => m.model === screen.model && !root.monitors.slice(0, root.monitors.indexOf(this)).some(mon => mon.busNum === m.busNum)); + const match = root.ddcMonitors.find(m => m.name === screen.name && !root.monitors.slice(0, root.monitors.indexOf(this)).some(mon => mon.busNum === m.busNum)); return match?.busNum ?? ""; } property int rawMaxBrightness: 100 @@ -215,7 +215,7 @@ Singleton { Process { id: screenshotProc - command: ["bash", "-c", + command: ["bash", "-c", `mkdir -p '${StringUtils.shellSingleQuoteEscape(root.screenshotDir)}'` + ` && grim -o '${StringUtils.shellSingleQuoteEscape(screenScope.screenName)}' -` + ` | magick png:- -colorspace Gray -format "%[fx:mean*100]" info:`