diff --git a/modules/Modules.qml b/modules/Modules.qml index 2992789..2ccdbf5 100644 --- a/modules/Modules.qml +++ b/modules/Modules.qml @@ -20,8 +20,7 @@ QtObject { enable: true }) property var notifications: ({ - enable: true, - timeout: 3000 + enable: true }) property var mpris: ({ enable: true diff --git a/modules/Mpris.qml b/modules/Mpris.qml index f6e26ac..ada56ba 100644 --- a/modules/Mpris.qml +++ b/modules/Mpris.qml @@ -12,14 +12,8 @@ M.BarSection { visible: opacity > 0 tooltip: "" - property int _playerIdx: 0 - readonly property var _players: Mpris.players.values ?? [] - readonly property MprisPlayer player: _players[_playerIdx] ?? _players[0] ?? null + readonly property MprisPlayer player: Mpris.players.values[0] ?? null readonly property bool playing: player?.playbackState === MprisPlaybackState.Playing - - // Reset index if current player disappears - on_PlayersChanged: if (_playerIdx >= _players.length) - _playerIdx = 0 property string _cachedArt: "" property string _artTrack: "" @@ -434,48 +428,15 @@ M.BarSection { } } - // Player switcher - Row { - anchors.horizontalCenter: parent.horizontalCenter - height: 22 - spacing: 6 - - Repeater { - model: root._players - - delegate: Rectangle { - required property var modelData - required property int index - - readonly property bool _active: index === root._playerIdx - - width: _pLabel.implicitWidth + 12 - height: 18 - radius: 9 - color: _active ? M.Theme.base02 : (pArea.containsMouse ? M.Theme.base02 : "transparent") - border.color: _active ? M.Theme.base0E : M.Theme.base03 - border.width: _active ? 1 : 0 - anchors.verticalCenter: parent.verticalCenter - - Text { - id: _pLabel - anchors.centerIn: parent - text: modelData.identity ?? "Player" - color: _active ? M.Theme.base0E : M.Theme.base04 - font.pixelSize: M.Theme.fontSize - 2 - font.family: M.Theme.fontFamily - font.bold: _active - } - - MouseArea { - id: pArea - anchors.fill: parent - hoverEnabled: true - cursorShape: Qt.PointingHandCursor - onClicked: root._playerIdx = index - } - } - } + // Player name + Text { + width: parent.width + height: 20 + horizontalAlignment: Text.AlignHCenter + text: root.player?.identity ?? "" + color: M.Theme.base03 + font.pixelSize: M.Theme.fontSize - 2 + font.family: M.Theme.fontFamily } } } diff --git a/modules/NotifService.qml b/modules/NotifService.qml index 5e408fb..445cec0 100644 --- a/modules/NotifService.qml +++ b/modules/NotifService.qml @@ -4,7 +4,6 @@ import QtQuick import Quickshell import Quickshell.Io import Quickshell.Services.Notifications -import "." as M QtObject { id: root @@ -85,7 +84,7 @@ QtObject { // Auto-expire popup if (data.popup) { - const timeout = notif.expireTimeout > 0 ? notif.expireTimeout : (M.Modules.notifications.timeout || 3000); + const timeout = notif.expireTimeout > 0 ? notif.expireTimeout : 5000; Qt.callLater(() => { _expireTimer.createObject(root, { _notifId: data.id, diff --git a/nix/hm-module.nix b/nix/hm-module.nix index fe989d7..3752617 100644 --- a/nix/hm-module.nix +++ b/nix/hm-module.nix @@ -82,6 +82,7 @@ in "tray" "windowTitle" "clock" + "notifications" "mpris" "volume" "idleInhibitor" @@ -90,13 +91,6 @@ in in simpleModules // { - notifications = moduleOpt "notifications" { - timeout = lib.mkOption { - type = lib.types.int; - default = 3000; - description = "Notification popup timeout in milliseconds."; - }; - }; bluetooth = moduleOpt "bluetooth" (intervalOpt 5000); network = moduleOpt "network" (intervalOpt 5000); powerProfile = moduleOpt "powerProfile" (intervalOpt 5000);