bar: media actions

This commit is contained in:
2 * r + 2 * t 2025-01-16 12:47:36 +11:00
parent b825e97639
commit 379a9d16eb

View file

@ -76,14 +76,20 @@ const MediaPlaying = () => {
const getLabel = (fallback = "") => const getLabel = (fallback = "") =>
players.lastPlayer ? `${players.lastPlayer.title} - ${players.lastPlayer.artist}` : fallback; players.lastPlayer ? `${players.lastPlayer.title} - ${players.lastPlayer.artist}` : fallback;
return ( return (
<box <button
className="module media-playing" onClick={(_, event) => {
if (event.button === Astal.MouseButton.PRIMARY) {
// TODO: media panel
} else if (event.button === Astal.MouseButton.SECONDARY) players.lastPlayer?.play_pause();
else if (event.button === Astal.MouseButton.MIDDLE) players.lastPlayer?.raise();
}}
setup={self => { setup={self => {
const label = Variable(getLabel()); const label = Variable(getLabel());
players.hookLastPlayer(self, ["notify::title", "notify::artist"], () => label.set(getLabel())); players.hookLastPlayer(self, ["notify::title", "notify::artist"], () => label.set(getLabel()));
setupCustomTooltip(self, bind(label)); setupCustomTooltip(self, bind(label));
}} }}
> >
<box className="module media-playing">
<icon <icon
setup={self => setup={self =>
players.hookLastPlayer(self, "notify::identity", () => { players.hookLastPlayer(self, "notify::identity", () => {
@ -104,6 +110,7 @@ const MediaPlaying = () => {
} }
/> />
</box> </box>
</button>
); );
}; };