import QtQuick import Quickshell import QtQuick.Controls.Basic import QtQuick.Layouts import Quickshell.Services.Pipewire import "../classes" as Class import "../../" Button { PwObjectTracker { objects: [ Pipewire.defaultAudioSink ] } property var muted: Pipewire.defaultAudioSink?.audio.muted padding: 0 background: Rectangle { color: Resources.palette.bg } contentItem: Class.RightRowLayout { id: volume_module Layout.alignment: Qt.AlignVCenter Class.TopbarText { id: volume_indicator property var vol: Math.round((Pipewire.defaultAudioSink?.audio.volume ?? 0) * 100) text: (muted) ? "" : vol + "%" color: Resources.palette.fg } Class.TopbarIcon { text: muted ? "" : (volume_indicator.vol == 0) ? "" : (volume_indicator.vol <= 50) ? "󰺕" : (volume_indicator.vol > 50) ? "" : Icons.volume.low color: muted ? Resources.palette.scarlet : Resources.palette.orange anchors.verticalCenter: parent } Class.TopSep{} } }