app: media data requests

Allow querying media player data
This commit is contained in:
2 * r + 2 * t 2025-03-02 17:40:36 +11:00
parent df3f93475a
commit d625f1791b
2 changed files with 8 additions and 2 deletions

View file

@ -67,7 +67,13 @@ App.start({
else if (request === "media next") Players.get_default().lastPlayer?.next();
else if (request === "media previous") Players.get_default().lastPlayer?.previous();
else if (request === "media stop") Players.get_default().lastPlayer?.stop();
else if (request.startsWith("brightness")) {
else if (request.startsWith("media")) {
const player = Players.get_default().lastPlayer;
const key = request.split(" ")[1];
if (player === null) return res("No available players");
if (key in player) return res(player[key as keyof typeof player]);
return res(`Invalid key: ${key}`);
} else if (request.startsWith("brightness")) {
const value = request.split(" ")[1];
const num = parseFloat(value) / (value.includes("%") ? 100 : 1);
if (isNaN(num)) return res("Syntax: brightness <value>[%][+ | -]");

View file

@ -24,7 +24,7 @@ const lengthStr = (length: number) =>
const Player = ({ player }: { player: AstalMpris.Player }) => {
const background = (
<box className="background" css={bind(player, "artUrl").as(u => u && `background-image: url("${u}");`)} />
<box className="background" css={bind(player, "coverArt").as(u => u && `background-image: url("${u}");`)} />
);
return (
<overlay