mirror of
https://github.com/AquaMorph/dotfiles.git
synced 2026-09-29 20:04:21 +00:00
52 lines
1.6 KiB
QML
52 lines
1.6 KiB
QML
import QtQuick
|
|
import Quickshell
|
|
import Quickshell.Io
|
|
|
|
Block {
|
|
id: root
|
|
|
|
property string connection: "Disconnected"
|
|
property bool connected: connection !== "Disconnected"
|
|
|
|
blockColor: connected ? "#2980b9" : "#e91e63"
|
|
interactive: true
|
|
text: connected ? "\uf1eb " + connection : "Disconnected !"
|
|
onClicked: Quickshell.execDetached(["nm-connection-editor"])
|
|
|
|
Process {
|
|
id: networkQuery
|
|
command: ["nmcli", "-t", "-f", "TYPE,NAME", "connection", "show", "--active"]
|
|
running: true
|
|
|
|
stdout: StdioCollector {
|
|
onStreamFinished: {
|
|
const lines = text.trim().split("\n");
|
|
for (let line of lines) {
|
|
const separator = line.indexOf(":");
|
|
const type = line.slice(0, separator);
|
|
if (type === "802-11-wireless" || type === "wifi") {
|
|
root.connection = line.slice(separator + 1);
|
|
return;
|
|
}
|
|
}
|
|
for (let line of lines) {
|
|
const separator = line.indexOf(":");
|
|
const type = line.slice(0, separator);
|
|
if (type === "802-3-ethernet" || type === "ethernet") {
|
|
root.connection = line.slice(separator + 1);
|
|
return;
|
|
}
|
|
}
|
|
root.connection = "Disconnected";
|
|
}
|
|
}
|
|
}
|
|
|
|
Timer {
|
|
interval: 5000
|
|
repeat: true
|
|
running: true
|
|
onTriggered: networkQuery.running = true
|
|
}
|
|
}
|