[plt-scheme] Planned changes for PLT Scheme 4.0

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Nov 19 08:18:47 EST 2007

At Mon, 19 Nov 2007 13:13:35 +0100 (CET), Ivanyi Peter wrote:
> I simply would like to have a 
> modern, nice look with MzScheme.

If it's more about the look of the widgets than the set of available
widgets, then I expect that you mostly are thinking about Unix/X.

In that case, replacing MrEd's Xt-based widgets with Gtk widgets might
be relatively easy --- far easier than porting wholesale to a new
cors-splatform GUI toolkit --- and the Gtk variant of wxWidgets might
provide some useful starting pieces.

The key is making this easy is to keep the Xlib- and Cairo-based
drawing subsystem, which is a big chunk of the X-specific code. I
imagine that Gtk lets you get at an X drawing context, so that would be
possible.

The most likely catch is in the Gtk event loop and its interaction with
threads and eventspaces. The current X port of MrEd is in some sense
the simplest, because the run-time system is free to copy portions of
the C stack that involve Xt callbacks, and X events can be intercepted
early to control eventspace concurrency. A modern GUI toolkit, like
Gtk, is probably more fussy about the stack, because it probably keeps
various bits of state and GUI-context information on the stack. But as
long as Gtk lets you see some of the mapping between X windows and Gtk
windows (so that X events can be manipulated), then eventspaces should
mostly work with the existing X support combined with some of the
techniques that we use for Windows and Mac OS X.

Matthew



Posted on the users mailing list.