
Hi all,
Recently I've been playing with compiling Inkscape against the experimental native quartz (Mac OS X) backend for GTK+ [1] and I've had some reasonable success so far.
After following the GTK+ build instructions on the Imendio project page, I then compiled all the pre-reqs for Inkscape into a custom prefix (/opt/gtk), and then compiled Inkscape using:
CFLAGS="-flat_namespace -undefined suppress" ./configure --prefix=/opt/gtk
The result is a binary that I can run (using inkscape -g) and doesn't require X11 at all.
A screenshot is available.[2]
It loads fine, and I can open and edit files. The problems so far: 1. Various visual glitches (eg. some icons in GTK dialogs displaying an ugly yellow, scroll bar glitches, menus not being entirely responsive), 2. Some random crashes when dealing with complex SVGs, 3. Very slow refresh of canvas, which gets painted in gray first, then you can visibly see it paint the canvas on from top to bottom. This happens regularly when interacting or scrolling.
Problem 3 is by far the most noticable, and if it wasn't for that (and the odd crash) it would be quite usable!
Having no experience with developing Inkscape (and very little with GTK+), can someone give me a clue as to which package I need to focus on to troubleshoot #3? Does Inkscape use Cairo to paint the canvas? Or is it pure GDK? Or cairo via GTK+? You can see I know very little here ;)
Anyway the progress so far is impressive, and I don't think it will be too much longer before it would be realistic to start integrating GTK+ further into the OS (eg. using native OSX menu bar, a quartz widget gtk-theme-engine, etc).
Cheers Derek
[1] http://developer.imendio.com/projects/gtk-macosx/ [2] http://www.hinchy.org/inkscape/inkscape-gtk-quartz.png