hyprland: add basic quickshell bar config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5ac532d46f
commit
69a72e9406
1 changed files with 100 additions and 0 deletions
|
|
@ -560,6 +560,106 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
xdg.configFile."quickshell/shell.qml" = lib.mkIf isGaming {
|
||||
text = ''
|
||||
import Quickshell
|
||||
import Quickshell.Hyprland
|
||||
import Quickshell.Services.SystemTray
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
|
||||
ShellRoot {
|
||||
Variants {
|
||||
model: Quickshell.screens
|
||||
|
||||
PanelWindow {
|
||||
required property var modelData
|
||||
screen: modelData
|
||||
|
||||
anchors {
|
||||
top: true
|
||||
left: true
|
||||
right: true
|
||||
}
|
||||
|
||||
implicitHeight: 32
|
||||
color: "#${c.base00}"
|
||||
|
||||
RowLayout {
|
||||
anchors.fill: parent
|
||||
spacing: 0
|
||||
|
||||
// Workspaces
|
||||
RowLayout {
|
||||
spacing: 0
|
||||
Layout.leftMargin: 6
|
||||
|
||||
Repeater {
|
||||
model: Hyprland.workspaces
|
||||
|
||||
Rectangle {
|
||||
required property var modelData
|
||||
Layout.preferredWidth: 32
|
||||
Layout.preferredHeight: 32
|
||||
color: modelData.focused ? "#${c.base02}" : "transparent"
|
||||
radius: 6
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: modelData.name
|
||||
color: modelData.focused ? "#${c.base05}" : "#${c.base03}"
|
||||
font.family: "FiraMono Nerd Font"
|
||||
font.pixelSize: 13
|
||||
font.weight: modelData.focused ? Font.Bold : Font.Normal
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: modelData.activate()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Spacer
|
||||
Item { Layout.fillWidth: true }
|
||||
|
||||
// System tray
|
||||
RowLayout {
|
||||
spacing: 4
|
||||
Layout.rightMargin: 8
|
||||
|
||||
Repeater {
|
||||
model: SystemTray.items
|
||||
|
||||
Image {
|
||||
required property var modelData
|
||||
source: modelData.icon
|
||||
Layout.preferredWidth: 18
|
||||
Layout.preferredHeight: 18
|
||||
smooth: true
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: (event) => {
|
||||
if (event.button === Qt.RightButton && parent.modelData.hasMenu) {
|
||||
parent.modelData.menu.open();
|
||||
} else {
|
||||
parent.modelData.activate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue