initial commit

This commit is contained in:
2025-09-14 18:25:35 +02:00
commit 4b76b99248
2 changed files with 143 additions and 0 deletions
+142
View File
@@ -0,0 +1,142 @@
import Quickshell
import Quickshell.Io // for Process
import QtQuick
import Quickshell.Hyprland
import Quickshell.Services.SystemTray
Variants {
model: Quickshell.screens;
delegate: Component {
PanelWindow {
// the screen from the screens list will be injected into this
// property
required property var modelData
// we can then set the window's screen to the injected property
screen: modelData
anchors {
top: true
left: true
right: true
}
implicitHeight: 30
color: "transparent"
Singleton {
id: root
property string time
Timer {
id: timer
interval: 1000
running: true
repeat: true
onTriggered: dateProc.running = true
}
}
Text {
// give the text an ID we can refer to elsewhere in the file
id: clock
anchors.centerIn: parent
color: "white"
// create a process management object
Process {
id: dateProc
command: ["date", "+%a, %d %b %I:%M %P"]
running: true
stdout: StdioCollector {
onStreamFinished: clock.text = this.text
}
}
Timer {
interval: 1000
running: true
repeat: true
onTriggered: dateProc.running = true
}
}
Text {
id: playbackTitle
x: 218
color: "white"
Process {
id: playbackProc
command: ["/home/user/.scripts/now-playing"]
running: true
stdout: StdioCollector {
onStreamFinished: playbackTitle.text = this.text
}
}
Timer {
interval: 300
running: true
repeat: true
onTriggered: playbackProc.running = true
}
}
ListView {
width: 200; height: 400
x: 120
model: Hyprland.focusedWorkspace
delegate: Text {
color: "white"
required property HyprlandWorkspace modelData
text: modelData.name
}
}
Row {
x: 2035
spacing: 8
Repeater {
model: SystemTray.items
Image {
required property SystemTrayItem modelData
source: modelData.icon
width: 20; height: 20
}
}
}
Text {
id: updateCount
x: 2270
color: "white"
Process {
id: updateProc
command: ["/home/user/.scripts/check-update"]
running: true
stdout: StdioCollector {
onStreamFinished: updateCount.text = this.text
}
}
}
}
}
}