quickshell/modules/bar/Ws.qml
2026-09-09 00:09:33 +02:00

42 lines
1.3 KiB
QML

import Quickshell
import Quickshell.WindowManager
import QtQuick
import QtQuick.Layouts
import qs
import qs.widgets
import qs.settings
BarComponent {
id: root
required property ShellScreen barScreen
implicitWidth: wsLayout.implicitWidth
RowLayout {
id: wsLayout
anchors.centerIn: parent
spacing: 4
Repeater {
model: WindowManager.screenProjection(root.barScreen).windowsets
delegate: BarComponent {
id: wsContainer
required property var modelData
implicitWidth: 16
implicitHeight: implicitWidth
color: modelData.active ? Colors.accent : 'transparent'
MouseArea {
id: clickHandler
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
acceptedButtons: Qt.LeftButton
onClicked: wsContainer.modelData.activate()
}
StyledText {
id: wsText
anchors.centerIn: parent
text: parent.modelData.name
color: parent.modelData.shouldDisplay ? parent.modelData.active ? Colors.base00 : Colors.base05 : Colors.base03
font.bold: parent.modelData.active
}
}
}
}
}