From 6eb36b86c9b68e1afe97c1323d2a97f74aef11e7 Mon Sep 17 00:00:00 2001 From: Damocles Date: Wed, 15 Apr 2026 12:27:43 +0200 Subject: [PATCH 1/3] remove unused interval options from bluetooth, network, powerprofile, cpu, memory modules --- modules/Modules.qml | 15 +++++---------- nix/hm-module.nix | 12 ++++++------ 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/modules/Modules.qml b/modules/Modules.qml index ae6c222..f1f07ed 100644 --- a/modules/Modules.qml +++ b/modules/Modules.qml @@ -33,20 +33,17 @@ QtObject { enable: true }) property var bluetooth: ({ - enable: true, - interval: 5000 + enable: true }) property var backlight: ({ enable: true, step: 5 }) property var network: ({ - enable: true, - interval: 5000 + enable: true }) property var powerProfile: ({ - enable: true, - interval: 5000 + enable: true }) property var idleInhibitor: ({ enable: true @@ -63,12 +60,10 @@ QtObject { hot: 90 }) property var cpu: ({ - enable: true, - interval: 1000 + enable: true }) property var memory: ({ - enable: true, - interval: 2000 + enable: true }) property var disk: ({ enable: true, diff --git a/nix/hm-module.nix b/nix/hm-module.nix index cd3ab56..343af64 100644 --- a/nix/hm-module.nix +++ b/nix/hm-module.nix @@ -84,6 +84,11 @@ in "clock" "mpris" "volume" + "bluetooth" + "network" + "powerProfile" + "cpu" + "memory" "idleInhibitor" "power" "backgroundOverlay" @@ -114,11 +119,6 @@ in description = "Maximum notifications kept in history (-1 for unlimited)."; }; }; - bluetooth = moduleOpt "bluetooth" (intervalOpt 5000); - network = moduleOpt "network" (intervalOpt 5000); - powerProfile = moduleOpt "powerProfile" (intervalOpt 5000); - cpu = moduleOpt "cpu" (intervalOpt 1000); - memory = moduleOpt "memory" (intervalOpt 2000); disk = moduleOpt "disk" (intervalOpt 30000); backlight = moduleOpt "backlight" { step = lib.mkOption { @@ -177,7 +177,7 @@ in description = '' Theme overrides written to `$XDG_CONFIG_HOME/nova-shell/theme.json`. Keys: colors (base00-base0F), fontFamily, iconFontFamily, fontSize, - barOpacity, barHeight, barPadding, barSpacing, moduleSpacing, radius. + barOpacity, barHeight, barPadding, groupSpacing, moduleSpacing, radius, screenRadius. Automatically populated from stylix when it is available. ''; }; From 1184cdd488efff117aef7071fafa9a8277bb471b Mon Sep 17 00:00:00 2001 From: Damocles Date: Wed, 15 Apr 2026 14:23:42 +0200 Subject: [PATCH 2/3] replace MouseArea with HoverHandler+TapHandler in BT/network menu delegates --- modules/BluetoothMenu.qml | 24 ++++++++++++------------ modules/NetworkMenu.qml | 24 ++++++++++++------------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/modules/BluetoothMenu.qml b/modules/BluetoothMenu.qml index 1eb9d5f..b6b97d3 100644 --- a/modules/BluetoothMenu.qml +++ b/modules/BluetoothMenu.qml @@ -73,7 +73,7 @@ M.HoverPanel { anchors.fill: parent anchors.leftMargin: 4 anchors.rightMargin: 4 - color: btHeaderArea.containsMouse ? M.Theme.base02 : "transparent" + color: btHeaderHover.hovered ? M.Theme.base02 : "transparent" radius: M.Theme.radius } @@ -109,12 +109,12 @@ M.HoverPanel { font.family: M.Theme.iconFontFamily } - MouseArea { - id: btHeaderArea - anchors.fill: parent - hoverEnabled: true + HoverHandler { + id: btHeaderHover cursorShape: Qt.PointingHandCursor - onClicked: { + } + TapHandler { + onTapped: { powerProc._action = menuWindow._btEnabled ? "off" : "on"; powerProc.running = true; } @@ -143,7 +143,7 @@ M.HoverPanel { anchors.fill: parent anchors.leftMargin: 4 anchors.rightMargin: 4 - color: entryArea.containsMouse ? M.Theme.base02 : "transparent" + color: entryHover.hovered ? M.Theme.base02 : "transparent" radius: M.Theme.radius } @@ -184,12 +184,12 @@ M.HoverPanel { width: entry.modelData.battery >= 0 ? implicitWidth : 0 } - MouseArea { - id: entryArea - anchors.fill: parent - hoverEnabled: true + HoverHandler { + id: entryHover cursorShape: Qt.PointingHandCursor - onClicked: { + } + TapHandler { + onTapped: { toggleProc.action = entry.modelData.connected ? "disconnect" : "connect"; toggleProc.mac = entry.modelData.mac; toggleProc.running = true; diff --git a/modules/NetworkMenu.qml b/modules/NetworkMenu.qml index a2798d8..2bc7b67 100644 --- a/modules/NetworkMenu.qml +++ b/modules/NetworkMenu.qml @@ -104,7 +104,7 @@ M.HoverPanel { anchors.fill: parent anchors.leftMargin: 4 anchors.rightMargin: 4 - color: headerArea.containsMouse ? M.Theme.base02 : "transparent" + color: headerHover.hovered ? M.Theme.base02 : "transparent" radius: M.Theme.radius } @@ -140,12 +140,12 @@ M.HoverPanel { font.family: M.Theme.iconFontFamily } - MouseArea { - id: headerArea - anchors.fill: parent - hoverEnabled: true + HoverHandler { + id: headerHover cursorShape: Qt.PointingHandCursor - onClicked: { + } + TapHandler { + onTapped: { radioProc._state = menuWindow._wifiEnabled ? "off" : "on"; radioProc.running = true; } @@ -174,7 +174,7 @@ M.HoverPanel { anchors.fill: parent anchors.leftMargin: 4 anchors.rightMargin: 4 - color: entryArea.containsMouse ? M.Theme.base02 : "transparent" + color: entryHover.hovered ? M.Theme.base02 : "transparent" radius: M.Theme.radius } @@ -215,12 +215,12 @@ M.HoverPanel { width: entry.modelData.signal >= 0 ? implicitWidth : 0 } - MouseArea { - id: entryArea - anchors.fill: parent - hoverEnabled: true + HoverHandler { + id: entryHover cursorShape: Qt.PointingHandCursor - onClicked: { + } + TapHandler { + onTapped: { if (entry.modelData.active) { disconnectProc.uuid = entry.modelData.uuid; disconnectProc.running = true; From 6748649033828071d18710ce045b8151ca801dae Mon Sep 17 00:00:00 2001 From: Damocles Date: Wed, 15 Apr 2026 14:27:31 +0200 Subject: [PATCH 3/3] hide window title group when no window has focus --- modules/Bar.qml | 4 +--- modules/WindowTitle.qml | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/Bar.qml b/modules/Bar.qml index 0c4d66c..6b4f324 100644 --- a/modules/Bar.qml +++ b/modules/Bar.qml @@ -144,9 +144,7 @@ PanelWindow { M.BarGroup { Layout.minimumWidth: 0 clip: true - M.WindowTitle { - visible: M.Modules.windowTitle.enable - } + M.WindowTitle {} } Item { Layout.fillWidth: true diff --git a/modules/WindowTitle.qml b/modules/WindowTitle.qml index 1749745..6d48e6e 100644 --- a/modules/WindowTitle.qml +++ b/modules/WindowTitle.qml @@ -8,7 +8,7 @@ import "." as M M.BarSection { id: root spacing: M.Theme.moduleSpacing - visible: root._title !== "" + visible: M.Modules.windowTitle.enable && root._title !== "" tooltip: root._appId ? root._appId + "\n" + root._title : root._title