diff --git a/README.md b/README.md
index 7b95f95..82cec9b 100644
--- a/README.md
+++ b/README.md
@@ -36,29 +36,33 @@ Based on an old version of [end-4/dots-hyprland](https://github.com/end-4/dots-h
## Niri
-Ported from Hyprland, and shares some of the desktop components such as hyprlock & hypridle & mako, but uses quickshell as bar and desktop-widgets instead of the combination of waybar and eww.
+Ported from Hyprland, and shares some of the desktop components such as hyprlock & hypridle, but uses quickshell as bar / desktop widgets / notification daemon / ...
## Quickshell
-Not based on, but heavily depends on modules from [noctalia-shell](https://github.com/noctalia-dev/noctalia-shell). This setup is currently only adapted for Niri.
+Not based on, but heavily depends on many modules from [noctalia-shell](https://github.com/noctalia-dev/noctalia-shell). A thousand thanks to their great work.
+
+This setup is currently only adapted for Niri.
## Eww
-- `main`, main dashboard, modified from [syndrizzle/hotfiles](https://github.com/syndrizzle/hotfiles/tree/bspwm) without notification center.
-- `lyrics`, scrolling lyrics player, depends on [a small program](https://github.com/Uyanide/spotify-lyrics) from myself (which also happens to be my frist Golang program :D).
+- `main`, main dashboard, modified from [syndrizzle/hotfiles](https://github.com/syndrizzle/hotfiles/tree/bspwm) but without notification center.
+- `lyrics`, scrolling lyrics player, depends on [a small utility](https://github.com/Uyanide/spotify-lyrics) from myself (which also happens to be my frist Golang program :D).
- `lyrics-single`, similar to `lyrics`, but only with a single line and can be easily embeded into the status bar.
## Swww
-In Niri, the wallpaper will be automatically blurred when there are windows in focus. And the backdrop also has a blurred wallpaper applied to it. These are implemented in [wallpaper-daemon](https://github.com/Uyanide/dotfiles/blob/main/.scripts/wallpaper-daemon).
+The wallpaper will be automatically blurred when there are windows in focus. And the backdrop (overview) also has a blurred version of the wallpaper applied to its background. These are implemented in [wallpaper-daemon](https://github.com/Uyanide/dotfiles/blob/main/.scripts/wallpaper-daemon).
+
+This feature is only enabled in Niri. Swww also manages the wallpaper of the Hyprland setup, yet only in the regular way.
## Rofi
-Based on [codeopshq/dotfiles](https://github.com/codeopshq/dotfiles), also serves as cliphist browser and emojis picker.
+Based on [codeopshq/dotfiles](https://github.com/codeopshq/dotfiles), also serves as clipboard history browser and emoji picker.
## Grub theme
-Based on [vinceliuice/Elegant-grub2-themes](https://github.com/vinceliuice/Elegant-grub2-themes) with the [illustration from 紺屋鴉江](https://www.pixiv.net/artworks/119683453).
+Based on [vinceliuice/Elegant-grub2-themes](https://github.com/vinceliuice/Elegant-grub2-themes) with [illustration from 紺屋鴉江](https://www.pixiv.net/artworks/119683453).
## MPV
diff --git a/quickshell/Assets/Config/Settings.json b/quickshell/Assets/Config/Settings.json
index 549c844..f292c7c 100644
--- a/quickshell/Assets/Config/Settings.json
+++ b/quickshell/Assets/Config/Settings.json
@@ -2,8 +2,8 @@
"location": "Munich",
"notifications": {
"doNotDisturb": false,
- "lastSeenTs": 1760397059000
+ "lastSeenTs": 1760464428000
},
"primaryColor": "#89b4fa",
- "showLyricsBar": false
+ "showLyricsBar": true
}
diff --git a/quickshell/Modules/Bar/Components/Brightness.qml b/quickshell/Modules/Bar/Components/Brightness.qml
index 1ba3e8c..902a5bd 100644
--- a/quickshell/Modules/Bar/Components/Brightness.qml
+++ b/quickshell/Modules/Bar/Components/Brightness.qml
@@ -19,6 +19,7 @@ MonitorItem {
}
maxValue: 100
textSuffix: "%"
+ expandOnValueChange: true
onWheelUp: {
const monitor = getMonitor();
if (monitor)
diff --git a/quickshell/Modules/Bar/Components/Volume.qml b/quickshell/Modules/Bar/Components/Volume.qml
index 2a75cf6..b46ec1f 100644
--- a/quickshell/Modules/Bar/Components/Volume.qml
+++ b/quickshell/Modules/Bar/Components/Volume.qml
@@ -10,6 +10,7 @@ MonitorItem {
value: Math.round(AudioService.volume * 100)
maxValue: 100
textSuffix: "%"
+ expandOnValueChange: true
onWheelUp: {
AudioService.increaseVolume();
}
diff --git a/quickshell/Modules/Bar/Misc/MonitorItem.qml b/quickshell/Modules/Bar/Misc/MonitorItem.qml
index cd626e3..6e4bf09 100644
--- a/quickshell/Modules/Bar/Misc/MonitorItem.qml
+++ b/quickshell/Modules/Bar/Misc/MonitorItem.qml
@@ -14,7 +14,10 @@ Item {
property color fillColor: Colors.primary
property string textSuffix: ""
property bool pointerCursor: true
- property alias hovered: mouseArea.containsMouse
+ property bool expandOnValueChange: false
+ property real hideTimeOut: 2000 // ms
+ property bool forceExpand: false
+ property bool _expand: forceExpand || mouseArea.containsMouse
property bool disableHover: false
property bool critical: false
property color criticalColor: Colors.red
@@ -27,7 +30,34 @@ Item {
signal rightClicked()
implicitHeight: parent.height - 5
- implicitWidth: parent.height + (hovered ? textDisplay.width : 0)
+ implicitWidth: parent.height + (_expand ? textDisplay.width : 0)
+
+ Loader {
+ id: connectionLoader
+
+ active: expandOnValueChange
+
+ sourceComponent: Connections {
+ function onValueChanged() {
+ root.forceExpand = true;
+ hideTimer.restart();
+ }
+
+ target: root
+ }
+
+ }
+
+ Timer {
+ id: hideTimer
+
+ interval: parent.hideTimeOut
+ running: false
+ repeat: false
+ onTriggered: {
+ root.forceExpand = false;
+ }
+ }
MouseArea {
id: mouseArea
@@ -114,7 +144,7 @@ Item {
id: textDisplay
implicitHeight: parent.height
- implicitWidth: root.hovered ? textLabel.implicitWidth + 10 : 0
+ implicitWidth: root._expand ? textLabel.implicitWidth + 10 : 0
clip: true
Text {
@@ -127,7 +157,7 @@ Item {
font.pointSize: Fonts.small
font.family: Fonts.primary
color: root.realColor
- opacity: root.hovered ? 1 : 0
+ opacity: root._expand ? 1 : 0
}
Behavior on implicitWidth {
diff --git a/quickshell/Services/NukeKded6.qml b/quickshell/Services/NukeKded6.qml
index ff99013..00bc34d 100644
--- a/quickshell/Services/NukeKded6.qml
+++ b/quickshell/Services/NukeKded6.qml
@@ -11,7 +11,7 @@ Singleton {
id: process
running: true
- command: ["sh", "-c", "kquitapp6 kded6"]
+ command: ["kquitapp6", "kded6"]
onExited: (code, status) => {
if (code !== 0)
Logger.warn("NukeKded6", `Failed to kill kded6: ${code}`);