[LAD] [Bulk] Re: Some mudita24 fixes in SVN now.

James Morris jwm.art.net at gmail.com
Sun Sep 25 09:00:13 UTC 2011

On 25 September 2011 01:54, Tim E. Real <termtech at rogers.com> wrote:
> On September 24, 2011 06:51:33 pm you wrote:
>> The Aurora GTK theme makes the interface look messy due to labels
>> sitting half in and half out of the shaded frames. More a design
>> fault/oversight with the Aurora theme though.
> You mean the "H/W In 1" etc sitting in half grey/light grey area in the


>  snapshot? Observed here with only with Aurora, the other ten installed
>  themes, including clearlooks, were fine - the two greys were equal.
> But oddly, in the GTK theme changer, the frame labelled "Preview"
>  looked OK for Aurora.

I'm using XFCE so didn't see a preview.

> Aha.. That means it's because of our Tabbed Notebook. Yes, I can see
>  it in your snapshot and here. The surrounding grey is the same as
>  the tab grey.

So something wrong with how you're doing the tabs?

> Industrial looked pretty ghastly with it's slider troughs filled with blue.
> Suppose they all have their uses...
>> With certain GTK themes, the slider highlights are unexpectedly
>> inverted so that they go from the top (+0db) down to the slider.
> Oh, you mean say, the industrial blue-filled slider troughs?
> Yep. I know. The reason IIRC is the sliders are all constructed upside-down!

Ok. I did begin looking at how they're drawn but then I got side tracked...

>> ...and being curious I tried compiling with -DGTK_DISABLE_DEPRECATED,
>> brainwashed into removing deprecated code somewhere along the line and
>> have done quite a lot of it over the past couple of years. I've spent
>> the last hour or so, but decided perhaps would see if someone is
>> already doing it or not, or even if the dev's care about this kind of
>> stuff and want me to finish the job or not.
> Oh, I had no idea. So this is a good idea? IE reduces bloat? Or...
> One of my goals was to make sure gtk 2.4 was still supported - just in case
>  some die-hards with older distros need it, because I needed some 2.6 stuff,
>  so I didn't want to disappoint anybody. More complicated though.
> So you'll see macros (I think) HAVE_GTK24 and HAVE_GTK26
> Will you still support 2.4? No big deal to me if we have to move up.
>> See attached patch for what I've done so far. The gtk_pixmap related
>> calls are the most trouble and open up a whole can of worms known as
>> cairo so I haven't not touched that.
> Will try patch...
> Yeah, themes eh?... Here in MusE Qt land, I'm struggling with wacky 'rogue'

No, not themes this time. Deprecated GTK/GDK API. If you look in GTK
docs, gtk_pixmap_*() functions are "deprecated and should not be used
in newly written code". But if you want to support GTK 2.4 still then
this might not be a good idea.

-DGSEAL_ENABLE prevents access to gtk structure members, the reason in
the patch you'll see stuff like:

-  gdouble min   = adj->lower;
+  gdouble min   = gtk_adjustment_get_lower(adj);

with gtk_adjustment_get_lower() being available since 2.14. DevHelp is
pretty useful for this kind of stuff, but not all replacements for
deprecated calls mention since which gtk version they've existed.

gtk_widget_get_allocation() since 2.18 (this again due to -DGSEAL_ENABLE).

The deprecated gdk_draw_rectangle are actually the most trouble as the
GTK gurus want you to replace all that code with code that uses Cairo
which does things quite differently == a PITA.

When I say "...I've been brainwashed into removing deprecated code..."
I mean  that I'm doing it faithfully without really knowing the
consequences. Faithfully believing I'm preparing for the future but
really it's only forcing people to upgrade.

-DGSEAL_ENABLE is used if you want to prepare your code for when GTK3
is the standard version and GTK2 is removed from distros. I think GTK1
has really only  very recently been removed from standard distros

I guess you have to weigh all this stuff up. Preparing for when only
GTK3 exists isn't an urgent scenario for example.


More information about the Linux-audio-dev mailing list