Page 1 of 1

retrovol alternative for XFCE

Posted: 10 May 2012, 06:42
by mailmegx
Hi all

I really dislike retrovol, it annoys me I found an alternative called volumeicon I compiled 0.4.6 but there is a bug when suspending and resume the cpu goes to 100% and I have to kill and restart it.
It has some nice features i.e. mapping for multimedia buttons and its simple and clean also it opens the alsamixer in a console and that is my preferred mixer of choice. The latest version uses gtk3 so I was wondering if there are any plans of updating to gtk3 in the next version?

So are there any plans to support gtk3 or can anyone suggest a good alternative to retrovol?

Regards

GX

Re: retrovol alternative for XFCE

Posted: 10 May 2012, 15:11
by Ahau
Hi mailmegx, thanks for your feedback! Could you please elaborate a little more on what you dislike about retrovol? I want to make sure it's the software and not a poor job of implementing it on my part. It should autodetect the 'Master' volume channel and use that, and keybindings should work out of the box with it as well to raise, lower and mute the volume. Retrovol does not support keybindings natively, so I added them to the xfce keyboard settings and wrote a gtkdialog script (/opt/porteus-scripts/xfce/pxf-sound) that raises/lowers/mutes the volume and displays a status bar with the current volume in the middle of the screen. So, if it's the mixer application itself you don't like, the issue is with retrovol, but if it's picking up the wrong channel, the keybindings don't work, or you don't like the GUI popup, then it's my fault :)

I downloaded the source code for volumeicon 0.4.6, prepared a slackbuild for it, and gave it some testing. I found that it doesn't require gtk3, it compiled against gtk2 without issue -- perhaps you already had gtk3 installed on your system and it autodetected and compiled against it? I wasn't able to find anything in './configure --help' about --enable or --disable gkt2 or 3, but the website does specifically call out gtk2 as a requirement. I was also able to suspend/wake without it going crazy on cpu usage. Maybe this is a bug only when it tries to use gtk3?

Please give my module a try and let me know if you are able to recreate the error:
http://porteus-xfce.googlecode.com/file ... 1_Ahau.xzm

To get that working, you'll want to close retrovol, start volumeicon, and then remove the volume keybindings from xfce (go to settings -> keyboard -> application shortcuts and uncheck the boxes for the volume actions), then you can enable the keybindings in the settings for volumeicon. This will disable the gtkdialog popup (it's started via the existing keybindings).

Now, to answer the questions that you actually asked...

When I eliminated gstreamer I searched quite a bit for a suitable mixer replacement, and IMO the pickings are pretty slim. I saw a lot of stuff that was really ugly, had poor functionality, was unmaintained, etc., so I'm happy to see volumeicon and I'll consider switching to it. Like you said, it is simple and clean, and I could probably get it working with my pxf-sound script (haven't gotten a lot of feedback on that, so I don't know if people like it or hate it). Only down side I see to it is that volumeicon uses a little more RAM than retrovol (11MB compared to 8MB).

Another option for you would be to add gstreamer and gst-plugins-base, then xfce4-mixer and xfce4-volumed (to get keybindings working). I didn't mind the mixer or the panel plugin, but I didn't like the gstreamer dependency. I can help compile these against Xfce 4.10 if you'd like to try them.

Regarding gtk3 -- it will not be included in the default ISO for Porteus-XFCE 1.2 final, and I don't plan on including it by default until I really have to. It's bigger and it uses more memory, and for the time being we'd have to leave gtk2 installed alongside it, and I don't like redundancy. That said, there's an ongoing discussion on the Xfce mailing list about porting to gtk3 for the next stable version (4.12). Not everyone is sold on the idea, but I think there's an air of inevitability around it, and if Xfce ports to it, I'll probably include it (as much as I dislike redundancy, I also don't want to get left behind). Sorry to give a nebulous answer :D

Re: retrovol alternative for XFCE

Posted: 10 May 2012, 17:10
by mailmegx
Hi Ahau

Sorry if was not clear, the thing I dont like about retrovol is personal i.e. the appearance more than that is when clicking the volume icon it will stay open until its clicked again, most apps close as soon as you click anywhere else.

As for keybindings, I dont know why volumeicon just works with no config needed but it does, again I was not clear on the versions 0.4.6 works with gtk2 but has a bug on resume it uses 100% cpu. the latest version 1.0 requires gtk3 which managed to implement and compile volumeicon1.0 but it caused other problems in other apps looking for gtk2.

I have an email and will forward you regarding the versions of volumeicon however I feel this is a personal problem unless you prefer to replace retrovol with volumeicon?

Regards

GX

Re: retrovol alternative for XFCE

Posted: 10 May 2012, 17:48
by Ahau
thanks, mailmegx!

I have some of the same annoyances with retrovol, so I am considering volumeicon for inclusion in the default ISO (so please do forward me your email -- ahau@porteus.org). I'm looking through their github site now, and see that they ported to gtk3 on april 28th, but fixed a 100% cpu bug prior to that: https://github.com/Maato/volumeicon/com ... f4246b8762

So maybe we could build that version and have the best of both worlds? Hopefully their final version would have config options for --disable-gtk3 and --enable-gtk2. Since they are writing this for use with tint2, I'd imagine they're sensitive to folks who want to keep their footprint small. I'll give it a shot and we can go from there.

RE: keybindings working without configuration -- you're probably still getting the volume to change from the keybindings I set up for pxf-sound. It changes the volume through alsa/amixer directly rather than working through retrovol.