Initial commit

This commit is contained in:
kossLAN 2025-06-07 04:01:14 -04:00
commit 05cd51b54e
Signed by: kossLAN
SSH key fingerprint: SHA256:bdV0x+wdQHGJ6LgmstH3KV8OpWY+OOFmJcPcB0wQPV8
148 changed files with 10112 additions and 0 deletions

View file

@ -0,0 +1,95 @@
import QtQuick
import Quickshell.Services.Mpris
import Quickshell.Widgets
import "../.."
Item {
required property var bar;
width: statusInfo.width;
height: parent.height;
MediaSwitcher {
id: mediaSwitcher;
anchor.window: bar;
}
MouseArea {
id: playButton;
hoverEnabled: true;
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: (mouse)=> {
if (mouse.button === Qt.LeftButton) {
mediaSwitcher.visible = !mediaSwitcher.visible;
} else {
if (!Media.trackedPlayer.canPlay || Media.trackedPlayer == null)
return;
if (Media.trackedPlayer.isPlaying)
Media.trackedPlayer.pause();
else
Media.trackedPlayer.play();
}
}
anchors.fill: parent;
}
Item {
id: statusInfo;
width: statusIcon.width + statusIcon.anchors.rightMargin + nowPlayingText.width;
visible: Media.trackedPlayer != null;
anchors {
horizontalCenter: parent.horizontalCenter;
verticalCenter: parent.verticalCenter;
top: parent.top;
bottom: parent.botton;
margins: 3.5;
}
Rectangle {
color: ShellGlobals.colors.innerHighlight;
border.color: ShellGlobals.colors.highlight;
radius: 5;
width: parent.width + 25;
height: parent.height;
visible: playButton.containsMouse;
anchors.centerIn: parent;
}
IconImage {
id: statusIcon;
implicitSize: 13;
source: Media.trackedPlayer?.isPlaying
? Qt.resolvedUrl("../../resources/mpris/pause.svg")
: Qt.resolvedUrl("../../resources/mpris/play.svg");
anchors {
verticalCenter: parent.verticalCenter;
right: nowPlayingText.left;
rightMargin: 10;
}
}
Text {
id: nowPlayingText
color: ShellGlobals.colors.text;
text: `${Media.trackedPlayer?.trackArtist} - ${Media.trackedPlayer?.trackTitle}`;
font.pointSize: 11;
elide: Text.ElideRight;
anchors {
verticalCenter: parent.verticalCenter;
right: parent.right;
}
}
}
function truncate(text) {
if (text?.length > 40) {
return text.substring(0, 40) + " ..."
}
return text
}
}