On 25 September 2011 01:54, Tim E. Real <termtech(a)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
Yes.
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,
-DGDK_DISABLE_DEPRECATED, and -DGSEAL_ENABLE. You see I've been
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
repos?
I guess you have to weigh all this stuff up. Preparing for when only
GTK3 exists isn't an urgent scenario for example.
James.