Improved Shell media widget
I tend to find the Shell music widget quite limitied in general, firstly because it can be easily confused with notifications, and second because it does not expose many features in general. It resembles some much older version of GNOME and feels subpar at times compared with other parts of Shell.
I was thinking about improvements on the front-end side to allow for clearer representation and control of who is reproducing music (and an easy "mute" button whenever needed), and came up with this mockup (currently Glade/Gtk3, not St) that could feel a bit more GNOME 40-like:
As this is just a quick idea of something that would expose the features I need, I would be happy to accept ideas and try an implementation of something similar in the future (probably not within the G41 feature freeze) if you would find it useful. However, some of its features (e.g., advanced song metadata, such as current play progress, or getting the icon/name of the actual running app reproducing the stream) seem to be still either limited or at times unfeasible if I understand correctly.
Clearly, fields such as progress would be dynamically shown based on the source app emitting them or not.
Some other problems that are not targeted in the above are:
- when multiple MPRIS players are enabled at the same time. I would like to address this by showing them as a sequence (or, better, in a decently looking tab-like fashion of some kind in order to preserve space), and make sure triggering "play" on one automatically sends a "pause" to all others. To be honest, I have no clue how this could be solved cleanly
- tracklists / playlists / ..., which nowadays are frequently exposed by music players through MPRIS
- whether a small "play icon" somewhere in the top bar could warn that media content is playing, as happens e.g. in Android. Not sure whether this would bring any real benefit though, or just more top bar spam...
As a side effect, I think having a modern media widget in GNOME, which is nowadays the leading Linux desktop, would bring to better integration in several third-party players such as the official Spotify app.