Now Playing
What is playing in Spotify, Music or any MPRIS player: play, pause, skip from the keyboard.
palv0.1.0MediabundledMenu bar: Now Playing
Ships inside pal. Installing puts an editable copy ahead of the bundled one.



What it does
Now Playing
One row per running player: the track as the title, artist and album as
the subtitle, the artwork (else the app's icon) and a playing /
paused / stopped tag, with the player's name next to it. A player
with nothing loaded reads "Nothing playing" with the player's name. A
live palette: read again on every show through the core's media
capability, so the track that is on right now is a root result too (type
its title or artist at the root). With no player running the one row says
so, and on macOS how to see players beyond Spotify and Music.
Every control keeps the palette up and lists again, so the tag follows what you did; a player that refuses (Music not running, a player that has no next track) is a toast with its message.
Keyboard
| keys | action | what |
|---|---|---|
enter |
Play / Pause | toggles; the row's tag follows |
cmd+right |
Next Track | |
cmd+left |
Previous Track | |
cmd+c |
Copy Track | copies artist - title |
cmd+o |
Open in Spotify / Music / ... | the track's url (Spotify's spotify:track: link), else the app on macOS |
A row for a player with nothing loaded has only the three transport actions.
Setup
No settings. What is listed depends on what the core's media capability can see:
- macOS: Spotify and Music through AppleScript, only while the app is
running (the check is
NSRunningApplication, so pal never launches one to ask); Spotify gives the artwork url and the track url. The first AppleScript run asks whether pal may control the app (the Automation permission).nowplaying-clion PATH (brew install nowplaying-cli) adds the system-wide Now Playing as one more row, for any other player (a browser, VLC, IINA). - Linux:
playerctlover MPRIS, one row per player; the icon is the player's.desktopwhen one is named like it. Withoutplayerctlthe one row says to install it.
The bar item Now Playing puts the playing track on the strip (hidden
while nothing plays) with the transport in its popover: Pause (space),
Next (right), Previous (left), Copy Track (cmd+c), Open (cmd+o).
The core asks for it every 30 s and on show and wake; in between the
extension looks at the players itself every 5 s while one was playing at
the last look, and pushes when the track or the state changed, so a skip
shows within seconds and an idle machine costs nothing.
What it does not do
- Seek, shuffle, repeat or volume: the capability has play, pause, next and previous.
- Launch a player: a player that is not running is not listed, and nothing here starts one.
- Show a queue or a playlist; one row per player, the current track only.
- Artwork for Music on macOS: Music gives no url, so the row shows the app's icon.
Platforms
macOS and Linux. macOS needs the Automation permission for Spotify and
Music (asked once per app) and nowplaying-cli for anything else; Linux
needs playerctl.
Palettes 1
-
Media
medialiveOne row per player with the track and its artwork.
- ↵Play or pause
- ⌘→Next track
- ⌘←Previous track
- ⌘CCopy artist - title
Actions
- Play / PauseToggles; the row's tag follows.↵
- Next Track⌘→
- Previous Track⌘←
- Copy Trackartist - title.⌘C
- Open in Spotify / MusicThe track's url, else the app on macOS.⌘O
Settings
No settings. It works out of the box.



