and3rson/clay

MPRIS2 support

ValentijnvdBeek opened this issue · 0 comments

Support the Media Player Remote Interfacing Specification D-Bus protocol.

Rationale:

Supporting MPRIS2 would allow one to control Clay with generic tools like playerctl and replace the current global keybindings system. This would allow us to fully drop Gtk as a dependency, simply our parsing logic and empowers headless users to globally bind keys [1].

It wouldn't add any dependencies to Clay since it uses D-Bus (already necessary for OSD) and the GLib loop (already used for GTK).

Tasks:

  • Support the MPRIS2 Player protocol
  • Support the MRRIS2 Mediaplayer Protocol
  • Improving the ID system that Clay uses (based on #49)
  • Support some extensions to the MPRIS2 protocol
  • Support the MPRIS2 Playlists protocol
  • Support the MPRIS2 TrackList protocol
  • A separate Clay tool to allow deeper control?

[1] Using some TTY window manager like tmux, screen or some other method.