import QtQuick
import QtQuick.Layouts
import Quickshell
import qs.modules.common
import qs.services
Rectangle {
id: root
implicitWidth: row.width + 20
implicitHeight: Config.data.bar.size - Config.data.bar.size * 0.25
color: Config.data.theme.colors.background2
radius: 50
Component.onCompleted: {
Niri.workspaces.maxCount = Config.data.workspaces.maxCount;
}
Row {
id: row
anchors.centerIn: parent
spacing: 8
Repeater {
model: Niri.workspaces
Item {
implicitWidth: 10
implicitHeight: 10
Rectangle {
anchors.fill: parent
radius: 5
color: (model.isActive || model.activeWindowId > 0)
? Config.data.workspaces.colors.active
: Config.data.workspaces.colors.inactive;
opacity: model.isActive ? 1.0 : 0.5
scale: model.isActive ? 1.25 : 1.0
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: Niri.focusWorkspaceById(model.id)
}
Behavior on scale {
PropertyAnimation {
duration: 150
easing.type: Easing.InOutQuad
}
}
Behavior on opacity {
NumberAnimation { duration: 150 }
}
}
}
}
}
}