quickshell/modules/Bar/MPris.qml
2026-03-23 11:22:31 +01:00

56 lines
1.4 KiB
QML

import Quickshell
import Quickshell.Services.Mpris
import Quickshell.Widgets
import QtQuick
import Qt5Compat.GraphicalEffects
import QtQuick.Layouts
import qs
import qs.settings
import qs.widgets
WrapperRectangle {
id: root
margin: Settings.config.barmargins
layer {
enabled: true
effect: DropShadow {
color: "#111111"
radius: 4
verticalOffset: 2
horizontalOffset: 2
samples: 18
}
}
color: Colors.base02
implicitWidth: songLayout.implicitWidth + 20
implicitHeight: Settings.config.barHeight - margin * 2
radius: Settings.config.rounding
property var spotify: root.getSpotify()
visible: getSpotify() == null ? false : true
function getSpotify() {
for (var i = 0; i < Mpris.players.values.length; i++) {
if (Mpris.players.values[i].identity == "Spotify" || Mpris.players.values[i] == "spotify") {
return Mpris.players.values[i];
} else {
return null;
}
}
return null;
}
child: Item {
RowLayout {
id: songLayout
anchors.centerIn: parent
CText {
id: playingSong
Layout.maximumWidth: 400
text: root.spotify == null ? "" : root.spotify.trackTitle + " - " + root.spotify.trackArtist
elide: Text.ElideRight
}
}
}
}