From: Dave C. <da...@la...> - 2011-10-14 10:18:59
|
Hi! Is anyone interested in taking this on? :-) ---------- Forwarded message ---------- From: MenTaLguY <me...@ry...> Date: Wed, 12 Oct 2011 18:56:48 -0700 Subject: Fontforge UI improvements (Was: Re: [Inkscape-devel] versioning scheme, take 2) To: Dave Crossland <da...@la...> Hi Dave, I'd still like to do Fontforge UI work, though I don't really need the work at present. Time might also be a problem for me. If you want to try it with someone else, I'm not sure how much detailed documentation would help, short of actually doing it and documenting the steps required, but the basic idea as I recollect it was something like: 1. Port the bespoke UI toolkit from Xlib to Gdk 2. Rework top-level windows so that they're GtkWindows rather than bare GdkWindows, with an embedded GtkDrawingArea used for everything 3. Start reimplementing individual UI elements (beginning with the outermost layout containers in the widget trees and working inward) using corresponding Gtk widgets; the remainder continue to draw directly on embedded GtkDrawingAreas 4. Again, working out-to-in, begin peeling back the wrappers to work explicitly in terms of Gtk widgets, if you decided you wanted to do that. Step #1 by itself (probably plus a bit of extra cross-platform fiddling in the non-UI code) would let you get something that worked on Windows without requiring an X server, though it wouldn't look native. (You'd still need to address the problem of a new build process to get native Windows and OS X executables. That's probably better done by platform experts.) But I don't really know whether the incremental approach is best approach now, or whether it'd be better to just bite the bullet, freeze the existing interface, and re-implement it in Gtk from scratch -- maybe in C++ or Python. The incremental route will require a level of combined X and Gtk experience (or at least sheer bloody-mindedness) that's hard to find. And least you've already nicely split the the application UI and backend. Something else to consider: once Ubuntu switches to Wayland, many Linux desktops may no longer be running an X server by default. Gdk/Gtk apps would have a Wayland backend, but raw Xlib apps wouldn't work without installing and starting X-on-Wayland. So in some ways that may make the task more urgent. I wish I could take it on right now. -mental |