diff --git a/modules/Bar.qml b/modules/Bar.qml index 8e69a2a..74364e2 100644 --- a/modules/Bar.qml +++ b/modules/Bar.qml @@ -127,6 +127,7 @@ PanelWindow { spacing: M.Theme.barSpacing M.BarGroup { + leftEdge: true M.Workspaces { bar: bar visible: M.Modules.workspaces.enable @@ -214,6 +215,7 @@ PanelWindow { // Power M.BarGroup { + rightEdge: true M.Battery {} M.Power { bar: bar diff --git a/modules/BarGroup.qml b/modules/BarGroup.qml index 7c6cfe0..5743ae8 100644 --- a/modules/BarGroup.qml +++ b/modules/BarGroup.qml @@ -17,6 +17,13 @@ Item { return Math.max(0, Math.min(1, gx / scr.width)); } property color borderColor: Qt.rgba(M.Theme.base0C.r + (M.Theme.base09.r - M.Theme.base0C.r) * _posFrac, M.Theme.base0C.g + (M.Theme.base09.g - M.Theme.base0C.g) * _posFrac, M.Theme.base0C.b + (M.Theme.base09.b - M.Theme.base0C.b) * _posFrac, 1) + property bool leftEdge: false + property bool rightEdge: false + + readonly property real _tlr: leftEdge ? M.Theme.screenRadius : M.Theme.radius + readonly property real _trr: rightEdge ? M.Theme.screenRadius : M.Theme.radius + readonly property real _blr: M.Theme.radius + readonly property real _brr: M.Theme.radius visible: row.visibleChildren.length > 0 @@ -32,7 +39,10 @@ Item { color: "transparent" border.color: root.borderColor border.width: 1 - radius: M.Theme.radius + topLeftRadius: root._tlr + topRightRadius: root._trr + bottomLeftRadius: root._blr + bottomRightRadius: root._brr visible: false } @@ -49,14 +59,20 @@ Item { // Solid background Rectangle { anchors.fill: parent - radius: M.Theme.radius + topLeftRadius: root._tlr + topRightRadius: root._trr + bottomLeftRadius: root._blr + bottomRightRadius: root._brr color: M.Theme.base01 } // Accent gradient overlay Rectangle { anchors.fill: parent - radius: M.Theme.radius + topLeftRadius: root._tlr + topRightRadius: root._trr + bottomLeftRadius: root._blr + bottomRightRadius: root._brr gradient: Gradient { GradientStop { position: 0 @@ -75,7 +91,10 @@ Item { color: "transparent" border.color: root.borderColor border.width: 1 - radius: M.Theme.radius + topLeftRadius: root._tlr + topRightRadius: root._trr + bottomLeftRadius: root._blr + bottomRightRadius: root._brr } Row { diff --git a/modules/NotifCenter.qml b/modules/NotifCenter.qml index 1c1e5eb..5ecabf2 100644 --- a/modules/NotifCenter.qml +++ b/modules/NotifCenter.qml @@ -69,13 +69,9 @@ M.PopupPanel { function _cascadeDismiss() { const dels = _delegates.filter(d => d && d.modelData && !d.modelData.closed); for (let i = 0; i < dels.length; i++) { - const d = dels[i]; - const delay = i * 60; - Qt.callLater(() => { - _cascadeTimer.createObject(menuWindow, { - _target: d, - _delay: delay - }); + _cascadeTimer.createObject(menuWindow, { + _target: dels[i], + _delay: i * 60 }); } } @@ -87,8 +83,8 @@ M.PopupPanel { interval: _delay running: true onTriggered: { - if (_target && _target._dismissAnim) - _target._dismissAnim.start(); + if (_target && _target.dismiss) + _target.dismiss(); destroy(); } } @@ -119,6 +115,10 @@ M.PopupPanel { readonly property real _targetHeight: notifContent.height + 12 property real _heightScale: 1 + function dismiss() { + _dismissAnim.start(); + } + Component.onCompleted: { menuWindow._delegates.push(notifItem); fadeIn.start(); diff --git a/modules/NotifService.qml b/modules/NotifService.qml index 130dbd7..8a92589 100644 --- a/modules/NotifService.qml +++ b/modules/NotifService.qml @@ -107,7 +107,7 @@ QtObject { property Component _expireTimer: Component { Timer { - property string _notifId + property var _notifId running: true onTriggered: { root.dismissPopup(_notifId);