diff options
Diffstat (limited to '')
| -rw-r--r-- | modules/bar/components/Clock.qml | 1 | ||||
| -rw-r--r-- | modules/bar/components/StatusIcons.qml | 3 | ||||
| -rw-r--r-- | modules/bar/components/workspaces/OccupiedBg.qml | 11 |
3 files changed, 8 insertions, 7 deletions
diff --git a/modules/bar/components/Clock.qml b/modules/bar/components/Clock.qml index be29c0b..801e93d 100644 --- a/modules/bar/components/Clock.qml +++ b/modules/bar/components/Clock.qml @@ -17,7 +17,6 @@ Column { active: Config.bar.clock.showIcon visible: active - asynchronous: true sourceComponent: MaterialIcon { text: "calendar_month" diff --git a/modules/bar/components/StatusIcons.qml b/modules/bar/components/StatusIcons.qml index 2f52596..442bd2c 100644 --- a/modules/bar/components/StatusIcons.qml +++ b/modules/bar/components/StatusIcons.qml @@ -143,7 +143,7 @@ StyledRect { // Network icon WrappedLoader { name: "network" - active: Config.bar.status.showNetwork + active: Config.bar.status.showNetwork && (! Nmcli.activeEthernet || Config.bar.status.showWifi) sourceComponent: MaterialIcon { animate: true @@ -265,7 +265,6 @@ StyledRect { required property string name Layout.alignment: Qt.AlignHCenter - asynchronous: true visible: active } } diff --git a/modules/bar/components/workspaces/OccupiedBg.qml b/modules/bar/components/workspaces/OccupiedBg.qml index 0364575..da6fa55 100644 --- a/modules/bar/components/workspaces/OccupiedBg.qml +++ b/modules/bar/components/workspaces/OccupiedBg.qml @@ -16,12 +16,15 @@ Item { property list<var> pills: [] onOccupiedChanged: { + if (!occupied) return; let count = 0; const start = groupOffset; const end = start + Config.bar.workspaces.shown; for (const [ws, occ] of Object.entries(occupied)) { if (ws > start && ws <= end && occ) { - if (!occupied[ws - 1]) { + const isFirstInGroup = Number(ws) === start + 1; + const isLastInGroup = Number(ws) === end; + if (isFirstInGroup || !occupied[ws - 1]) { if (pills[count]) pills[count].start = ws; else @@ -30,7 +33,7 @@ Item { })); count++; } - if (!occupied[ws + 1]) + if ((isLastInGroup || !occupied[ws + 1]) && pills[count - 1]) pills[count - 1].end = ws; } } @@ -48,8 +51,8 @@ Item { required property var modelData - readonly property Workspace start: root.workspaces.itemAt(getWsIdx(modelData.start)) ?? null - readonly property Workspace end: root.workspaces.itemAt(getWsIdx(modelData.end)) ?? null + readonly property Workspace start: root.workspaces.count > 0 ? root.workspaces.itemAt(getWsIdx(modelData.start)) ?? null : null + readonly property Workspace end: root.workspaces.count > 0 ? root.workspaces.itemAt(getWsIdx(modelData.end)) ?? null : null function getWsIdx(ws: int): int { let i = ws - 1; |