Files
dotfiles/dot_config/waybar/waybar.wiki/Module:-MPD.md
s0wlz (Matthias Puchstein) 8018b53353 feat: finalize migration to chezmoi and modernize configuration logic
- Modularize Hyprland config into hyprland.d/
- Implement infinitely scalable monitor/workspace logic using templates and loop-based data structures
- Consolidate host-specific configs (hyprlock, hyprpaper, waybar) into single templates
- Resolve waybar symlink conflict and fix template execution errors
- Integrate chezmoi data variables for scale, resolution, and peripherals
2025-12-27 22:52:43 +01:00

113 lines
7.1 KiB
Markdown

The `mpd` module displays information about a running "Music Player Daemon" instance. Note that waybar must be compiled with mpd support in order to use this module.
### Config
Addressed by `mpd`
| option | typeof | default | description |
| ----------------------------- | ------- | ------------------------------ | ----------- |
| `server` | string | | The network address or Unix socket path of the MPD server. If empty, connect to the default host (`MPD_HOST`). |
| `port` | integer | | The port MPD listens to. If empty, use the default port (`MPD_PORT`). |
| `password` | string | | The password required to connect to the MPD server. If empty, no password is required or sent to MPD. |
| `interval` | integer | 10 | The interval in which the connection to the MPD server is retried. |
| `timeout` | integer | 30 | The timeout for the connection. Change this if your MPD server has a low `connection_timeout` setting. |
| `unknown-tag` | string | "N/A" | The text to display when a tag is not present in the current song, but used in `format` |
| `format` | string | "{album} - {artist} - {title}" | Information displayed when a song is playing or paused |
| `format-stopped` | string | "stopped" | Information displayed when the player is stopped. |
| `format-paused` | string | | This format is used when a song is paused. |
| `format-disconnected` | string | "disconnected" | Information displayed when the MPD server can't be reached. |
| `tooltip` | bool | true | Option to enable tooltip on hover. |
| `tooltip-format` | string | "MPD (connected)" | Tooltip information displayed when connected to MPD. |
| `tooltip-format-disconnected` | string | "MPD (disconnected)" | Tooltip information displayed when the MPD server can't be reached. |
| `artist-len` | integer | | The maximum length to show of the Artist tag. If empty, no limit. |
| `album-len` | integer | | The maximum length to show of the Album tag. If empty, no limit. |
| `album-artist-len` | integer | | The maximum length to show of the Album Artist tag. If empty, no limit. |
| `title-len` | integer | | The maximum length to show of the Title tag. If empty, no limit. |
| `rotate` | integer | | Positive value to rotate the text label. |
| `max-length` | integer | | The maximum length in character the module should display. |
| `on-click` | string | | Command to execute when clicked on the module. |
| `on-click-middle` | string | | Command to execute when you middle clicked on the module using mousewheel. |
| `on-click-right` | string | | Command to execute when you right clicked on the module. |
| `on-scroll-up` | string | | Command to execute when scrolling up on the module. |
| `on-scroll-down` | string | | Command to execute when scrolling down on the module. |
| `smooth-scrolling-threshold` | double | | Threshold to be used when scrolling. |
| `state-icons` | object | {} | Icon to show depending on the play/pause state of the player (`{ "playing": "...", "paused": "..." }`) |
| `consume-icons` | object | {} | Icon to show depending on the "consume" option (`{ "on": "...", "off": "..." }`) |
| `random-icons` | object | {} | Icon to show depending on the "random" option (`{ "on": "...", "off": "..." }`) |
| `repeat-icons` | object | {} | Icon to show depending on the "repeat" option (`{ "on": "...", "off": "..." }`) |
| `single-icons` | object | {} | Icon to show depending on the "single" option (`{ "on": "...", "off": "..." }`) |
### Format replacements
#### When playing/paused:
| string | replacement |
| ------------------ | ----------- |
| `{artist}` | The artist of the current song |
| `{albumArtist}` | The artist of the current album |
| `{album}` | The album of the current song |
| `{title}` | The title of the current song |
| `{filename}` | The filename of the current song (with extension) |
| `{date}` | The date of the current song |
| `{volume}` | The current volume in percent |
| `{elapsedTime}` | The current position of the current song. To format as a date/time (see example configuration) |
| `{totalTime}` | The length of the current song. To format as a date/time (see example configuration) |
| `{songPosition}` | The position of the song in current queue. |
| `{queueLength}` | The length of the current queue. |
| `{stateIcon}` | The icon corresponding the playing or paused status of the player (see `state-icons` option) |
| `{consumeIcon}` | The icon corresponding the "consume" option (see `consume-icons` option) |
| `{randomIcon}` | The icon corresponding the "random" option (see `random-icons` option) |
| `{repeatIcon}` | The icon corresponding the "repeat" option (see `repeat-icons` option) |
| `{singleIcon}` | The icon corresponding the "single" option (see `single-icons` option) |
#### When stopped:
| string | replacement |
| ------------------ | ----------- |
| `{consumeIcon}` | The icon corresponding the "consume" option (see `consume-icons` option) |
| `{randomIcon}` | The icon corresponding the "random" option (see `random-icons` option) |
| `{repeatIcon}` | The icon corresponding the "repeat" option (see `repeat-icons` option) |
| `{singleIcon}` | The icon corresponding the "single" option (see `single-icons` option) |
#### When disconnected:
Currently, no format replacements when disconnected.
### Example
```jsonc
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"interval": 10,
"consume-icons": {
"on": " " // Icon shows only when "consume" is on
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ", // Icon grayed out when "random" is off
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
}
```
### Style
- `#mpd`
- `#mpd.disconnected`
- `#mpd.stopped`
- `#mpd.playing`
- `#mpd.paused`