summaryrefslogtreecommitdiff
path: root/modules/bar/components/workspaces
diff options
context:
space:
mode:
Diffstat (limited to 'modules/bar/components/workspaces')
-rw-r--r--modules/bar/components/workspaces/OccupiedBg.qml103
1 files changed, 0 insertions, 103 deletions
diff --git a/modules/bar/components/workspaces/OccupiedBg.qml b/modules/bar/components/workspaces/OccupiedBg.qml
deleted file mode 100644
index 56b215e..0000000
--- a/modules/bar/components/workspaces/OccupiedBg.qml
+++ /dev/null
@@ -1,103 +0,0 @@
-pragma ComponentBehavior: Bound
-
-import qs.components
-import qs.services
-import qs.config
-import Quickshell
-import QtQuick
-
-Item {
- id: root
-
- required property Repeater workspaces
- required property var occupied
- required property int groupOffset
-
- 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) {
- const isFirstInGroup = Number(ws) === start + 1;
- const isLastInGroup = Number(ws) === end;
- if (isFirstInGroup || !occupied[ws - 1]) {
- if (pills[count])
- pills[count].start = ws;
- else
- pills.push(pillComp.createObject(root, {
- start: ws
- }));
- count++;
- }
- if ((isLastInGroup || !occupied[ws + 1]) && pills[count - 1])
- pills[count - 1].end = ws;
- }
- }
- if (pills.length > count)
- pills.splice(count, pills.length - count).forEach(p => p.destroy());
- }
-
- Repeater {
- model: ScriptModel {
- values: root.pills.filter(p => p)
- }
-
- StyledRect {
- id: rect
-
- required property var modelData
-
- 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;
- while (i < 0)
- i += Config.bar.workspaces.shown;
- return i % Config.bar.workspaces.shown;
- }
-
- anchors.horizontalCenter: root.horizontalCenter
-
- y: (start?.y ?? 0) - 1
- implicitWidth: Config.bar.sizes.innerWidth - Appearance.padding.small * 2 + 2
- implicitHeight: start && end ? end.y + end.size - start.y + 2 : 0
-
- color: Colours.layer(Colours.palette.m3surfaceContainerHigh, 2)
- radius: Appearance.rounding.full
-
- scale: 0
- Component.onCompleted: scale = 1
-
- Behavior on scale {
- Anim {
- easing.bezierCurve: Appearance.anim.curves.standardDecel
- }
- }
-
- Behavior on y {
- Anim {}
- }
-
- Behavior on implicitHeight {
- Anim {}
- }
- }
- }
-
- component Pill: QtObject {
- property int start
- property int end
- }
-
- Component {
- id: pillComp
-
- Pill {}
- }
-}