Home > GTK+ > Native GTK+ for Mac OS X in the WorksNative GTK+ for Mac OS X in the Works Submitted by carbon-12 Eugenia Loli 2005-10-07 GTK+ 59 CommentsImendio announced that it has been working on a port of native Gtk+ for Mac OS X. About The Author Eugenia LoliEx-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker.Follow me on Twitter @EugeniaLoli 59 Comments 2005-10-07 12:13 am neowolfA dream come true~ 2005-10-07 12:18 am Who is Thatsweet!!! Does this mean that Ximian’s OO.o can be run on OS X out of the box? 2005-10-07 1:07 am It’s really great that someone has finally ported GTK. I hope someone will create a native Mac theme for GTK, just like Wimp for Windows.@Who is That: No, you won’t be able to run Ximian’s OO.o on OS X (without X11), because OO.o is deeply tied to X11. It uses GTK for the widgets, but most of it doesn’t use GTK. 2005-10-07 12:25 am YuskeAnother good reason to use GTK+. 2005-10-07 12:32 am Good work! 2005-10-07 1:08 am I think Ximian’s OO.o (and OO.org itself) don’t use GTK. Ximian just included a few font tweaks and Gnome icons in the app to help make it look native, but it’s not. It’s their own toolkit developed back in the day when Windows 3.11 was around. 2005-10-07 1:15 am Well that just shits all over the apple HIG. Whilst this makes writing X-P apps easier, it doesn’t make them any easier for the user to use. 2005-10-07 1:25 am Just kidding. 2005-10-07 1:30 am I mean really, is Windows support so much to ask? 2005-10-07 1:39 am I mean really, is Windows support so much to ask?Probably not. In fact, it’s been around and stable for quite some time. So definitely not.http://prdownloads.sourceforge.net/gladewin32/gtk-win32-2.6.10-rc1…. 2005-10-07 2:18 am WrawratTrue, but have you ever used GTK+ applications in Windows? They look completely out of place. Not only that, but they got an*horrible* redraw rate (resizing windows, putting one over another, etc). I have used GIMP and Gaim for a while and I stopped since they are alien to the rest of the environment. Last time I tried them (about 4 months for GAIM, last week for GIMP), they don’t even use the Win32 standard dialog boxes!In my opinion, the Win32 port was done as an afterthought. I guess the original poster meant: is _decent_ Windows support so much to ask? 2005-10-07 3:42 am i’ts been said here before: Gtk now has a native windows theme: WimpTry installing the latest Gaim or something…Anyway this is (hopefully) very good news! 2005-10-07 4:08 am carbon-12“True, but have you ever used GTK+ applications in Windows? They look completely out of place.”These look out of place?http://gtk-wimp.sourceforge.net/screenshots/gfx/inkscape-winxp.pnghttp://gtk-wimp.sourceforge.net/screenshots/gfx/Gimp-WinXP.pngMicrosoft products (Office 2003, WMP 10, etc) look far more out of place than GTK+. 2005-10-07 5:26 am melgrossYuck, it looks almost exactly like a Windows app. 2005-10-07 7:42 am Microsoft products (Office 2003, WMP 10, etc) look far more out of place than GTK+.Yeah, sure, dude. Wake me up when GTK+ apps use native Windows dialogs. When the buttons – even with the oh-so-great Wimp theme – are sized like normal Windows buttons. And, finally, when widgets GTK+ don’t REDRAW THEMSELVES AT 1 Hz RATE. Seriously, I was able to reliably make a screenshot of a Gaim or Gimp window in the process of redraw. Just how much slower can it get? 2005-10-07 11:37 am Wake me up when GTK+ apps use native Windows dialogsWAKE UP!Inkscape uses native Windows dialogs and redraws fast enough on my 3.2 GHz Pentium 4 box at work. It’s also prety fast using Linux on my old 700 MHz Celeron at home 2005-10-07 12:50 pm urmenschShow me the screenshot. I’m staring at inkscape on XP and it’s using GTK+’s native file dialog. Redrawing is an issue as well, no matter how much you wish it wasn’t.I tested GTK+ and wxWidgets to see what to use to program a little utility app I wrote. I ended up choosing wx because of the above issues, which was disappointing.Here’s to the continual improvement of cross platform GTK+! 2005-10-07 2:00 pm SphinxThese look out of place?Completely! They’re way too intuitive and user friendly. 2005-10-08 1:16 am WrawratI should have said they are. There is more than look in “Look & Feel”. But talking of look, Inkscape uses many GNOME icons and GIMP uses GNOME’s button order. Other than widgets, GIMP doesn’t look like any other Win32 app. That said, it doesn’t look like any other GTK or QT app…If you stop your comparison at screenshots, then you can conclude they look similar. But use the applications for a while and it’s clear that they don’t feel at home under Win32. WIMP cannot help this. 2005-10-07 4:30 am Unfortunately the Win32 port is horribly maintained. There are serious bugs that cause major usability headaches that have been there for over two years and haven’t been fixed.As much as I would like to be able to use this toolkit on Windows, I simply can’t take it seriously after having written a few Windows apps in it. It’s simply too buggy. And major headache bugs go for a year or two with no attention. 2005-10-07 1:31 am I hope someone will create a native Mac theme for GTKThey did, but Apple threatened them, and it was removed from popular theme sites, but I’m sure you can still find it.Well that just shits all over the apple HIG.Actually the Gnome HIG is very similar to Apple’s. 2005-10-07 1:40 am Actually the Gnome HIG is very similar to Apple’s.But on different platforms, they are entirely different things. Having a non Aqua app on OSX is non-HIG no.1 (and vice-versa) 2005-10-07 2:11 am jeffbaxWell that just shits all over the apple HIG.Actually the Gnome HIG is very similar to Apple’s.Too bad that GIMP doesn’t really follow *any* form of HIG.This is cool, but I’m excited about stuff other than GIMP… as GIMP’s paradigm is just straight up broken IMO. 2005-10-07 2:17 am Maybe it’s because GIMP isn’t a Gnome app. It’s a GTK app. There’s a difference. 2005-10-07 4:25 am kaiwaiThey did, but Apple threatened them, and it was removed from popular theme sites, but I’m sure you can still find it. What a load of codswallop – GNOME and KDE theme sites till host Aqua inspired themes for their respective desktops.Apple got in a tizzy by the fact that people were copying native icons and making them available free of charge for other platforms, and also including the use of trademarks such as the Apple logo and so forth – I see nothing wrong in what Apple did; its no different to, say, Adobe turning around suing people for copying fonts out of their Studio CS and making them available for download free of charge.Oh, and back to the issue; they don’t need to bundle the icons with the source distribution; it would simply be a matter of setting up some macros in the configure script so that when it detects MacOS X, it uses the icons that are native on the machine, thus not requiring any copying. 2005-10-07 7:38 am Oh, and back to the issue; they don’t need to bundle the icons with the source distribution; it would simply be a matter of setting up some macros in the configure script so that when it detects MacOS X, it uses the icons that are native on the machine, thus not requiring any copying.Even easier than that, instead of using GTK controls/widgets functions, use the native OS-X controls, with a thin GTK emulation layer on top of them. 2005-10-07 8:11 am kaiwaitrue; but then again, I think there are some widgets that aren’t available on MacOS X because of HIG issues (a Mac/*NIX guru will be able to point them out).I’m sure they’ll find a solution, but I think the more important thing is getting GTK working, then worry about tweaking and beautifying it later on. 2005-10-07 11:22 am BryanFeeneyThe problem there is that GTK offers features that either aren’t available in Aqua, or else don’t map directly to Aqua features. Any application that uses GTK extensively (especially one that features custom widgets) wouldn’t work, and unfortunately that’s the majority of the “killer” GTK apps out there. 2005-10-07 11:11 am segedunumActually the Gnome HIG is very similar to Apple’s.What’s the Gnome HIG got to do with cross-platform GTK applications? 2005-10-07 12:29 pm >What’s the Gnome HIG got to do with cross-platform GTK applications?Rather much, most >>cross-platform<< GTK+ apps are just plain old GTK+ apps. None so far have been written as cross-platform apps. Most are Gnome apps or at least so aware of Gnome apps that they usually try to fallow the Gnome HIG even if they aren’t Gnome (integrated in the DE, or using Gnome specific libs) apps. In other words, the Gnome HIG is more of a GTK HIG. 2005-10-07 2:09 am Why would anyone in their right mind want to use GTK on the Mac? GTK widgets are butt-ugly. They can’t even compete with QT-KDE on Linux and they want to port that abomination to the Mac. eeeuuwh!!! My question is why? 2005-10-07 2:48 am Great News! Yay!! 2005-10-07 2:55 am QuantumGSigh, notice they havn’t used the global menu bar? That’s freakin’ lame. 2005-10-07 3:44 am It is extremely alpha quality right now. I’m sure it’ll be made to fit in with the rest of the system once they get important stuff done like, you know, actually supporting every widget. 2005-10-07 3:57 am It looks good with the latest wimp. It looks a lot better than the horrid mess that is Swing. 2005-10-07 4:19 am OK, I use both Linux and Mac OS X, but I thought it was generally agreed that OS X widgets and screens are far more graphically sophisticated (drop shadows for windows, for instance) than GTK apps. So isn’t this a step BACKWARD for that platform? 2005-10-07 5:18 am zerblatThe toolkit doens’t have anything to do with the dropshadows, that’s done by the windowing system. If you look at the screenshots, the GTK windows do have dropshadows: http://people.imendio.com/mitch/screenshots/gimp-on-os-x.pngAs for “more graphically sophisticated”, I’m not sure what that means, but Cairo gives you features comparable to Quartz.So isn’t this a step BACKWARD for that platform?You don’t have to use it, but GTK opens the door to making more native-looking ports of Free Software. For whatever reason, there doesn’t seem to be a lot of native Free Software. 2005-10-07 5:39 am “You don’t have to use it, but GTK opens the door to making more native-looking ports of Free Software.”wxWidgets does a far better job at that than GTK does. On Win32 GTK does not look native even with Wimp, and some controls do not exhibit native behavior either. 2005-10-07 6:41 am In my experience wx apps look fairly broken in either environment.Bear in mind that on linux the most widespread wxGTK libs are still tied to gtk1.x (no aliasing, no modern themes, no nothing), because wxGTK2 is still very buggy.Besides, wx apps for the sake of “same code everywhere” do not use most of the things that make a gtk2 app good: no sizers (fixed size app, just like your average VB6 app), no native fileselector, dropdown and combos custom made and very strange, etc.I use aMule (for example), but it is absolutely ugly.Not to mention that writing an app in python+gtk is a lot easier. 2005-10-07 8:25 am Emerson“In my experience wx apps look fairly broken in either environment.”It sounds like most of your experience is with rather dated builds. I use both Debian unstable and suse, and haven’t seen a gtk1 wx application in quite some time on either. I used to find the gtk2 build buggy, but again, that was ages ago. Though I suppose it’s certainly possible that the bugs are there, but I’m not happening to use any of them. And Wx certainly does have sizers now. 2005-10-07 8:34 am GhePeUBear in mind that on linux the most widespread wxGTK libs are still tied to gtk1.x (no aliasing, no modern themes, no nothing), because wxGTK2 is still very buggy.wxGTK 2.6.x (2.6.0 released on April 21st, 2005) has a stable and enabled by default GTK2 support 2005-10-07 10:38 pm “Besides, wx apps for the sake of “same code everywhere” do not use most of the things that make a gtk2 app good: no sizers (fixed size app, just like your average VB6 app), no native fileselector, dropdown and combos custom made and very strange, etc.”I’m not sure where you got that information from. wxWidgets has layout systems similar to Gtk (tables, boxes, etc.), and on Windows will use the native Windows file chooser. On Linux, it will use the Gtk one. 2005-10-07 6:02 am I’ll stick to writing Cocoa Apps on OS X.I’d rather see a fork of Gimp with Cocoa interfaces and access to advanced features (CoreImaging, etc) to enhance and augment Gimp on OS X, and then see it sold for $50 and compete against Photoshop on OS X. 2005-10-07 7:51 am Or it will be as useless on OS X as on Windows. I’m sure most of GTK+ features can be implemented using native OS X and Windows controls and dialogs, so that GTK+ would in effect become some kind of binding to MFC (or whatever Windows uses now?) and Cocoa. That way it wouldn’t look foreign and would redraw with the normal rate for native controls. So far, looking at Gimp screenshots in OS X, I can see that GTK+ does drawing itself, even if without X Window. That’s not a proper way to do it. 2005-10-07 8:55 am >>would in effect become some kind of binding to MFC (or whatever Windows uses now?)Windows (32bit) always has and still uses win32, MFC is an abstraction on win32 to make programming easier, same for winforms. Wimp draws to windows using win32, there will probably be something like Wimp for MacOSX in the near future.I don’t know why people still bitch about GTK+ apps on windows, with Wimp I find they are sufficiently native. If that’s not sufficient for you, think about this, is it usual for all window apps to look the same? 2005-10-07 8:28 am Besides that this indeed is a nice announcement the GNOME community has yet shown their other side of the face again. Hubert Figurine was working on a GTK+ to MacOSX port for quite some time and with the recent Immendio announcement (which made it sound like they are the first) the GNOME community has thrown the hammer again in the face of a prominent and till now contributing and very valuable member of the GNOME community.Read more here:http://www.figuiere.net/hub/blog/?2005/10/05/307-i-m-so-pissed-off 2005-10-07 9:33 am Example of a corporate Apple box :– MacOSX and defaults apps ( Apple HIG )– Lotus Note ( NOT Apple HIG compliant )– MS Office ( NOT Apple HIG compliant )– Photoshop ( NOT Apple HIG compliant)– 2 Corporate Apps in Java ( NOT Apple HIG compliant ) 2005-10-07 9:36 am > Example of a corporate Apple box :>> – MacOSX and defaults apps ( Apple HIG )> – Lotus Note ( NOT Apple HIG compliant )> – MS Office ( NOT Apple HIG compliant )> – Photoshop ( NOT Apple HIG compliant)> – 2 Corporate Apps in Java ( NOT Apple HIG compliant )What a great justification! This makes the entire Apple and GNOME HIG become useless and just a waste of time. The HIG was created to exactly avoid this kind of non-compliance. 2005-10-07 10:19 am pierinoWhy waste your time with gtk toolkit when you can develop your apps in c++ and qt framework ?http://www.trolltech.com/download/qt/mac.html 2005-10-07 10:53 am gullevekwill you port gimp to qt? 2005-10-07 11:13 am because you can develop your apps in c++ and gtkmm if you want c++, and don’t have to learn yet another way of doing things as gtkmm is STL like. 2005-10-07 12:47 pm Maybe because someone doesn’t want to shell out $3000 for a license if they want to write a commercial app. 2005-10-07 10:42 pm “Why waste your time with gtk toolkit when you can develop your apps in c++ and qt framework ?”A: It’s ridiculously overpriced if you don’t want to inherit the GPL virus.B: I don’t like the fact that qt adds propietary extensions to the C++ language which requires a special pre-processor. 2005-10-07 10:28 am Good Work ! 2005-10-07 10:49 am I can’t believe the ridiculous amount of hatred for a possible GTK port. You know what, It does not stop people programming in Cocoa, or Carbon, and believe it or not you don’t have to use software written with it if you don’t want to. This will bring a few quality apps to OSX from Linux that would never get ported from the platform otherwise. It gives developers another cross platform option which will help bring software to OSX. I imagine with a decent theme, a bit of care and consideration you and easily write GTK based software to Apples HIGTalking about the HIG, when it’s a choice between not having a program what I want to use that follows the HIG and not having the software I’ll take the former every time.Fainally, for those saying it looks just like windows, please consult your optician and look athttp://www.vargolsoft.net/2005/09/ooh-we-are-where-flies-are.htmlto see what a default cocoa button actually looks like, I’ll give you a preview, in is not lozenge shaped! 2005-10-07 11:17 am > – MacOSX and defaults apps ( Apple HIG )Apart from the one’s that are not, like Safari, iTunes, etc… 2005-10-07 12:51 pm People seem to forget that the folks who maintain GTK+ are all GNOME hackers. 2005-10-07 4:13 pm because you can develop your apps in c++ and gtkmm if you want c++, and don’t have to learn yet another way of doing things as gtkmm is STL like.Learning the Qt way takes about 10 minutes. 2005-10-08 3:37 pm well, at least in the cross platform sense. developers should start separating the front and back end in their apps. That way they can make the backend very platform independent and portable and then make the frontend with the native toolkit for each platform.Gtk and Qt works well in an x11-enviroment but much less so on other platforms suchs as win32 or macos. Even though an app built with these toolkits may be functional on, say macos x, it almost always feels clunky and like a foreign citizen in the host os.This way, apps will conform to the HIG of the respective OS and generally will feel more enjoyable to work with. You might not get a consistent look across different OS:s but as long as the general layout and menus are the same, I don’t think that matters.I must add that Adobe has succeded pretty well with a cross platform look and feel, though.