import AstalMpris from "gi://AstalMpris" import { createBinding, For } from "ags" export default function Media() { const mpris = AstalMpris.get_default() const players = createBinding(mpris, "players") return ( {(player) => { const title = createBinding(player, "title") const artist = createBinding(player, "artist") const status = createBinding(player, "playbackStatus") const icon = status((s: AstalMpris.PlaybackStatus) => s === AstalMpris.PlaybackStatus.PLAYING ? "󰐊" : "󰏤" ) const label = title((t: string) => { const a = player.artist const display = a ? `${a} — ${t}` : t // truncate long titles return display.length > 40 ? display.substring(0, 37) + "..." : display }) const cls = status((s: AstalMpris.PlaybackStatus) => s === AstalMpris.PlaybackStatus.PLAYING ? "media" : "media paused" ) return ( ) }} ) }