Files
quickshell/modules/bar/Bar.qml
T
2026-06-14 00:49:24 +02:00

77 lines
1.7 KiB
QML

import QtQuick
import Quickshell
import Quickshell.Hyprland
import "./widgets"
import "../../config"
PanelWindow {
id: panel
color: "transparent"
anchors.top: true
anchors.left: true
anchors.right: true
implicitHeight: Math.floor(screen.height * Config.barHeightRatio(screen.height))
exclusiveZone: height // this is so context menus don't clip into the bar
property HyprlandMonitor barThisMonitor: Hyprland.monitorFor(screen)
margins {
top: 0
left: 0
right: 0
}
Rectangle { // Bar
id: bar
anchors.fill: parent
color: Qt.alpha(Colors.background, 0.5)
Row { // bar widgets left
id: widgetsLeft
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 0
spacing: Config.big_spacing_fun(height)
MenuButton {}
Workspaces {
thisMonitor: barThisMonitor
anchors.verticalCenter: parent.verticalCenter
}
}
Row { // bar widgets center
id: widgetsCenter
anchors.centerIn: parent
spacing: Config.big_spacing_fun(height)
Clock {}
}
Row { // bar widgets right
id: widgetsRight
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 0
spacing: Config.big_spacing_fun(height)
// TODO: Add bluetooth, network, audio, power, maybe HW monitor
Tray{}
Battery{}
Network {}
IdleButton {}
PowerButton {}
}
}
}