112 lines
2.7 KiB
QML
112 lines
2.7 KiB
QML
import QtQuick
|
|
import Quickshell
|
|
import Quickshell.Wayland
|
|
import Quickshell.Hyprland
|
|
import Quickshell.Services.Pipewire
|
|
|
|
import "Topbar"
|
|
|
|
PanelWindow {
|
|
id: topbarWindow
|
|
|
|
anchors {
|
|
top: true
|
|
left: true
|
|
right: true
|
|
}
|
|
|
|
WlrLayershell.layer: WlrLayer.Top
|
|
WlrLayershell.focusable: false
|
|
WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
|
|
WlrLayershell.namespace: "deltarune-quickshell"
|
|
|
|
mask: Region {}
|
|
|
|
visible: ShellStateManager.shellOpen
|
|
exclusionMode: ExclusionMode.Ignore
|
|
aboveWindows: true
|
|
focusable: false
|
|
|
|
implicitHeight: 182
|
|
color: "#000000"
|
|
|
|
readonly property var focusedWorkspace: Hyprland.focusedWorkspace
|
|
readonly property string workspaceLabel: {
|
|
if (!focusedWorkspace)
|
|
return "WS --";
|
|
|
|
if (focusedWorkspace.id >= 0)
|
|
return "WS " + focusedWorkspace.id;
|
|
|
|
return "WS " + String(focusedWorkspace.name || "--");
|
|
}
|
|
|
|
readonly property var defaultSink: Pipewire.defaultAudioSink
|
|
readonly property string volumeLabel: {
|
|
if (!defaultSink || !defaultSink.audio)
|
|
return "VOL --";
|
|
|
|
if (defaultSink.audio.muted)
|
|
return "VOL MUTE";
|
|
|
|
return "VOL " + Math.round(defaultSink.audio.volume * 100) + "%";
|
|
}
|
|
|
|
PwObjectTracker {
|
|
objects: [Pipewire.defaultAudioSink]
|
|
}
|
|
|
|
SystemClock {
|
|
id: clock
|
|
precision: SystemClock.Minutes
|
|
}
|
|
|
|
Topbar {
|
|
manager: ShellStateManager
|
|
}
|
|
|
|
Text {
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: 18
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 10
|
|
color: "#ffffff"
|
|
text: topbarWindow.workspaceLabel
|
|
font.pixelSize: 36
|
|
antialiasing: false
|
|
font.family: "8bitoperator JVE"
|
|
renderType: Text.NativeRendering
|
|
font.hintingPreference: Font.PreferNoHinting
|
|
}
|
|
|
|
Column {
|
|
spacing: 2
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: 18
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 10
|
|
|
|
Text {
|
|
anchors.right: parent.right
|
|
color: "#ffffff"
|
|
text: topbarWindow.volumeLabel
|
|
font.pixelSize: 36
|
|
antialiasing: false
|
|
font.family: "8bitoperator JVE"
|
|
renderType: Text.NativeRendering
|
|
font.hintingPreference: Font.PreferNoHinting
|
|
}
|
|
|
|
Text {
|
|
anchors.right: parent.right
|
|
color: "#ffffff"
|
|
text: Qt.formatTime(clock.date, "hh:mm")
|
|
font.pixelSize: 36
|
|
antialiasing: false
|
|
font.family: "8bitoperator JVE"
|
|
renderType: Text.NativeRendering
|
|
font.hintingPreference: Font.PreferNoHinting
|
|
}
|
|
}
|
|
}
|