Page 4 of 10

Posted: Sat 29 May 2010, 16:13
by WarMocK
Pizzasgood wrote:Version 0.7 uploaded. The only change is that the dropdown to select the slider controlled by the tray now works.
Erm, nope. It still doesn't work here, same problem as before. :-(

Posted: Sat 29 May 2010, 16:24
by Pizzasgood
Thanks disciple.

@WarMocK: Hmm, I'll look at it some more today then.

Posted: Sat 29 May 2010, 18:01
by WarMocK
Thank you Pizzasgood, I apprechiate that.
Sorry for being a little annoying about this, but Retrovol is a cool program, and I'd love to be able to actually depend on it for my puplet. ;-)

Posted: Sat 29 May 2010, 18:09
by Pizzasgood
Odd. On my desktop I have three "capture" sliders, and it works for those.

Are you sure you installed the new version correctly (e.g. you don't have both versions installed in different places)? Try running "retrovol --version" to make certain you have 0.7.

Do you have a custom list of sliders that it shows in the main window? Currently, if you use a list, the tray slider has to be in that list or the program gets confused. (I'm going to fix that with the next version - just noticed it today.)

Does it work for using other sliders? In other words, with the current version is it only the ones with the same name that there are issues with?

Posted: Sat 29 May 2010, 18:48
by WarMocK
STRIKE!
That was the problem! Retrovol 0.6 was located in /usr/bin, while 0.7 now is in /usr/local/bin. For some reason the old version snuck into my last injection package for K-9, and prevented the newer version from being started. Thanks a lot Pizzasgood, you saved the day! :D

Posted: Sat 29 May 2010, 21:13
by vovchik
Dear Pizzasgood,

Here are a few other icon sets for the speaker, in the event that you might prefer them. I quite like the mac style, but that's because I use a mac-inspired GTK theme. In compiling the source I ran across two problems that affect Puppy 3.01, since it has an older GTK. I commented out the tooltips bit in main.cpp, line 160:

Code: Select all

//gtk_widget_set_tooltip_text(settings.tray_icon_image, tooltiptext);
and changed line 589 from:

Code: Select all

g_timeout_add_seconds(1, update, NULL);
to

Code: Select all

g_timeout_add(1000, update, NULL);
It now works, but I still get a segfault when I click "Config Window" in the menu. Any idea why?

With kind regards,
vovchik

Posted: Sun 06 Jun 2010, 23:41
by Pizzasgood
Not off the top of my head. I'll fire up 3.x and play around next time I work on Retrovol. Really need to get around to doing the mode support sometime too. That's the last major thing I've been meaning to do, functionality-wise. I also need to look into having a transparent background if possible, and I need to improve the keyboard control as well.

Version 0.8 is uploaded. The only change is the one that disciple posted a week ago. I actually implemented this back then and updated the SVN, and was going to switch back into Puppy 4.1 later that evening so I could compile a .pet, but I forgot until today. :oops:

Posted: Mon 25 Oct 2010, 15:11
by Pizzasgood
I think I have transparency working now in the SVN version of Retrovol. I don't know why, but it seems to require hard-restarting JWM for the color change to kick in if you change the theme. Just doing 'jwm -restart' doesn't cut it.

It doesn't work in IceWM, but I think that's a general issue with tray icons IceWM - the background for the Skype tray icon also does not change to match my theme.

I managed to fry my built in sound chip on Saturday (a relative sent me a video that apparently has the volume set incredibly high), so I dropped in a proper soundcard from an old computer. After doing so I noticed some problems with Retrovol (it now dies when I try to view config window, full window lists a bunch of extra stuff that doesn't appear in alsamixer, and I forgot to add an entry in the config window to let me tell it which soundcard to use), so I'm going to try to fix those this week and try to have 0.9 out by the weekend.

Oh, and I'll take a look at the bug mentioned by vovchik as well.

Posted: Sat 30 Oct 2010, 15:43
by jemimah
The icewm tray does require a restart of X to change the background.

Posted: Sat 30 Oct 2010, 17:13
by technosaurus
vovchik wrote:I commented out the tooltips bit in main.cpp, line 160:

Code: Select all

//gtk_widget_set_tooltip_text(settings.tray_icon_image, tooltiptext);
if I recall you can change that to something like gtk_tooltips_set_tip

here is an example patch from gnome for upgrading to gtk+-2.12+ (just do the opposite)

Code: Select all

 	if (description->tooltip) {
-		gtk_tooltips_set_tip (chooser->priv->tooltips,
-				      event,
-				      _(description->tooltip),
-				      NULL);
+		gtk_widget_set_tooltip_text (event,
+					     _(description->tooltip));
 	}

or switch to status icon constructs like this one in Yad:

Code: Select all

#if GTK_CHECK_VERSION(2,16,0)
    gtk_status_icon_set_tooltip_text (status_icon, _("Yad notification"));
#else
    gtk_status_icon_set_tooltip (status_icon, _("Yad notification"));
#endif

Posted: Sat 30 Oct 2010, 17:45
by Pizzasgood
jemimah wrote:The icewm tray does require a restart of X to change the background.
Aha! The catch is that the ColorDefaultTaskBar color needs to be set correctly in the IceWM theme or preference file (at least in 1.3.6, don't know about others). The theme I use had a bunch of other Color*TaskBar properties set, but not that one.

Posted: Sun 31 Oct 2010, 01:16
by Pizzasgood
Hmm... I have it nearly ready to go (in fact I thought I was done), but somewhere along the way a bug snuck in. When I hit "apply" in the config window, a second tray icon is generated. I'll try to figure out why and get it uploaded tomorrow.

(I'm just posting this because I had already committed and tagged version 0.9 in SVN before I noticed this bug, so I don't want anybody to jump the gun. Tomorrow's release will be 0.9.1.)

EDIT: Seems to be the newer eggtrayicon files that are causing the problem. For some reason I can't seem to destroy the tray icon that it creates. In the process of looking for a solution, I found a patch that will probably fix the problem the newer eggtrayicon files have with older glib, so when I do get it all worked out I think it should cooperate with Puppy 3.0.1 out of the box.

I'm not wasting anymore of my Halloween weekend on this. I'll try to figure it out in the early part of the week.

Posted: Fri 05 Nov 2010, 17:39
by Pizzasgood
I didn't manage to get it done as quickly as I'd hoped, but I finally figured out how to get rid of the duplicate icon after using the config window since the new eggtrayicon was adopted. The fix is in SVN. I'll put together a package and update this thread tonight when I get off work.

Posted: Sat 06 Nov 2010, 01:13
by Pizzasgood
%$@#, apparently I only fixed it in IceWM. It still doesn't close and restart the tray icon correctly in JWM.

I'm going to take one last stab at eggtrayicon tomorrow. If that doesn't work, I'm going to revert back to the non-transparent but otherwise working eggtrayicon code for GTK < 2.16, and add code for gtk-status-icon for GTK >= 2.16.

Sorry it's taking so long to get this thing straightened out...

Posted: Sat 06 Nov 2010, 04:19
by jemimah
Save me a copy of the version that works in icewm - puppeee doesn't have jwm. :) I do have gtk 2.16 though so maybe it doesn't matter.

Posted: Sat 06 Nov 2010, 04:26
by Pizzasgood
jemimah wrote:Save me a copy of the version that works in icewm - puppeee doesn't have jwm. :) I do have gtk 2.16 though so maybe it doesn't matter.
That would be this one: retrovol-0.9.1.tar.gz

Posted: Sat 06 Nov 2010, 16:18
by jemimah
Thanks!

The transparency works great, but it seems to think my volume is always muted.

Posted: Sat 06 Nov 2010, 17:09
by Pizzasgood
That's strange. Have you doublechecked that it's still trying to use the correct sound card and volume controls for everything?

Posted: Sat 06 Nov 2010, 22:25
by Pizzasgood
Version 0.10 uploaded. I couldn't get eggtrayicon to cooperate, so I reverted it to the old working non-transparent one, and added a condition so that if compiled on a system with GTK >= 2.16, it will use GtkStatusIcon instead, which has transparency.

Other changes since 0.8 include an option in the config window to set which soundcard will be controlled (you need to hit apply before the rest of the config window will update to show the sliders from that card) and theoretical support for compiling on Puppy 3.x. Also, the number of controls it can handle has been increased, and it has been set up to filter out non-mixer controls.

On Puppies that have GTK >= 2.16, the -bg option and associated entries in the config window and retrovolrc file will be ignored, because from what I can tell you cannot directly set the color of a GtkStatusIcon. Shouldn't be a problem since in that case, transparency is working and it should therefor pick up the system's tray color. Next time I work on it I'll wrap those bits of the code in the GTK version check as well, so that they don't even appear when GtkStatusIcon is used.

Since it now has a dependence on GTK version, I compiled two different .pet packages - one for Puppy 5.x, which has working transparency, and one for Puppy 4.x, which does not. The Puppy 4 package maintains the /usr/local prefix so that it can be installed over previous packages (which were all compiled for Puppy 4). The Puppy 5 package uses /usr as the prefix so that it can be installed over the Retrovol that it comes with.

I think that's everything I had to say. This is my second time writing this as the power cut after I was basically done with the first iteration. Hopefully I didn't leave anything out.

Posted: Sun 14 Nov 2010, 00:10
by 01micko
Thanks for the new retrovol pizzasgood.. it works great in Puppy 5X

Cheers