add left and right spacing

This commit is contained in:
lucy 2026-07-16 09:39:55 +02:00
commit 56b5b0a4e6
2 changed files with 104 additions and 103 deletions

View file

@ -7,73 +7,73 @@ import qs
import qs.settings import qs.settings
Variants { Variants {
model: Quickshell.screens model: Quickshell.screens
delegate: WlrLayershell { delegate: WlrLayershell {
id: root id: root
required property var modelData required property var modelData
property double moduleHeight: implicitHeight - 12 property double moduleHeight: implicitHeight - 12
screen: modelData screen: modelData
anchors { anchors {
top: true top: true
left: true left: true
right: true right: true
}
margins {
top: Config.floating ? 10 : 0
left: Config.floating ? 10 : 0
right: Config.floating ? 10 : 0
}
color: 'transparent'
implicitHeight: Config.barHeight
layer: WlrLayer.Top
Rectangle {
radius: Config.floating ? Config.rounding : 0
color: Qt.rgba(Colors.base00.r, Colors.base00.g, Colors.base00.b, Config.opacity)
id: container
anchors.fill: parent
RowLayout {
id: leftLayout
spacing: 5
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
anchors.leftMargin: Config.rounding
Ws {
moduleHeight: root.moduleHeight
barScreen: root.modelData
}
ActiveWindow {
moduleHeight: root.moduleHeight
}
}
RowLayout {
id: centerLayout
anchors.centerIn: parent
spacing: 5
Clock {
moduleHeight: root.moduleHeight
}
}
RowLayout {
id: rightLayout
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
spacing: 5
anchors.rightMargin: Config.rounding
Mpris {
moduleHeight: root.moduleHeight
}
Bat {
moduleHeight: root.moduleHeight
}
Pw {
moduleHeight: root.moduleHeight
}
Tray {
moduleHeight: root.moduleHeight
}
}
}
} }
margins {
top: Config.floating ? 10 : 0
left: Config.floating ? 10 : 0
right: Config.floating ? 10 : 0
}
color: 'transparent'
implicitHeight: Config.barHeight
layer: WlrLayer.Top
Rectangle {
id: container
radius: Config.floating ? Config.rounding : 0
color: Qt.rgba(Colors.base00.r, Colors.base00.g, Colors.base00.b, Config.opacity)
anchors.fill: parent
RowLayout {
id: leftLayout
spacing: 5
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
anchors.leftMargin: Config.rounding == 0 ? 10 : Config.rounding
Ws {
moduleHeight: root.moduleHeight
barScreen: root.modelData
}
ActiveWindow {
moduleHeight: root.moduleHeight
}
}
RowLayout {
id: centerLayout
anchors.centerIn: parent
spacing: 5
Clock {
moduleHeight: root.moduleHeight
}
}
RowLayout {
id: rightLayout
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
spacing: 5
anchors.rightMargin: Config.rounding == 0 ? 10 : Config.rounding
Mpris {
moduleHeight: root.moduleHeight
}
Bat {
moduleHeight: root.moduleHeight
}
Pw {
moduleHeight: root.moduleHeight
}
Tray {
moduleHeight: root.moduleHeight
}
}
}
}
} }

View file

@ -9,49 +9,50 @@ import qs.widgets
import qs.settings import qs.settings
Rectangle { Rectangle {
id: root id: root
required property ShellScreen barScreen required property ShellScreen barScreen
required property double moduleHeight required property double moduleHeight
radius: Config.rounding radius: Config.rounding
color: 'transparent' color: 'transparent'
implicitWidth: wsLayout.implicitWidth implicitWidth: wsLayout.implicitWidth
implicitHeight: moduleHeight implicitHeight: moduleHeight
RowLayout { RowLayout {
id: wsLayout id: wsLayout
anchors.centerIn: root anchors.centerIn: root
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
spacing: 0 spacing: 0
Repeater { Repeater {
id: wsRepeater id: wsRepeater
model: Hyprland.workspaces model: Hyprland.workspaces
delegate: Rectangle { delegate: Rectangle {
id: wsWrapper id: wsWrapper
required property var modelData required property var modelData
property bool active: modelData.active property bool active: modelData.active
property bool vacant: modelData.toplevels.values.length === 0 property bool vacant: modelData.toplevels.values.length === 0
visible: Hyprland.monitorFor(root.barScreen) === wsWrapper.modelData.monitor visible: Hyprland.monitorFor(root.barScreen) === wsWrapper.modelData.monitor
implicitHeight: root.moduleHeight implicitHeight: root.moduleHeight
implicitWidth: 16 implicitWidth: 16
parent: wsLayout parent: wsLayout
color: 'transparent' color: 'transparent'
radius: Config.rounding radius: Config.rounding
StyledText { StyledText {
anchors.centerIn: parent anchors.centerIn: parent
text: wsWrapper.modelData.id > 10 ? wsWrapper.modelData.id > 20 ? wsWrapper.modelData.id - 20 : wsWrapper.modelData.id - 10 : wsWrapper.modelData.id text: wsWrapper.modelData.id > 10 ? wsWrapper.modelData.id > 20 ? wsWrapper.modelData.id - 20 : wsWrapper.modelData.id - 10 : wsWrapper.modelData.id
color: wsWrapper.active ? Colors.base0D : Colors.base04 color: wsWrapper.active ? Colors.base0D : Colors.base04
font.bold: wsWrapper.active opacity: wsWrapper.active ? 1.0 : 0.4
} font.bold: wsWrapper.active
MouseArea {
id: clickHandler
anchors.fill: parent
acceptedButtons: Qt.LeftButton
cursorShape: Qt.PointingHandCursor
onClicked: wsWrapper.ws.activate()
}
}
} }
MouseArea {
id: clickHandler
anchors.fill: parent
acceptedButtons: Qt.LeftButton
cursorShape: Qt.PointingHandCursor
onClicked: wsWrapper.ws.activate()
}
}
} }
}
} }