commit 4b76b9924887caefc47fe36d160f2feb875ae120 Author: KeksNino Date: Sun Sep 14 18:25:35 2025 +0200 initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..8d38f6a --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +my quickshell config diff --git a/shell.qml b/shell.qml new file mode 100644 index 0000000..748e7df --- /dev/null +++ b/shell.qml @@ -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 + } + } + } + + } + } +}