quickshell/modules/bar/Ws.qml

49 lines
1.6 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: 0
Repeater {
model: WindowManager.screenProjection(root.barScreen).windowsets
delegate: BarComponent {
id: wsContainer
required property var modelData
visible: modelData.shouldDisplay
implicitWidth: modelData.active ? root.implicitHeight * 2.2 : root.implicitHeight
color: modelData.active ? Colors.accent : Colors.moduleBg
Behavior on implicitWidth {
PropertyAnimation {
duration: 350
easing.type: Easing.InOutBack
easing.overshoot: 1.2
}
}
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.active ? Colors.base00 : Colors.text
}
}
}
}
}