Re: gtk-quartz for osx



On Wed, 2006-02-08 at 18:04 -0500, Owen Taylor wrote:
> It seems like from this long thread that what's needed is not 
> native GTK+ for OS X, but rather a binary distribution of native
> GTK+ for OS X...

Seems like the Gimp.app[1] people have figured it out sort of. They
package the Gimp with the GTK libraries (for X11) with a special
launcher app made from a hacked version of Platypus[2] That both
launches X11 and then the Gimp but also provides finder integration,
allowing you to drop files on the gimp.app icon and have them open, or
double-click launching of image file types, etc.  Seems like if their
technique was made somewhat generic, it would do for a lot of projects.

One of the biggest hurdles for native GTK (IE quartz-backed instead of
X11-backed) on OS X, in my opinion, is the lack of a standard way of
doing menus. Menus in GTK are just another form of widget and it can be
placed in just about any container widget (which an appealing way of
dealing with and thinking about menus and menubars).  Plus there's a
number of ways of constructing them from GTK's own factory classes to
libegg.  The upshot of all this is you just can't take a GTK app and put
a menu for it up across the top of the screen like you can in QT, unless
you made a special case in your code and make cocoa calls or something.
Perhaps in the future as libegg is integrated into GTK someone can just
write a special version of libegg (ideal) and everyone will standardize
on that for menus.

Another interesting issue for GTK on mac is the question of whether to
create a standard GTK framework bundle (native or X11 or both) that
installs to /Library/Frameworks or to just have each app bundle it like
Gimp.app does.  The Framework route would probably be the best as it
would allow a mac-like theme to be the default for all GTK apps (unless
the user wanted something different).  Plus it would save on disk space.
The Apple app bundle system is a blessing and a curse in terms of wasted
disk space.

Random thoughts.

Michael


> 
> 					Owen
> 
> 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]