GTK+OSX‘s project manager, Robin Rowe, is now in search of Mac/Unix developers to help him out with a native port of GTK+ for Mac OS X, based on Carbon and without the aid of X11. The port is already usable (CinePaint can run on it) but there is a lot of work still to be done. A stable native GTK+ port could enrich significantly the OSX application base with free open source like Gimp, Bluefish or Anjuta and add to the elegance without the use of X11 (Robin said the port will use an OSX theme by default).
GTK+OSX in Search of Developers for Native GTK+ Port to Mac OS X
2003-12-09 GTK+ 20 Comments
Make it mac native not using some bastardized theme. I appreciate all the work and all, but I would never use a program that looks like a hacked thing just as a refugee from X11.
Is that they’re just trying to do GTK+, not GTK+2. So in other words, old versions of Anjuta, Bluefish, GIMP (well, soon) and GAIM.
Isn’t CinePaint what became of FilmGimp? If so, shouldn’t this mean that a port of the real GIMP should be possible.
Sounds interesting, though I would have to agree with the first post. One thing this project should try to do is make the UI look native especially since they want GTK apps to run native on OS X. Because im working on a Cocoa application for Mac OS X now i’ve pretty much decided to not get much into anything else, but this changes things. This is one of the first things that actually seems worthwhile to me in a while. It will be interesting to see how this progresses, im always looking into new IDE’s & API’s, but for now i’ll stick mainly with Cocoa.
If you read through their project pages they’re trying to move the widgets to an Aqua look, and so far all they’ve managed to complete are buttons. An Aqua look is certainly the end result they’re going for… they simply don’t have enough developers.
I’d say the real problem is due to the project’s legacy, they’re porting the GTK 1.x rather than the GTK 2.x branch. The number of GTK applications whose use will be precluded by the legacy codebase will only continue to increase. This is an observation of which they are all too well aware, but given the current slow development pace, a move to GTK 2.x seems rather far down the list, compared to the already stated problem of moving the look to Aqua amoung other things.
Nobody is going to be interested in using a toolkit or api that is not portable. At least not in the Unix world. So, that rules out using cocoa. GTK+ and Qt are interesting toolkits for this reason. They are portable and reusable.
This is an area where I think Apple should wake up and encourage Unix/Linux developers to port apps to OS X. Unfortunately, OS X is a least interesting platform for cross platform developers. It’s just not designed for portability.
Which begs the question, how many Mac developers are also OSS developers? The more there are, the better the chances of this project surviving.
you better go tell the guys at gnustep.org that
‘GTK+ and Qt are interesting toolkits for this reason. They are portable and reusable. ‘
Qt is portable, GTK is a mess. The old version was tied
to tightly into X11 context’s, the new version has too many dependencies, glib, pango, atk, freetype, fontconfig the list goes on and on.
I think it’s a wise decision to port this. There may not be that many Open Source developers on Mac, but there’s certainly a market for it. There’s a lot of shareware in that market that is far worse than the Open Source alternatives. Fink is doing a good job, but there’s a lot of work to do. One of the biggest misses for me on the Mac is a native OpenOffice.
I use several Slackware boxes as servers, but for desktop, my main concern is a common look and feel. With a lot of good apps out on the Linux world, there’s still a lot of difference between programs running on QT (like KDE) and GTK(+) like Gnome. Without debating that war, I just say that’s a shame. Redhat tried to solve this with their bluecurve theme. It may not be a beautiful theme, but the idea behind it was good.
Comparing KDE to Finder is difficult. I think I prefer KDE, maybe because of my Windows history. But in general, I think OSX makes a better desktop than KDE. And, like it or not, there’s more support from commercial softwarehouses like Macromedia and even Microsoft for the Mac. I need a computer to do business, and that includes talking to other OS’s. Microsoft has a RDC client for Mac which allows me to get onto a Windows server.
So, porting GTK and QT apps to Mac is a good thing. Mac is a great machine, expensive though. I would be a good thing to port Finder and the Mac interface to Intel x86 platform. For now, it’s only the Darwin kernel. If apple would port OsX to Intel, they could really make life difficult for Bill.
Because, that’s all I ask for:
– A Unix like OS.
– Common look and feel
– All hardware platforms
– A lot of applications
[quote]Isn’t CinePaint what became of FilmGimp? If so, shouldn’t this mean that a port of the real GIMP should be possible.[/quote]
Yes CinePaint was known as FilmGimp, but CinePaint is using (and will keep using) GTK+ (1) … GIMP (from development version 1.3/ the next stable version 2.0) is using GTK+ 2! So this will not bring GIMP MacOSX (at least not any new versions)
Those dependencies you speak of are not a problem, they are simply re-usable subsystems of GTK+ itself. It’s called “modularity” and is generally a good thing.
FYI Qt 4 is going to be more like GTK+ in this respect, ie it’ll be split up into lighter weight modules.
Modularity, or ‘the mess’ as some people think of it, is only bad if you’re not good @ compiling etc. and are trying to roll your own. If you aren’t willing to put up with it, get binaries, or gentoo.
An example of the benefit of GNOME’s ‘messy’ libs is that glib is used all over the place for *other* apps, not just gnome. it’s a general purpose lib.
QT stuff on the other hand, is All In One. Want a part of it? You drag it all. OR a lot of it anyway.
They already did port everything, but Steve is content with the way things are right now.
Because no one wrote this, but is this mean GNOME can be ported and run on osx in the future? MacOSX already has a UNIX ground and if GTK runs native, what else need to be ported? Are GNOME and its applications heavily tied up with X or is it made upon GTK+ and similar libraries?
Its the OLD gtk, you can’t use it for new Gnome Programms. 🙁
The GTK+OSX project was ill-conceived from the start. Old GTK+ is a deprecated framework. It’s mostly non-portable, and most new apps are not even based on it. Starting a new project with the Carbon framework is also insane, especially one with such a huge Unix basis. Spending the few weeks to learn Objective-C and Cocoa would have paid off in the long run. Finally, where’s the demand? X11 is now bundled with OS X. The convenience of having native GTK apps really would not outweigh the fact that GTK/X11 and Apple X11 are stable and functional until GTK+OSX were rock-solid, and that’s clearly not going to be for a long time.
Starting a new project with the Carbon framework is also insane, especially one with such a huge Unix basis. Spending the few weeks to learn Objective-C and Cocoa would have paid off in the long run.
Carbon provides significantly more flexibility for what they are attempting to do. GTK has a significantly different widget placement model than Cocoa, and trying to hack GTK-esque layout management on top of Cocoa would be a terrible chore, if not downright impossible. A number of new compatibility layer projects with no MacOS <= 9 legacy have still chosen Carbon over Cocoa due to the extra flexibility afforded. In comparing Carbon and Cocoa, keep in mind that Carbon is not in any way depricated nor is it going to go away any time soon enough to be concerned about.
GTK has a significantly different widget placement model than Cocoa, and trying to hack GTK-esque layout management on top of Cocoa would be a terrible chore, if not downright impossible.
Perhaps, but they’re not even using the native widgets. GTK+OSX just draws GTK widgets into a window. This is why they need to use an OS X theme to make it look right.
A number of new compatibility layer projects with no MacOS <= 9 legacy have still chosen Carbon over Cocoa due to the extra flexibility afforded.
The big ones I can think of here are Qt and the carbonization of Mozilla. Of these, Mozilla required classic Mac compatibility and already had a fully functional Mac port, and Qt/Mac has been a real mess. Frankly, none of the Qt/Mac apps look right, and many users are still using Qt/X11 on OS X even after Qt/Mac has gone GPL. (this may change with KDE 3.2 on OS X, however) I personally believe Trolltech would have been better off doing something like Apple did with KWQ in WebCore; an Objective-C++ wrapper around Qt calls which could then call Cocoa or whatever.
I’ll admit it, the Carbon part was probably the weakest part of my argument, but I’m really not a fan of those APIs (in case it wasn’t obvious already).
Steve and his bunch did not port the complete OSX to Intel. They have the Darwin kernel that has been ported, but nothing of the GUI has undergone the same treatment.
BTW: I don’t like Darwin on i386. Almost no hardware is supported