nova-shell/modules/Bluetooth.qml
2026-04-10 10:49:48 +02:00

38 lines
965 B
QML

import QtQuick
import Quickshell.Io
import "." as M
Row {
id: root
spacing: 4
property string status: "off"
property string device: ""
Process {
id: proc
running: true
command: ["sh", "-c", "bluetoothctl info 2>/dev/null | awk -F': ' '/Name/ {n=$2} /Connected: yes/ {c=1} END {if (c) print n; else print \"\"}'"]
stdout: StdioCollector {
onStreamFinished: {
const t = text.trim();
root.device = t;
root.status = t ? "connected" : "on";
}
}
}
Timer {
interval: 10000
running: true
repeat: true
onTriggered: proc.running = true
}
Text {
text: root.status === "connected" ? (" " + root.device) : ""
color: M.Theme.base05
font.pixelSize: M.Theme.fontSize + 1
font.family: M.Theme.fontFamily
anchors.verticalCenter: parent.verticalCenter
}
}