[rescue] Sun Kit Needed for EE Student Here

Jonathan C. Patschke jp at celestrion.net
Sat May 6 00:08:16 CDT 2006

On Sat, 6 May 2006, Charles Shannon Hendrix wrote:

> As far as widgets go, many applications now draw widgets independently
> of KDE and Gnome if they are running alone.  However, if KDE or Gnome
> is loaded, they can make use of "engines" (I think that's what they
> are called) which do a better job of drawing.

It's probably nothing more complicated than X resources.  Even CDE
modifies resources so that applications can match colors and fonts with
the rest of the desktop (which is why some CDE-friendly apps show up
blue and ugly (though still using the Motif widget set) when run without
CDE loaded).

If your fonts look great in vanilla X application when run under KDE or
GNOME but like crap when not, it's just because KDE and GNOME are better
at picking fonts than whatever you're normally using.

> Applications can also dynamically load things like Qt and GTK and use
> them instead of their own widgets, if they have an abstraction layer
> for drawing the GUI. I'm fairly certain that is how Firefox works, for
> example. If it doesn't see KDE or Gnome when it starts up, it draws
> its own widgets.  Otherwise it can load code from the environment and
> use that.

Ah, actually you need to compile FireFox with the correct widget
library.  GNOME widgets aren't "loaded" in some globall-accessible way
just because GNOME is.  They're in a shared library like any other
widget kit.  If you have Firefox compiled against GNOME and load it from
bare X (no wm or anything at all), it'll still load those libraries and
draw the widgets with which it was compiled to use.  Likewise, if you
have Firefox compiled to use something else, it'll still use that with
GNOME loaded.

Just because one application (the desktop session manager or window
manager or a file manager or whatever) uses a widget kit doesn't
automatically make it available for other applications to use without
the correct compile-time bindings.  That is, the application -always-
draws its own widgets through whatever mechanism it was compiled to use.

Firefox (and other cross-platform GUI applications like it) do tend to
have abstraction layers over the various widget kits, but they're rarely
(if ever) as dynamic as you assume.

Jonathan Patschke   )  "Why is Perl hard?  Well, for a start, is has
Elgin, TX          (    no grammar.  You can't generate a parser for
USA                 )   Perl, its too irregular."     --Darren Hobbs

More information about the rescue mailing list