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.