-
Notifications
You must be signed in to change notification settings - Fork 5
Widgets Media
prankstr edited this page Apr 1, 2026
·
4 revisions
MPRIS media player widget with album art and playback controls.
Displays the currently playing track from any MPRIS-compatible media player (Spotify, Firefox, VLC, etc.). Click to open a popover with full controls, or pop out to a draggable window.
The widget hides automatically when no media player is available.
| Option | Type | Default | Description |
|---|---|---|---|
template |
string | "{art}{artist} - {title}{controls}" |
Template for bar display |
empty_text |
string | "" |
Text when no player (empty = hide widget) |
max_chars |
integer | 20 |
Max text characters (0 = unlimited) |
popout_opacity |
float | 1.0 |
Pop-out window opacity (0.0-1.0) |
visualizer |
bool | true |
Enable audio visualizer (requires cava) |
art_radius |
integer | Override album art corner radius. Default: uses widgets.border_radius
|
|
background_color |
string | Custom background color (hex) |
Note
The visualizer renders in real-time and reacts to audio, this does consume a little bit of CPU.
Widget tokens (render UI elements):
| Token | Description |
|---|---|
{art} |
Album art thumbnail |
{player_icon} |
Player app icon (e.g., Spotify icon) |
{icon} |
Play/pause state icon |
{controls} |
Prev/play/pause/next buttons |
Text tokens (render text):
| Token | Description |
|---|---|
{title} |
Track title |
{artist} |
Artist name |
{album} |
Album name |
Default (art + text + controls):
[widgets.media]
template = "{art}{artist} - {title}{controls}"Minimal (just icon and title):
[widgets.media]
template = "{icon}{title}"Player icon with info:
[widgets.media]
template = "{player_icon}{artist} - {title}"Control media playback from the command line:
| Command | Description |
|---|---|
vibepanel media play-pause |
Toggle play/pause |
vibepanel media next |
Skip to next track |
vibepanel media previous |
Go to previous track |
vibepanel media stop |
Stop playback |
vibepanel media status |
Show current playback status |
| Class | Description |
|---|---|
.media |
Widget container |
.media-label |
Track info text |
.media-art-small |
Album art thumbnail |
.media-icon |
Play/pause state icon |
.media-player-icon |
Player app icon |
.media-controls |
Controls container |
.media-control-btn |
Control button |
.media-bar-visualizer |
Audio waveform visualizer underline |
.media-playing |
Added when playing |
.media-paused |
Added when paused |
.media-stopped |
Added when stopped |
| Class | Description |
|---|---|
.media-popover |
Popover container |
.media-popover-header |
Header row (pop-out and player selector buttons) |
.media-content |
Content area |
.media-art |
Large album art |
.media-art-placeholder |
Placeholder when no art |
.media-visualizer |
Audio visualizer overlay around album art |
.media-track-title |
Track title label |
.media-artist |
Artist label |
.media-album |
Album label |
.media-control-btn-primary |
Main play/pause button |
.media-seek |
Seek bar container |
.media-seek-slider |
Seek slider |
.media-position |
Current position label |
.media-duration |
Duration label |
| Class | Description |
|---|---|
.media-window |
Window container |
.media-window-control-btn |
Window control buttons |
.media-window-seek-slider |
Window seek slider |