summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-02 17:40:36 +1100
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-02 17:40:36 +1100
commitd625f1791b2e2e97d86f7fc3ebf3073c0c323a9b (patch)
tree7fbfa52620be778663e779395d4c2946fb2b7745
parentlauncher: light/dark actions (diff)
downloadcaelestia-shell-d625f1791b2e2e97d86f7fc3ebf3073c0c323a9b.tar.gz
caelestia-shell-d625f1791b2e2e97d86f7fc3ebf3073c0c323a9b.tar.bz2
caelestia-shell-d625f1791b2e2e97d86f7fc3ebf3073c0c323a9b.zip
app: media data requests
Allow querying media player data
-rw-r--r--app.tsx8
-rw-r--r--src/modules/popdowns/media.tsx2
2 files changed, 8 insertions, 2 deletions
diff --git a/app.tsx b/app.tsx
index 4f59115..7d34231 100644
--- a/app.tsx
+++ b/app.tsx
@@ -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>[%][+ | -]");
diff --git a/src/modules/popdowns/media.tsx b/src/modules/popdowns/media.tsx
index 3f2fca1..dc2b67e 100644
--- a/src/modules/popdowns/media.tsx
+++ b/src/modules/popdowns/media.tsx
@@ -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