plugin: rust-side modules + theme services with serde-typed config
This commit is contained in:
parent
a86e90e927
commit
f34f3f2f4e
95 changed files with 2477 additions and 1011 deletions
|
|
@ -3,6 +3,7 @@ pragma Singleton
|
|||
import QtQuick
|
||||
import Quickshell.Io
|
||||
import "." as S
|
||||
import NovaStats as NS
|
||||
|
||||
QtObject {
|
||||
id: root
|
||||
|
|
@ -38,7 +39,7 @@ QtObject {
|
|||
|
||||
// Status polling (bar icon state)
|
||||
property Process _statusProc: Process {
|
||||
running: S.Modules.bluetooth.enable
|
||||
running: NS.ModulesService.bluetoothEnable
|
||||
command: ["sh", "-c", "s=$(bluetoothctl show 2>/dev/null); " + "[ -z \"$s\" ] && echo unavailable && exit; " + "echo \"$s\" | grep -q 'Powered: yes' || { echo off:; exit; }; " + "info=$(bluetoothctl info 2>/dev/null); " + "d=$(echo \"$info\" | awk -F': ' '/\\tName:/{n=$2}/Connected: yes/{c=1}END{if(c)print n}'); " + "[ -n \"$d\" ] && echo \"connected:$d\" || { echo on:; exit; }; " + "bat=$(echo \"$info\" | awk -F': ' '/Battery Percentage.*\\(/{gsub(/[^0-9]/,\"\",$2);print $2}'); " + "[ -n \"$bat\" ] && echo \"bat:$bat\""]
|
||||
stdout: StdioCollector {
|
||||
onStreamFinished: {
|
||||
|
|
@ -58,7 +59,7 @@ QtObject {
|
|||
|
||||
// Event-driven: watch BlueZ DBus property changes
|
||||
property Process _monitor: Process {
|
||||
running: S.Modules.bluetooth.enable
|
||||
running: NS.ModulesService.bluetoothEnable
|
||||
command: ["sh", "-c", "dbus-monitor --system \"interface='org.freedesktop.DBus.Properties',member='PropertiesChanged',path_namespace='/org/bluez'\" 2>/dev/null"]
|
||||
stdout: SplitParser {
|
||||
splitMarker: "\n"
|
||||
|
|
@ -73,7 +74,7 @@ QtObject {
|
|||
|
||||
property Timer _fallbackPoll: Timer {
|
||||
interval: 60000
|
||||
running: S.Modules.bluetooth.enable
|
||||
running: NS.ModulesService.bluetoothEnable
|
||||
repeat: true
|
||||
onTriggered: root.refresh()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue