mirror of
https://github.com/AquaMorph/dotfiles.git
synced 2026-09-29 20:04:21 +00:00
feat(quickshell): show detailed status popups
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user