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:
[x] Support the MPRIS2 Player protocol
[x] Support the MRRIS2 Mediaplayer Protocol
[x] Improving the ID system that Clay uses (based on #49)
[ ] Support some extensions to the MPRIS2 protocol
[ ] Support the MPRIS2 Playlists protocol
[x] 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.
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:
[1] Using some TTY window manager like tmux, screen or some other method.