Control Alsa master volume from status menu. Requires 'amixer', provided by alsa-utils package.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 33 | Active |
| 32 | Rejected |
| 31 | Active |
| 30 | Rejected |
| 29 | Active |
| 28 | Active |
| 27 | Active |
| 26 | Rejected |
| 25 | Active |
| 24 | Active |
| 23 | Active |
| 22 | Rejected |
| 21 | Rejected |
| 20 | Active |
| 19 | Active |
| 18 | Active |
| 17 | Inactive |
| 16 | Rejected |
| 15 | Rejected |
| 14 | Inactive |
| 13 | Rejected |
| 12 | Rejected |
| 11 | Rejected |
| 10 | Inactive |
| 9 | Rejected |
| 8 | Rejected |
| 7 | Rejected |
| 6 | Rejected |
| 5 | Rejected |
| 4 | Rejected |
| 3 | Rejected |
| 2 | Rejected |
| 1 | Rejected |
Overall looks OK, just a few suggestions to consider: - you should avoid sync IO in the compositor whenever possible - remember that the user's entire desktop will freeze while the call is blocking (reading the output obviously gets trickier, but change to async at least when you don't) - adding the indicator after the arrow is broken - you can do better by doing something along the lines of statusMenu.insert_child_above(indicatorIcon, statusMenu._volume.indicators); - ugh, pgrep pulseaudio? You should do better, not least to have your extension working when pulseaudio is terminated after it has been enabled; did you consider something like: statusMenu._volume.indicators.connect('notify::visible', function(a) { indicatorIcon.visible = item.actor.visible = !a.visible; });
statusMenu.insert_child_above(indicatorIcon, statusMenu._volume.indicators); <-- THIS! I have been looking for this thank you. :) I am new to gnome-shell extensions and your review helped a lot. I will do the suggested changes when I can.
New version using async calls for "amixer set". Removed pulse check. Now depending on gnome-shell to hide volume indicator if pulse isn't up. Default volume sliders are hidden based on volume indicator visibility.