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 |
Seems stable. Previous improvements + code re-use improvements + commentary work.
You are leaking file descriptors (in amixerReadCb() after having found a match), no? Minor comments: - I said we used a 'fooId' convention for variables that refer to GLib source IDs (for instance return values of .connect(), .timeout_add() or .idle_add()), not for every single global variable - you can of course name your variables whatever you like, but it makes for a very confusing read ... - you should return true from amixerUpdate() instead of creating another timeout source (note that I'm saying amixerUpdate(), not the callback passed into readVolume())
Yes you are right about the leak. Also fixed the timeout usage. I didn't know how to use it properly apparently.