feat(quickshell): show detailed status popups

This commit is contained in:
2026-09-25 17:20:08 -04:00
parent 56581c54a7
commit c31b2486e3
6 changed files with 556 additions and 7 deletions
@@ -7,12 +7,18 @@ Scope {
property string connection: "Disconnected"
property int brightness: -1
property var wifiNetworks: []
function setBrightness(change) {
Quickshell.execDetached(["brightnessctl", "set", change]);
brightnessRefresh.restart();
}
function refreshWifi() {
if (!wifiQuery.running)
wifiQuery.running = true;
}
Process {
id: networkQuery
command: ["nmcli", "-t", "-f", "TYPE,NAME", "connection", "show", "--active"]
@@ -76,4 +82,35 @@ Scope {
interval: 250
onTriggered: brightnessQuery.running = true
}
Process {
id: wifiQuery
command: ["nmcli", "-t", "-f", "IN-USE,SSID,SIGNAL", "device", "wifi", "list", "--rescan", "auto"]
stdout: StdioCollector {
onStreamFinished: {
const networks = [];
const seen = {};
for (let line of text.trim().split("\n")) {
const fields = line.split(":");
if (fields.length < 3)
continue;
const active = fields.shift() === "*";
const signal = parseInt(fields.pop());
const ssid = fields.join(":").replace(/\\:/g, ":");
if (!ssid || seen[ssid])
continue;
seen[ssid] = true;
networks.push({
"ssid": ssid,
"signal": signal,
"active": active
});
if (networks.length >= 8)
break;
}
root.wifiNetworks = networks;
}
}
}
}