quickshell/modules/bar/Mpris.qml

45 lines
1.1 KiB
QML

pragma ComponentBehavior: Bound
import Quickshell.Services.Mpris
import QtQuick
import QtQuick.Layouts
import QtQuick.Effects
import Quickshell
import Quickshell.Widgets
import qs
import qs.widgets
import qs.settings
BarComponent {
id: root
implicitWidth: songLayout.implicitWidth + 16
property MprisPlayer spotify: {
for (const player of Mpris.players.values) {
if (player.identity === "Spotify")
return player;
}
return null;
}
visible: spotify !== null
active: clickHandler.containsMouse
RowLayout {
id: songLayout
anchors.centerIn: root
StyledIcon {
iconName: "folder-music-symbolic"
}
StyledText {
Layout.maximumWidth: 400
Layout.maximumHeight: Config.cfg.bar.barHeight / 1.6
text: root.spotify?.trackTitle + " - " + root.spotify?.trackArtists
elide: Text.ElideRight
}
}
MouseArea {
id: clickHandler
anchors.fill: root
hoverEnabled: true
onClicked: root.spotify.togglePlaying()
acceptedButtons: Qt.LeftButton
cursorShape: Qt.PointingHandCursor
}
}