77 lines
1.7 KiB
QML
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 {}
|
|
|
|
}
|
|
}
|
|
}
|