a BUNCH of qml which I havent reviewed yet

This commit is contained in:
2026-10-23 16:19:22 -06:00
parent 7a57f3a0d2
commit 0d297296ca
16 changed files with 921 additions and 0 deletions
+76
View File
@@ -0,0 +1,76 @@
import QtQuick
import Quickshell
import Quickshell.Hyprland
import Quickshell.Services.UPower
// port of the polybar 'i3' bar ($DOTWRYN/config/user/polybar/config.ini)
PanelWindow {
id: bar
readonly property HyprlandMonitor monitor: Hyprland.monitorFor(screen)
readonly property int activeWorkspaceId: monitor?.activeWorkspace?.id ?? 1
readonly property bool activeWorkspaceFullscreen: monitor?.activeWorkspace?.hasFullscreen ?? false
// the bar shows on every workspace except these
readonly property var hiddenWorkspaceIds: [2]
// fullscreen is checked here too: re-mapping the bar (on workspace switch) would
// otherwise draw it over a window that was already fullscreen
visible: !hiddenWorkspaceIds.includes(activeWorkspaceId)
&& !activeWorkspaceFullscreen
anchors {
bottom: true
left: true
right: true
}
implicitHeight: 32
color: Colors.background
TextMetrics {
id: padding
font.family: Colors.font
font.pointSize: Colors.fontSize
text: " "
}
readonly property real separatorWidth: padding.advanceWidth * 2
Row { // modules-left
anchors.left: parent.left
anchors.leftMargin: padding.advanceWidth
anchors.verticalCenter: parent.verticalCenter
height: parent.height
spacing: bar.separatorWidth
Workspaces { height: parent.height; monitor: bar.monitor }
}
Row { // modules-center
anchors.centerIn: parent
height: parent.height
spacing: bar.separatorWidth
Tray { height: parent.height; window: bar }
Repeater {
model: UPower.devices.values.filter(device => device.isLaptopBattery)
Battery { required property var modelData; device: modelData; anchors.verticalCenter: parent.verticalCenter }
}
}
Row { // modules-right
anchors.right: parent.right
anchors.rightMargin: padding.advanceWidth
anchors.verticalCenter: parent.verticalCenter
height: parent.height
spacing: bar.separatorWidth
Disk { anchors.verticalCenter: parent.verticalCenter }
Memory { anchors.verticalCenter: parent.verticalCenter }
Cpu { anchors.verticalCenter: parent.verticalCenter }
Network { anchors.verticalCenter: parent.verticalCenter; interfaceType: "wireless" }
Network { anchors.verticalCenter: parent.verticalCenter; interfaceType: "wired" }
Clock { anchors.verticalCenter: parent.verticalCenter }
}
}