36 lines
954 B
QML
36 lines
954 B
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import Quickshell.Services.Niri
|
|
import "." as M
|
|
|
|
RowLayout {
|
|
spacing: 4
|
|
|
|
Repeater {
|
|
model: Niri.workspaces
|
|
|
|
delegate: Rectangle {
|
|
required property var modelData
|
|
|
|
implicitWidth: 24
|
|
implicitHeight: 20
|
|
radius: 4
|
|
color: modelData.isFocused
|
|
? M.Theme.base0D
|
|
: (modelData.isActive ? M.Theme.base03 : M.Theme.base02)
|
|
|
|
Text {
|
|
anchors.centerIn: parent
|
|
text: modelData.idx ?? modelData.id
|
|
color: modelData.isFocused ? M.Theme.base00 : M.Theme.base05
|
|
font.pixelSize: M.Theme.fontSize
|
|
font.family: M.Theme.fontFamily
|
|
}
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
onClicked: Niri.dispatch(["action", "focus-workspace", String(modelData.id)])
|
|
}
|
|
}
|
|
}
|
|
}
|