MPRIS2 waybar component
Go to file
Harvey Tindall 315b3df656
add list command for debug
responds with the current list of players and some info, to be used for debugging
purposes
2020-08-27 20:26:01 +01:00
images remote control via unix sockets 2020-08-22 19:01:51 +01:00
.gitignore add players as detected, switch to currently playing player on state 2020-08-21 15:44:59 +01:00
README.md add position arg to readme 2020-08-26 22:19:20 +01:00
go.mod Add flags, executable and improve README.md 2020-08-22 15:40:24 +01:00
go.sum optionally display track position 2020-08-26 22:10:36 +01:00
main.go add list command for debug 2020-08-27 20:26:01 +01:00
waybar-mpris add list command for debug 2020-08-27 20:26:01 +01:00

README.md

waybar-mpris

bar gif

a waybar component/utility for displaying and controlling MPRIS2 compliant media players individually, inspired by waybar-media.

MPRIS2 is widely supported, so this component should work with:

  • Chrome/Chromium
  • Other browsers (with kde plasma integration installed)
  • VLC
  • Spotify
  • Noson
  • mpd (with mpDris2)
  • Most other music/media players

Install

go get github.com/hrfee/waybar-mpris will install the program, as well as the go dbus bindings and pflags for command-line arguments.

or just grab the waybar-mpris binary from here and place it in your PATH.

Usage

When running, the program will pipe out json in waybar's format. Add something like this to your waybar config.json:

"custom/waybar-mpris": {
    "return-type": "json",
    "exec": "waybar-mpris --position --autofocus",
    "on-click": "waybar-mpris --send toggle",
    // This option will switch between players on right click.
        "on-click-right": "waybar-mpris --send player-next",
    // The options below will switch the selected player on scroll
        // "on-scroll-up": "waybar-mpris --send player-next",
        // "on-scroll-down": "waybar-mpris --send player-prev",
    // The options below will go to next/previous track on scroll
        // "on-scroll-up": "waybar-mpris --send next",
        // "on-scroll-down": "waybar-mpris --send prev",
    "escape": true,
},
Usage of waybar-mpris:
      --autofocus          Auto switch to currently playing music players.
      --order string       Element order. (default "SYMBOL:ARTIST:ALBUM:TITLE:POSITION")
      --pause string       Pause symbol/text to use. (default "\uf8e3")
      --play string        Play symbol/text to use. (default "▶")
      --position           Show current position between brackets, e.g (04:50/05:00)
      --send string        send command to already runnning waybar-mpris instance. (options: player-next/player-prev/next/prev/toggle)
      --separator string   Separator string to use between artist, album, and title. (default " - ")
  • Modify the order of components with --order. SYMBOL is the play/paused icon or text, POSITION is the track position (if enabled), other options are self explanatory.
  • --play/--pause specify the symbols or text to display when music is paused/playing respectively.
  • --separator specifies a string to separate the artist, album and title text.
  • --autofocus makes waybar-mpris automatically focus on currently playing music players.
  • --position enables the display of the track position.
  • --send sends commands to an already running waybar-mpris instance via a unix socket. Commands:
    • player-next: Switch to displaying and controlling next available player.
    • player-prev: Same as player-next, but for the previous player.
    • next/prev: Next/previous track on the selected player.
    • toggle: Play/pause.
    • Note: you can also bind these commands to keys in your sway/other wm config.