pragma ComponentBehavior: Bound import Quickshell import Quickshell.Hyprland import QtQuick import QtQuick.Layouts import qs import qs.settings import qs.widgets Rectangle { id: wsWrap required property ShellScreen barScreen color: "transparent" radius: Settings.config.rounding implicitWidth: wsLayout.implicitWidth + 6 implicitHeight: wsLayout.implicitHeight + 6 RowLayout { id: wsLayout spacing: 6 anchors.centerIn: parent Repeater { id: wsRep model: Hyprland.workspaces delegate: Rectangle { id: wsRect implicitWidth: modelData.focused ? Settings.config.barHeight * 1.5 : Settings.config.barHeight / 2 + 10 implicitHeight: Settings.config.barHeight / 2 + 6 visible: modelData.id < 0 ? false : modelData.monitor?.name == wsWrap.barScreen.name required property var modelData color: modelData.focused ? Colors.primary_container : Colors.surface_container_low radius: Settings.config.rounding CText { id: wsText anchors.centerIn: parent text: wsRect.modelData.id opacity: parent.modelData.focused ? 1 : 0.5 } Behavior on implicitWidth { NumberAnimation { easing { type: Easing.InOutBack overshoot: 3 } duration: 500 } } MouseArea { id: mouseHandler acceptedButtons: Qt.LeftButton anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { wsRect.modelData.activate(); } } } } } }