This is a major refactor which updates GTK, GLib and GTK Layer Shell to their latest versions.
GLib channels, previously used for receiving events on the GLib Main Context thread have been deprecated and a new method for running Futures on the main thread has been added instead. This commit also replaces all the deprecated code with this.
As part of the above, a bug was uncovered related to creating the GLib main context inside the Tokio runtime. Spawning of Tokio tasks has been refactored to fix this.
THe music module expects an event to be sent on subscription to the
client to set up the initial state. This ensures an event is sent when
in MPRIS mode when no player is initially found.
Resolves#25.
Completely refactors the MPD module to be the 'music' module. This now supports both MPD and MPRIS with the same UI for both.
BREAKING CHANGE: The `mpd` module has been renamed to `music`. You will need to update the `type` value in your config and add `player_type` to continue using MPD. You will also need to update your styles.