waybar-mpris(5) # NAME waybar - MPRIS module # DESCRIPTION The *mpris* module displays currently playing media via libplayerctl. # CONFIGURATION *player*: ++ typeof: string ++ default: playerctld ++ Name of the MPRIS player to attach to. Using the default value always follows the currently active player. *ignored-players*: ++ typeof: []string ++ Ignore updates of the listed players, when using playerctld. *interval*: ++ typeof: integer ++ default: 0 ++ Refresh MPRIS information on a timer. *format*: ++ typeof: string ++ default: {player} ({status}) {dynamic} ++ The text format. *format-[status]*: ++ typeof: string ++ The status-specific text format. *tooltip*: ++ typeof: bool ++ default: true ++ Option to disable tooltip on hover. *tooltip-format*: ++ typeof: string ++ default: {player} ({status}) {dynamic} ++ The tooltip text format. *tooltip-format-[status]*: ++ typeof: string ++ The status-specific tooltip format. *artist-len*: ++ typeof: integer ++ Maximum length of the Artist tag (Wide/Fullwidth Unicode characters count as two). Set to zero to hide the artist in `{dynamic}` tag. *album-len*: ++ typeof: integer ++ Maximum length of the Album tag (Wide/Fullwidth Unicode characters count as two). Set to zero to hide the album in `{dynamic}` tag. *title-len*: ++ typeof: integer ++ Maximum length of the Title tag (Wide/Fullwidth Unicode characters count as two). Set to zero to hide the title in `{dynamic}` tag. *dynamic-len*: ++ typeof: integer ++ Maximum length of the Dynamic tag (Wide/Fullwidth Unicode characters ++ count as two). The dynamic tag will not truncate any tags beyond their ++ set length limits, instead, it will attempt to fit as much of the ++ available tags as possible. It is recommended you set title-len to ++ something less than or equal to this value, so the title will always be ++ displayed. *dynamic-order*: ++ typeof: []string ++ default: ["title", "artist", "album", "position", "length"] ++ Order of the tags shown by Dynamic tag. The position and length tags ++ will always be combined in the format [{position}/{length}]. The order ++ of these tags in relation to other tags will be determined based on the ++ declaration of the first among the two tags. Absence in this list means ++ force exclusion. *dynamic-importance-order*: ++ typeof: []string ++ default: ["title", "artist", "album", "position", "length"] ++ Priority of the tags when truncating the Dynamic tag. The final ones ++ will be the first to be truncated. Absence in this list means force ++ inclusion. *dynamic-separator*: ++ typeof: string ++ default: " - " ++ These characters will be used to separate two different tags, except ++ when one of these tags is position and length. *truncate-hours*: ++ typeof: bool ++ default: true ++ Whether to hide hours when media duration is less than an hour long. *enable-tooltip-len-limits*: ++ typeof: bool ++ default: false ++ Option to enable the length limits for the tooltip as well. By default, the tooltip ignores all length limits. *ellipsis*: ++ typeof: string ++ default: "…" ++ This character will be used when any of the tags exceed their maximum length. If you don't want to use an ellipsis, set this to empty string. *rotate*: ++ typeof: integer ++ Positive value to rotate the text label. *max-length*: ++ typeof: integer ++ The maximum length in character the module should display. *min-length*: ++ typeof: integer ++ The minimum length in characters the module should accept. *align*: ++ typeof: float ++ The alignment of the label within the module, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. *justify*: ++ typeof: string ++ The alignment of the text within the module's label, allowing options 'left', 'right', or 'center' to define the positioning. *on-click*: ++ typeof: string ++ default: play-pause ++ Overwrite default action toggles. *on-click-middle*: ++ typeof: string ++ default: previous track ++ Overwrite default action toggles. *on-click-right*: ++ typeof: string ++ default: next track ++ Overwrite default action toggles. *player-icons*: ++ typeof: map[string]string ++ Allows setting _{player-icon}_ based on player-name property. *status-icons*: ++ typeof: map[string]string ++ Allows setting _{status-icon}_ based on player status (playing, paused, stopped). # FORMAT REPLACEMENTS *{player}*: The name of the current media player *{status}*: The current status (playing, paused, stopped) *{artist}*: The artist of the current track *{album}*: The album title of the current track *{title}*: The title of the current track *{length}*: Length of the track, formatted as HH:MM:SS *{dynamic}*: Use _{artist}_, _{album}_, _{title}_ and _{length}_, automatically omit++ empty values *{player_icon}*: Chooses an icon from _player-icons_ based on _{player}_ *{status_icon}*: Chooses an icon from _status-icons_ based on _{status}_ # EXAMPLES ``` "mpris": { "format": "{player_icon} {dynamic}", "format-paused": "{status_icon} {dynamic}", "player-icons": { "default": "▶", "mpv": "🎵" }, "status-icons": { "paused": "⏸" }, // "ignored-players": ["firefox"] } ``` # STYLE - *#mpris* - *#mpris.${status}* - *#mpris.${player}*