nixos/quickshell/Workspaces.qml
2026-04-15 10:38:34 -03:00

47 lines
1.3 KiB
QML

import QtQuick
import QtQuick.Layouts
RowLayout {
spacing: Theme.spacing
Repeater {
model: niri.workspaces
// Container com largura fixa — o layout nunca muda
Item {
required property var modelData
readonly property bool focused: modelData.isFocused
readonly property bool occupied: modelData.activeWindowId !== null
width: 24
height: 8
Rectangle {
anchors.centerIn: parent
height: parent.height
radius: height / 2
width: parent.focused ? 20 : 8
color: {
if (parent.focused) return Theme.accent
if (parent.occupied) return Theme.subtle
return Theme.muted
}
Behavior on width {
NumberAnimation { duration: 150; easing.type: Easing.OutCubic }
}
Behavior on color {
ColorAnimation { duration: 150 }
}
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: niri.focusWorkspaceById(modelData.id)
}
}
}
}