Duncan (dmac...@suse.de) has already started with the porting:
"I ported (branches/tmp/dmacvicar/gtk) the UI to compile without
deprecated methods, and with SEAL flags etc (all pre-requirements for a
Gtk 3.0 port)
That is revision 63804"
This was about a week ago. I haven't followed up. I'd like to help out,
but it will have to wait for the summer holidays.
In the GTK3 manual, there is a good step-by-step section on how to
migrate from gtk2:
http://developer.gnome.org/gtk3/stable/gtk-migrating-2-to-3.html
What I know about gtk3 is from skimming through the manual. But it seems
it will be a fairly smooth migration. We do extend and add a number of
widgets, so it may require some time, but hopefully it will be a purely
mechanical transition. For example: grep for usages of GDK, and replace
with Cairo calls. Please follow closely the migration plan because there
are semantic changes (which of course only show up when running).
If someone would like to work on it, please contact Duncan.
I don't think there's much specific guidance I can offer with regard to
making it compile against gtk3. When it does compile, if there are
run-time issues, I may be able to offer some insight then.
---
By the way, the changes to the gtk3 API look pretty good. I especially
like the layout changes, which allow containers to "negotiate" the size
with the widgets. We'll be able to, for example, resize a message
dialog, and have the label fill up the apportioned space. The style API
was badly needing a make-over, and it got one: hopefully, it will be now
easier for e.g. the Java/Swing native theme to mimic more closely gtk
style.
They also came up with this new programming language called Vala. C is
really awful for a GUI toolkit, so the Vala preprocessor is probably a
good compromise between moving the all thing to C++ or whatever. It
sounds like you can combine C and Vala code, so hopefully the GTK
basecode itself will get ported to Vala in the future. This will add a
great productivity boost to GTK. (We better continue using C for the
main code: but it would be interesting to port some of our widgets to
Vala... :))
Thanks,
Ricardo