From 5d94c0a7d44a2255b81815a52a7056a94a39842d Mon Sep 17 00:00:00 2001 From: nippy Date: Sat, 18 Apr 2026 13:49:56 +0200 Subject: update Raveos themes --- .../quickshell/Modules/OSD/AudioOutputOSD.qml | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/OSD/AudioOutputOSD.qml (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/OSD/AudioOutputOSD.qml') diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/OSD/AudioOutputOSD.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/OSD/AudioOutputOSD.qml new file mode 100644 index 0000000..1bea1e5 --- /dev/null +++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/OSD/AudioOutputOSD.qml @@ -0,0 +1,67 @@ +import QtQuick +import qs.Common +import qs.Services +import qs.Widgets + +DankOSD { + id: root + + property string deviceName: "" + property string deviceIcon: "speaker" + + osdWidth: Math.min(Math.max(120, Theme.iconSize + textMetrics.width + Theme.spacingS * 4), Screen.width - Theme.spacingM * 2) + osdHeight: 40 + Theme.spacingS * 2 + autoHideInterval: 2500 + enableMouseInteraction: false + + TextMetrics { + id: textMetrics + font.pixelSize: Theme.fontSizeMedium + font.weight: Font.Medium + font.family: Theme.fontFamily + text: root.deviceName + } + + Connections { + target: AudioService + + function onAudioOutputCycled(name, icon) { + if (!SettingsData.osdAudioOutputEnabled) + return; + root.deviceName = name; + root.deviceIcon = icon; + root.show(); + } + } + + content: Item { + property int gap: Theme.spacingS + + anchors.centerIn: parent + width: parent.width - Theme.spacingS * 2 + height: 40 + + DankIcon { + id: iconItem + width: Theme.iconSize + height: Theme.iconSize + x: parent.gap + anchors.verticalCenter: parent.verticalCenter + name: root.deviceIcon + size: Theme.iconSize + color: Theme.primary + } + + StyledText { + id: textItem + x: parent.gap * 2 + Theme.iconSize + width: parent.width - Theme.iconSize - parent.gap * 3 + anchors.verticalCenter: parent.verticalCenter + text: root.deviceName + font.pixelSize: Theme.fontSizeMedium + font.weight: Font.Medium + color: Theme.surfaceText + elide: Text.ElideRight + } + } +} -- cgit v1.3