diff --git a/modules/Bar.qml b/modules/Bar.qml index 9f28199..2f8402b 100644 --- a/modules/Bar.qml +++ b/modules/Bar.qml @@ -138,6 +138,7 @@ PanelWindow { leftEdge: !workspacesGroup.visible M.Tray { bar: bar + visible: M.Modules.tray.enable } } M.BarGroup { diff --git a/modules/Bluetooth.qml b/modules/Bluetooth.qml index 43582b4..7e74c1f 100644 --- a/modules/Bluetooth.qml +++ b/modules/Bluetooth.qml @@ -35,7 +35,7 @@ M.BarSection { Process { id: proc - running: M.Modules.bluetooth.enable + running: true 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: root._parse(text) @@ -44,7 +44,7 @@ M.BarSection { // Event-driven: watch BlueZ DBus property changes Process { id: btMonitor - running: M.Modules.bluetooth.enable + running: true command: ["sh", "-c", "dbus-monitor --system \"interface='org.freedesktop.DBus.Properties',member='PropertiesChanged',path_namespace='/org/bluez'\" 2>/dev/null"] stdout: SplitParser { splitMarker: "\n" @@ -58,7 +58,7 @@ M.BarSection { } Timer { interval: 60000 - running: M.Modules.bluetooth.enable + running: true repeat: true onTriggered: proc.running = true } diff --git a/modules/Modules.qml b/modules/Modules.qml index a92e33f..9529e6e 100644 --- a/modules/Modules.qml +++ b/modules/Modules.qml @@ -8,85 +8,85 @@ QtObject { id: root property var workspaces: ({ - enable: true + enable: false }) property var tray: ({ - enable: true + enable: false }) property var windowTitle: ({ - enable: true + enable: false }) property var clock: ({ - enable: true + enable: false }) property var notifications: ({ - enable: true, + enable: false, timeout: 3000, maxPopups: 4, maxVisible: 10, maxHistory: -1 }) property var mpris: ({ - enable: true + enable: false }) property var volume: ({ - enable: true + enable: false }) property var bluetooth: ({ - enable: true + enable: false }) property var backlight: ({ - enable: true, + enable: false, step: 5 }) property var network: ({ - enable: true + enable: false }) property var powerProfile: ({ - enable: true + enable: false }) property var idleInhibitor: ({ - enable: true + enable: false }) property var weather: ({ - enable: true, + enable: false, args: ["--nerd"], interval: 3600000 }) property var temperature: ({ - enable: true, + enable: false, warm: 80, hot: 90 }) property var cpu: ({ - enable: true + enable: false }) property var memory: ({ - enable: true + enable: false }) property var disk: ({ - enable: true, + enable: false, interval: 30000 }) property var battery: ({ - enable: true, + enable: false, warning: 25, critical: 15 }) property var privacy: ({ - enable: true + enable: false }) property var screenCorners: ({ - enable: true + enable: false }) property var power: ({ - enable: true + enable: false }) property var backgroundOverlay: ({ - enable: true + enable: false }) property var overviewBackdrop: ({ - enable: true + enable: false }) property var statsDaemon: ({ interval: -1 diff --git a/modules/Network.qml b/modules/Network.qml index adff5df..033c0ab 100644 --- a/modules/Network.qml +++ b/modules/Network.qml @@ -16,7 +16,7 @@ M.BarSection { Process { id: proc - running: M.Modules.network.enable + running: true command: ["sh", "-c", "line=$(nmcli -t -f NAME,TYPE,DEVICE connection show --active 2>/dev/null | head -1); if [ -z \"$line\" ]; then dev=$(nmcli -t -f DEVICE,STATE device 2>/dev/null | grep ':connected' | grep -v ':unmanaged\\|:unavailable\\|:disconnected\\|:connecting' | head -1 | cut -d: -f1); [ -n \"$dev\" ] && line=\"linked:linked:$dev\"; fi; [ -z \"$line\" ] && exit 0; echo \"$line\"; dev=$(echo \"$line\" | cut -d: -f3); ip=$(nmcli -t -f IP4.ADDRESS device show \"$dev\" 2>/dev/null | head -1 | cut -d: -f2); echo \"ip:${ip:-}\"; sig=$(nmcli -t -f GENERAL.SIGNAL device show \"$dev\" 2>/dev/null | head -1 | cut -d: -f2); echo \"sig:${sig:-}\""] stdout: StdioCollector { onStreamFinished: { @@ -53,7 +53,7 @@ M.BarSection { // Event-driven: re-poll on any network change Process { id: monitor - running: M.Modules.network.enable + running: true command: ["nmcli", "monitor"] stdout: SplitParser { splitMarker: "\n" @@ -71,7 +71,7 @@ M.BarSection { // Fallback poll Timer { interval: 60000 - running: M.Modules.network.enable + running: true repeat: true onTriggered: proc.running = true } diff --git a/modules/PowerProfileService.qml b/modules/PowerProfileService.qml index 2c11f65..185745f 100644 --- a/modules/PowerProfileService.qml +++ b/modules/PowerProfileService.qml @@ -2,7 +2,6 @@ pragma Singleton import QtQuick import Quickshell.Io -import "." as M QtObject { id: root @@ -11,7 +10,7 @@ QtObject { readonly property bool powerSaver: profile === "power-saver" property var _proc: Process { - running: M.Modules.powerProfile.enable + running: true command: ["powerprofilesctl", "get"] stdout: StdioCollector { onStreamFinished: root.profile = text.trim() @@ -19,7 +18,7 @@ QtObject { } property var _monitor: Process { - running: M.Modules.powerProfile.enable + running: true command: ["sh", "-c", "dbus-monitor --system \"interface='org.freedesktop.DBus.Properties',member='PropertiesChanged',path='/net/hadess/PowerProfiles'\" 2>/dev/null"] stdout: SplitParser { splitMarker: "\n" @@ -34,7 +33,7 @@ QtObject { property var _poll: Timer { interval: 60000 - running: M.Modules.powerProfile.enable + running: true repeat: true onTriggered: root._proc.running = true } diff --git a/modules/Tray.qml b/modules/Tray.qml index de89254..317378d 100644 --- a/modules/Tray.qml +++ b/modules/Tray.qml @@ -9,7 +9,6 @@ import "." as M RowLayout { id: root spacing: M.Theme.moduleSpacing + 2 - visible: M.Modules.tray.enable && SystemTray.items.length > 0 required property var bar property var _activeMenu: null diff --git a/modules/WindowTitle.qml b/modules/WindowTitle.qml index 839a13b..4280dc6 100644 --- a/modules/WindowTitle.qml +++ b/modules/WindowTitle.qml @@ -9,10 +9,6 @@ M.BarSection { spacing: M.Theme.moduleSpacing visible: M.Modules.windowTitle.enable && M.NiriIpc.focusedTitle !== "" - onVisibleChanged: console.log("WindowTitle visible=" + visible + " enable=" + M.Modules.windowTitle.enable + " title='" + M.NiriIpc.focusedTitle + "' width=" + width) - onWidthChanged: if (visible) - console.log("WindowTitle width=" + width + " centerSection.x would need bar ref") - tooltip: M.NiriIpc.focusedAppId ? M.NiriIpc.focusedAppId + "\n" + M.NiriIpc.focusedTitle : M.NiriIpc.focusedTitle readonly property string _iconSource: {