Media controls for the GNOME Shell panel. Works with any MPRIS player (Spotify, VLC, Rhythmbox, browsers) and lets you switch between several players from tabs in the popup. * Play, pause, skip, shuffle and repeat * Track and artist in the panel with a scrolling label * Optional vinyl record effect on the album art, set per app (double-click the art) * Time-synced lyrics fetched from lrclib.net (single-click the art) * Seekable progress slider with selectable themes * Panel label font, colour and element order settings
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 6.6 (44) | Active |
| 6.6 (43) | Active |
| 6.6 (42) | Rejected |
| 6.6 (41) | Rejected |
| 6.6 (40) | Active |
| 6.6 (39) | Rejected |
| 6.6 (38) | Rejected |
| 6.6 (37) | Rejected |
| 6.6 (36) | Rejected |
| 6.6 (35) | Rejected |
| 6.6 (34) | Rejected |
| 6.6 (33) | Rejected |
| 6.6 (32) | Rejected |
| 6.5 (31) | Active |
| 6.5 (30) | Rejected |
| 6.5 (29) | Rejected |
| 6.5 (28) | Rejected |
| 6.5 (27) | Rejected |
| 6.5 (26) | Rejected |
| 6.5 (25) | Rejected |
| 6.5 (24) | Rejected |
| 6.0 (23) | Rejected |
| 6.0 (22) | Rejected |
| 6.0 (21) | Rejected |
| 20 | Active |
| 19 | Rejected |
| 18 | Rejected |
| 17 | Active |
| 16 | Rejected |
| 15 | Active |
| 14 | Active |
| 13 | Active |
| 12 | Active |
| 11 | Rejected |
| 10 | Rejected |
| 9 | Rejected |
| 8 | Active |
| 7 | Active |
| 6 | Rejected |
| 5 | Rejected |
| 4 | Rejected |
| 3 | Rejected |
| 2 | Rejected |
| 1 | Rejected |
Yeah, that's fair, those two were cruft. I was killing the _addPlayer override and poking at _onProxyReady in both to make sure they refreshed themselves; kind of a "better safe than sorry" thing. Except, of course, it wasn't necessary, since the DBus signal handling would just add them again once it knew the injection had been removed by Mpris. So, I was forcing a fix for something that didn't even need it! Removed both, no change in behavior, they didn't do anything critical
1. Avoid optional chaining for something that is always there. Something like `Main.panel.statusArea?.quickSettings` don't need `?.`. You are doing it all over the code. 2. Still many lines using unnecessary try-catch and checks.