Slashdot Mirror


GTK+OSX for Mac OS X Aqua

Scott Sheppard writes "GTK+OSX has released a native Mac OS X Aqua port of the Linux-based GTK+ open source graphical user interface library. GTK+ (GIMP Toolkit) is a popular widget library supporting graphical applications for Linux. GTK+OSX version 0.1 is an alpha release intended for developers." This could make The Gimp cozy for MacHeads without installing XDarwin and OroborOSX. Looking good!

27 of 235 comments (clear)

  1. Article text (AC not whore) by Anonymous Coward · · Score: 4, Informative

    GTK+OSX has released a native Macintosh Aqua port of the Linux-based GTK+ open source graphical user interface library. GTK+ (GIMP Toolkit) is a popular widget library supporting graphical applications for Linux. GTK+OSX version 0.1 is an alpha release intended for developers.

    "This is great news for the Mac OS X developer community," says Macworld UK contributing editor Scott Sheppard. "It means that many popular Linux programs can be ported to run natively with Mac OS X's Aqua user interface, avoiding the hassle of users having to run an X server."

    GTK+OSX is a spin-off from the Film Gimp project (www.FilmGimp.org). GTK+ is utilized by Film Gimp and many other Linux programs including those of GNU and GNOME. Mac OS X users greeted Mac Film Gimp with enthusiasm at its release earlier in December. But, that X-based compatibility version was merely the first step. GTK+OSX is being developed as the underpinnings for a native Aqua-based Mac OS X port of Film Gimp, scheduled for Q2 2003.

    GTK+OSX project manager Robin Rowe is also the release manager for Film Gimp. "As soon as we released the Fink-based version of Film Gimp we began looking for ways to port natively to Mac OS X", says Rowe. "Andy and I began researching different ways of doing that, either switching to another toolkit or making GTK+ run directly on Aqua."

    GTK+OSX lead developer Andy Prock is also the Mac port lead for Film Gimp. "My curiosity got the better of me", says Prock. "I discovered an abandoned GTK+ for OS 9 Sourceforge project called gtk-mac, and that became the basis for GTK+OSX". GTK+ co-maintainer Owen Taylor says, "The GTK+ team is happy to see the GTK+OSX project working on bringing the power and flexibility of GTK+ to OS X."

    GTK+ has not been available running natively on Macintosh, although there is a native port of GTK+ for Windows. Mac Film Gimp and other GTK+ applications currently use Fink and the XDarwin X server, a technology that enables X Windows programs to run on the Mac almost seamlessly. The relationship between Darwin/Aqua is roughly the same as Linux/X. Both Linux and Darwin are open source, but the Macintosh Aqua interface is not. A fully open source alternative is Darwin/XDarwin. XDarwin enables X to run on Darwin, and it can run "rootless" on the Aqua desktop if a user wishes to run both. However, there's overhead and complexity to running two graphics interfaces simultaneously. That's why it is desirable to have GTK+ run natively on Mac Aqua without X.

    Apple offers four GUI toolkits: Cocoa, Java2, Carbon, and Classic. Carbon and Cocoa are both native Aqua interfaces. Aqua renders utilizing Quartz, a technology Apple based upon NeXT Display Postscript. For GTK+OSX a Carbon-based design was chosen over Cocoa because Rowe was influenced by Patrick Beard's description of the challenges Mozilla Chimera experienced working with Cocoa and Objective C (see http://www.opensourceprogrammers.org/meeting/2002/ Jun19.html). "We wanted an easy-to-maintain design, that would play nice with the Linux and Windows versions of GTK+", says Rowe. "That meant choosing Carbon and C, rather than Cocoa and Objective C."

    A three-step process was mapped for developing the GTK+OSX library. First, do the trivial GTK+ program Hello World, then a mid-sized Linux application, then major applications such as Film Gimp. Rowe had written an article about porting the Linux-based Gothello GTK+ program to Windows (see http://linuxjournal.com/article.php?sid=5574), making it an obvious choice as a test program for a Mac port. Mac Gothello is the first real program to utilize GTK+OSX. Both are available for download at the GTK+OSX site at SourceForge.

    * Pricing and Availability

    Free at http://gtk-osx.sourceforge.net. GTK+OSX is available as source tarball (gz). Download version 0.1 or higher, about 8mb. Optional Mac Gothello download is about 1mb. GTK+OSX has an active mailing list.

    * Further Information

    http://gtk-osx.sourceforge.net

    Robin Rowe, GTK+OSX project manager, 510-235-2397, Robin.Rowe@MovieEditor.com

    Full rez screenshots: http://gtk-osx.sourceforge.net/docs/applications.h tml

  2. Re:First impertinent post by kyrre · · Score: 3, Insightful

    Its easier to compile The Gimp for OS X/GTK than to create a separate tree for an Aqua version of The Gimp. This goes for a horde of other gtk applications as well. Now if only they would make a Gnome library for Aqua I could use Gnome applets in my dock. This is good stuff. Im looking forward to throwing out Photoshop in favour of The Gimp.

  3. Re:First impertinent post by popeyethesailor · · Score: 4, Insightful

    GTK is a widget toolkit, it can be targeted to any rendering engine, X-windows, GDI etc.
    BTW, this article is about GTK running natively on OS-X, which means it utilises the Aqua rendering engine. So there.

  4. This could make The Gimp cozy for MacHeads?? by mustangdavis · · Score: 5, Insightful
    This could make The Gimp cozy for MacHeads


    I don't think so!

    Although it is pricey, all the "MacHeads" still are trained on (and prefer) Adobe Photoshop. Unfortunately, that is still a superior product when it comes to image manipulation. Yes, GIMP has come quite a ways (and I use it for personal stuff since Adobe P.S. is so pricey), but it is hard to compete with a product that does such a great job and that has become an industry standard.

    Nice thought, but it ain't gonna happen! Too many graphi designers have spent too many years of their lives learning how to use all of the features of Photoshop .... they're not goning to convert just because GIMP is suddenl available for OSX. If they wanted GIMP, they would have installed Linux on their Mac years ago and used it then.

    Although I think it is great that GTK is now on Mac, I don't think it will change "things" that much ...

    Just my $0.02 cents

    1. Re:This could make The Gimp cozy for MacHeads?? by BMonger · · Score: 4, Insightful

      I'm not a graphic design type but I do need a program to use when I am creating web sites... there's not a chance I'm gonna spend $600 or so on PhotoShop when all I have to do is resize and image and maybe a crop or two...

      Right now I use Graphic Convertor because it's cheap ($20) and it's easy to use... but I'd be inclined to install GIMP and use it too if it stopped by OS X...

      A lot of power users probably use Final Cut Pro/DVD Studio Pro too but I bet there is a much much larger market that uses iMovie and iDVD because it's easy and it does what "the common man" needs done... this is the same place where GIMP will prevail.

    2. Re:This could make The Gimp cozy for MacHeads?? by veddermatic · · Score: 5, Funny

      I learned to get across the room by breaking glass on the floor then stripping naked and wrigginlg across it while squeezing lemon juice on my body.

      Every time I try to use my "legs" it seems akward.

      If you like the GIMP, neat, it's dirt cheap, and it does some stuff that PS does.. but boy howdy, comparing GIP to Photoshop is, well, re-read that first part of my post. I'm a professional designer... I looked into the GIMP when I was going ot leave WInderz for Linux.... I gave it plenty of time and effort, but sorry, the GIMP UI was designed by an evil robot who's only job it was to make a horrible UI. =)

      I left Windows tho... Mmm, photoshop on OS X.

      --
      Department of Homeland Security: Removing the rights real patriots fought and died for since 2001
    3. Re:This could make The Gimp cozy for MacHeads?? by Anonymous Coward · · Score: 4, Informative

      For what it's worth, I started on the gimp, and enjoyed it immensely - it was my introduction to graphics in a purely manual sense (as opposed to rendered 3D imagery and the like). I'm glad I came across it when I did. I never saw much reason to bash photoshop at the time, but other linux graphics users seem to have an obsession with bringing down all things PS.

      I used photoshop after nearly 2 years with the gimp, and while it was initially freaky without my familiar tools I was stunned at the power in PS. It feels simpler, looks simpler, hell I feel like I'm doing less 'work' but there's more of me going into an image, than into using the UI. You can count me among the pro-photoshop people, but on the other hand I'll never bash The Gimp for what it is. It does well for when you don't need all of PS, and I can't see everyone needing to do everything PS does. It's one of the few pieces of software worth the price, IMHO

    4. Re:This could make The Gimp cozy for MacHeads?? by baryon351 · · Score: 3, Insightful

      All the current macheads (if most of my experience with fellow graphic artists is anything to go by) will look at the gimp and go "wtf?". Some will head towards it because it's free, but the biggest benefit will be to future macheads, switchers, and people who haven't yet thrown themselves into graphics. While I prefer photoshop (alright, it's the main reason I use a computer at all), it's all about choice.

      One more tool, with its place.

    5. Re:This could make The Gimp cozy for MacHeads?? by BMonger · · Score: 3, Insightful

      Exactly. It runs under X11. I'm way too lazy to attempt to get X11 to run over/under/next to/whatever or however it runs with/without OS X. Graphic Convertor runs just fine under OS X. But... if GIMP ran directly under OS X (download/run and nothing else) I'd be inclined to give it a shot. I'm not that hardcore into the "I gotta use open source" or whatever makes GIMP so cool that I'm gonna mess around with installing 8 other doo dads to get it working.

    6. Re:This could make The Gimp cozy for MacHeads?? by babbage · · Score: 5, Insightful
      On one level you're right -- Photoshop is in most ways & by most opinions a superior tool compared to the Gimp, and most oldschool Mac users will not be impressed by the Gimp. On the other hand, a lot of newschool Mac users are oldschool Unix users, and a lot of those folks are only passingly interested in creative graphics software. For that segment, noodling around in the Gimp is just fine, and makes far more sense than shelling out a few hundred bucks for the professional grade graphic designers' software. In short, the Mac ecosystem is diverse enough to support both applications just fine.

      More importantly, the real gain here is the GTK+ toolkit, not just the most prominent application written with that toolkit. Being one of those unix/mac users, I'm not particularly interested in the Gimp -- but I'd love to be able to use an Aqua-native version of Gvim every day, and with a native GTK+ port there are now a huge number of other GTK+ apps that can be brought over to OSX without forcing users to set up X11 as well. As another commenter noted, no, these will not really have the right look & feel for OSX -- menus attached to windows instead of the screen border is a mistake here -- but as a bridge framework for bringing graphical Unix software to the Mac, this is far better than having to run X11 alongside Aqua.

  5. Probably a stupid question by sheriff_p · · Score: 4, Interesting

    This is probably a stupid question, but:

    There are programs like FreeCIV that use GTK. How long until I can natively compile FreeCIV, or some other arbitary *nix program on OS X, without needing an X server?

    --
    Score:-1, Funny
  6. Re:First impertinent post by Anonymous Coward · · Score: 4, Informative

    Aqua is just a look. Quartz is the rendering engine.

  7. What about existing Fink Installations? by ewwhite · · Score: 3, Interesting

    How will this affect those of us with existing XFree86 and Fink applications? I currently use Gnome and Gtk for my X applications... is this an entirely-standalone product, or could it possibly integrate well with an existing Gtk install?

    --
    Edmund White
    http://flickr.com/ewwhite
  8. Won't make for nice "Mac apps" by lpontiac · · Score: 5, Insightful

    I've been looking into cross platform toolkits myself recently. A major issue where the Mac is concerned is that it's not just the look, it's the feel; there are lots of nuances that will annoy Mac users if you don't get them right.

    The screenshot shows a menu bar at the top of the Othello window, which breaks the most obvious rule of all - Mac app windows don't have a menu bar on them, instead there's a single menu bar up the top which changes depending upon the focus.

    There's some specific gotchas in the wxWindows wiki, here.

    Don't get me wrong, the GTK port is an achievement and I'm sure it will be very useful to a lot of people. But we'll never get to the point where someone can produce a decent Mac app by taking their Unix sources and recompiling.

    1. Re:Won't make for nice "Mac apps" by fidget42 · · Score: 4, Insightful

      Please remember that this is an alpha release. I would expect a production release to properly manage (most of) then Aqua UI guidelines.

      --
      The dogcow says "Moof!"
  9. Re:First impertinent post by llamalicious · · Score: 5, Funny
    Im looking forward to throwing out Photoshop in favour of The Gimp.

    That's enough outta you, mister. Your black turtleneck and beret are being confiscated!

    Pffft.

  10. sorry folks, GTK+-1.2 only :-( by BigSven · · Score: 4, Informative

    The article doesn't mention much about the technical details and does not even tell us which version of GTK+ this port is based on. Unfortunately it seems to be a port of the older GTK+ version 1.2. This is a surprising at first glance since the 2.0 version of GTK+ is much better prepared for different rendering backends (and comes with GDK versions for Win32, linux-fb and DirectFB). Since this port is closely related to FilmGimp, which is unfortunately still dealing with the outdated 1.2 version, this choice becomes clear. Hopefully this project will soon lead to a GTK+-2.x port or Mac users will have to deal with outdated and mostly unmaintained GTK+ applications.

  11. Re:First impertinent post by IamTheRealMike · · Score: 3, Interesting
    But, why would anyone use GTK when OS X provides the vastly better Aqua?

    Because GTK lets you write apps for Linux, Windows and now MacOS X, whereas Aqua is OS X only?

    Also, how are you comparing GTK to Aqua? Looks? Have you got extensive programming experience of both? Or are you just assuming it's worse?

    I think you could make a good case that GTK is superior to Aqua (as a widget toolkit).

    GTK2 is much better than GTK1 bear in mind (I think they ported gtk1). I personally think the most common theme engines look much better than Aqua, because the flat, clean look appeals to me. Seeing screenshots of Aqua apps makes me glad I'm not using it, I mean every effing widget is full of stripey lines: I find it incredibly visually distracting. Of course GTK is natively themable (Aqua is not without some horrid hacks) and has been for some time, so if you must have an Aqua style GUI you can have one, but I much prefer for instance Mist which is stylish without getting in your way.

    Programming wise, although I don't know much about MacOS coding, I do know that GTK2 has more bindings than Aqua (it's based on object oriented C meaning it's incredibly easy to bind to other languages), can have multiple backends (which is where it gets its display portability from), with the X backend can be network transparent, uses FreeType for superior text antialiasing (OS X has heavier, fuzzier AA at small sizes), has full accessibility support (aqua may have this too, i dunno) and of course is open source (which is why this is possible in the first place).

    So - if you have credible arguments for why Aqua is better as a toolkit than GTK, let's hear them. And no, "I like animated buttons" is not a credible argument, you can have them with GTK too if you write a theme that uses them.

  12. Re:What about a GTK version that uses native widge by IamTheRealMike · · Score: 3, Informative
    I think that it is great that they have ported GTK to so many places, but there is one major problem in my opinion. GTK reimplements all of the native OS widgets

    I think you missed something pretty important. GTK is the native OS widgets for Linux (well, originally written for, you can use Qt as well). What they have actually ported is GDK, which is a display system abstraction library. A GTK program will never use Windows/MacOS widgets natively because that is not its purpose, if you want that you should be using a widget toolkit abstraction lib like SWT or wxWindows. Or you could of course write a theme engine for GTK that simulates other platforms.

  13. what about adobe by digitalsushi · · Score: 3, Interesting

    I wonder what Adobe's take on this is, with the GIMP on the horizon? I wonder what percentage of Photoshop installations are legal viewed from both PC and Mac perspectives. Anyone know that stat, roughly? Course it's a hard number to calculate.

    --
    slashdot: where everyone yells sarcastic metaphors to themselves to understand the issue
  14. Re:My only wish... by sporty · · Score: 3, Funny
    Gentoo is the fastest Linux on PPC and it beats all others (on PPC) including Mac OS X;


    And Mac OS X gets Gentoo in a sleeper hold! But Gentoo breaks it. Oh, kick to the midsection.

    C'mmon.. can we please stop making absolute statements? Especially with no foundation?
    --

    -
    ping -f 255.255.255.255 # if only

  15. Think TOTAL Cost of Ownership by alchemist68 · · Score: 3, Insightful

    Macs are less expensive to own over the long term than PC's. The main factor that affects this is the power usage/requirements of the computer.

    Check out ArsTechnica.com here to see a comparison of PowerPC and Intel pwer requirements:

    http://arstechnica.com/cpu/02q2/ppc970/ppc970-1.ht ml
    http://arstechnica.com/wankerdesk/3q02/powerpc.htm l

    Guy, I'm tellin' ya, you get what you pay for. Mercedes Benz isn't the fast car in the automarket, but they are one of the nicest; same analogy goes for Apple; not the fastest, but one of the nicest. Your Mac OS X box (not iMac) will grow with you for several years. My Blue and White 500MHz G3 is plenty fast enough for playing Quake and cruising the internet.

  16. Re:First impertinent post by Twirlip+of+the+Mists · · Score: 3, Informative
    Compare helloworld.c from HelloGTK (with the comments stripped out for brevity's sake and massaged to appease the stupid lameness filter [which should ignore stuff inside ecode tags, dammit]) to the equivalent Controller.m from Hello.app, which I wrote in Objective C using the Cocoa API with Project Builder and Interface Builder in about two minutes.

    helloworld.c
    #include "HelloGTK_Prefix.h"

    #include <gtk/gtk.h>

    void hello( GtkWidget *widget, gpointer data )
    {
    g_print ("Hello World\n");
    }

    gint delete_event( GtkWidget *widget, GdkEvent *event, gpointer data )
    {
    g_print ("delete event occurred\n");
    return(TRUE);
    }

    void destroy( GtkWidget *widget, gpointer data )
    {
    gtk_main_quit();
    }

    int main( int argc, char *argv[] )
    {
    GtkWidget *window;
    GtkWidget *button;

    gtk_init(&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

    gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL);

    gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (destroy), NULL);

    gtk_container_set_border_width (GTK_CONTAINER (window), 10);

    button = gtk_button_new_with_label ("Hello World");

    gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (hello), NULL);

    gtk_signal_connect_object (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (window));

    gtk_container_add (GTK_CONTAINER (window), button);

    gtk_widget_show (button);

    gtk_widget_show (window);

    gtk_main ();

    return(0);
    }
    Controller.m
    #import "Controller.h"

    @implementation Controller

    - (IBAction)doHelloButtonAction:(id)sender {
    [NSApp terminate:HelloButton];
    }

    @end
    Which API would you rather use?
    --

    I write in my journal
  17. Re:First impertinent post by IamTheRealMike · · Score: 3, Interesting
    Ahhh, well that's sort of cheating. A better example would be using a high level language. That doesn't use Glade (UIs loaded externally). I've written a hello world GTK app in Python that is only 4 lines of code using glade, one of which is loading the file.

    If you're going to compare APIs you should at least make use of the features of each, and use languages of similar levels. No, ObjC is not a low level language either.

    GTK UI construction in C is verbose yeah, but so is anything in C. You can make GTK apps very simply if you use the right bindings and use Glade (equivalent to .nib files), ditto for any part of the GNOME apis. Oh and I'd much rather not use Objective-C for anything, I find it incredibly hard to read, and I know many languages. I'm sure I could learn it if I wanted to, but I don't, language neutral APIs are generally much nicer imho.

  18. Re:First impertinent post by Twirlip+of+the+Mists · · Score: 3, Funny

    Oh and I'd much rather not use Objective-C for anything, I find it incredibly hard to read...

    Like Python is easy on the eyes? My kingdom for a damn semicolon! ;-)

    --

    I write in my journal
  19. Don't think Gimp. by IGnatius+T+Foobar · · Score: 4, Insightful

    Don't think Gimp. Think OpenOffice. Think Mozilla. Think apps that people actually want on the Mac. I've believed for a long time that Apple should be pushing really hard to make these two applications not only available, but downright pervasive on the Mac. This will eliminate Apple's indentured servitude to Microsoft and allow them to push forward in any direction they like without Microsoft threatening to pull the plug on Office (and to a lesser extent, IE) every time Apple tiptoes in a direction that offends Bill's delicate sensibilities.

    Native GTK for Mac OS is a good way to kickstart apps like Moz and OO on the platform without requiring XFree86 to be installed first (which works wonderfully, but is a bit too hackish for nontechnical Mac users). Then Apple and others can begin working on making the integration more and more native-looking.

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
  20. Re:Why bother? Apple doesn't want this. by bnenning · · Score: 3, Interesting
    Apple wants people to port their applications to Cocoa. That's the only kind of GUI they want on OSX.


    True, and false. Apple emphasizes Cocoa and doesn't provide a built-in X server, but that doesn't mean they're hostile to the concept of running X apps. They even link to the XFree86 Darwin port.


    I don't see any point in fighting it, and I don't see any point for open source efforts to waste any time on doing something Apple doesn't want in the first place.


    There's nothing to fight, and even if there were, Apple doesn't control what software you run. By that reasoning developing Mozilla for Windows is pointless since Microsoft doesn't like it.

    --
    How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.