47 lines
1.3 KiB
QML
47 lines
1.3 KiB
QML
import QtQuick // for Text
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
import Quickshell.Hyprland
|
|
import Quickshell.Widgets
|
|
|
|
Item {
|
|
implicitWidth: 10 + rep.count * (2 * lay.spacing + 25)
|
|
implicitHeight: 30
|
|
|
|
Component.onCompleted: Hyprland.refreshWorkspaces()
|
|
|
|
ClippingWrapperRectangle {
|
|
radius: 5
|
|
anchors.fill: parent
|
|
RowLayout {
|
|
id: lay
|
|
Repeater {
|
|
id: rep
|
|
|
|
property var ws: {
|
|
let arr = [];
|
|
Hyprland.workspaces.values.forEach((w) => { if(w.id > 0) arr.push(w) })
|
|
return arr;
|
|
}
|
|
|
|
model: ws
|
|
ClippingWrapperRectangle {
|
|
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
|
radius: 10
|
|
implicitWidth: 25
|
|
Button {
|
|
background: Rectangle {
|
|
color: Hyprland.focusedWorkspace.id == rep.model[index].id ? "#ffff00ff" : "#ff7744dd"
|
|
anchors.fill: parent
|
|
}
|
|
text: rep.model[index].id
|
|
onClicked: rep.model[index].activate()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|