Quoting tsumeruby / tsumelabs.com:

> > I believe Glenn called for something that lets him do desktop applets, not
> > standard GUI. Can you make something like completely borderless windows
> > with non-rectangular shapes in FOX?
> >
> > <insert random religious rant against synthetic GUIs from a recent KDE
> > whore here>
> >
> > David Vallner
> 
> A standard GUI toolkit could be used to create the widgets, using the 
> borderless attribute to the windows. However, FOX is not a good candidate 
> because it isn't pretty. There is Qt, Tk(with tile 
> http://tktable.sourceforge.net/tile/), GTK(not pretty on mac). Best stick 
> with what you're writing for depending on the target: Windows, GNOME, or KDE
> 
> environments.
> 
> Tsume
> 
> 

Ah well, here it comes... That is very, very true. Cross-platform GUIs are IMO
a
myth, since the widgets are only the least of it. 

A Windows application will look completely out of place in KDE, and vice versa.
E.g. the Windows convention is to use labels next to toolbar buttons, GNOME
uses relatively large icons with labels below them, KDE by default doesn't have
labels next to toolbar items, Mac has very few very large icons on toolbars.
Putting the application menu bar on the top of the screen is the default on
Mac, a somewhat popular setting in KDE, unheard of in Windows. (I personally
feel mad whenever I use a non-KDE app that has the menu bar inside the window.)
Mac apps are likely not to make heavy use of context menus because of the
tradition of one-button mice, and instead use drag-and-drop for all sorts of
things that would look plain weird to a Windows user. And then there's KDE
letting you customize half every aspect of window behaviour and appearance.
Single click vs. double click for activation. And the list goes on and on and
on ad infinitum.

Most applications have their official specific GUI design guidelines which are
more or less followed by the developers targeting that platform - I expect the
Windows ones being by and large rather ignored. If you want to make a truly
cross-platform application, you need a toolkit that provides complete
integration into the targetted environments, and you still need to spend time
tweaking the frontends to look and feel like KDE on KDE, like GNOME on GNOME,
etc.

You can guess why Yahoo! Widgets don't have a Linux version. I dare claim it's
at least in part because all the major, and a lot of the minor Linux desktop
environments already have support for desktop applets (gDesklets, Kicker
applets, SuperKaramba), and the interest in using the Yahoo API would be
negligible.

You can make a GUI app that compiles and runs on most major platforms, but odds
are it will look completely out of place on the ones the developer doesn't use
himself.

That said, don't take this as an anti-FOX rant, I haven't worked with it any,
but if you're starting out on GUI programming, you should possibly ignore the
cross-platform issue and use a toolkit that is easy to use, learn, and Just
Works - I recommend Swing to people that ask me about Java GUIs for the same
reasons, even if SWT tends to look better. If FOX does deliver these, it's in
my opinion a very good toolkit to bite your GUI teeth on, and with native
theming support for WinXP and upwards in the works, it can also end up being a
very good toolkit for Windows development. Just don't get fooled by the
cross-platform buzzword, because that's just the tip of the proverbial
iceberg.

David Vallner