On 2011-04-01, at 10:20 AM, Alex Queiroz wrote:
Hallo,
On Fri, Apr 1, 2011 at 11:13 AM, Marc Feeley feeley@iro.umontreal.ca wrote:
As I didn't find one I think it is probably a good idea to use C to drive the GUI part and gambit for the rest.
It depends on the GUI library. In many GUIs there is a main event loop that is part of the GUI API. This can be a problem because that event loop takes over control of the execution, and prevents the Gambit thread scheduler, and timeouts to operate properly. Single-thread programs should be OK.
GTK+ at least lets you take control of the main loop. But the
programmer must call a function to let GTK+ process events, so it must be called often:
http://library.gnome.org/devel/gtk3/stable/gtk3-General.html#gtk-main-iterat...
Yes. The other nice thing about GTK on X11 is that you can avoid busy waiting for events by calling (##device-port-wait-for-input! x11-display-port) where display-port is obtained with ##open-predefined using the X11 connection file descriptor. This is what's done in the Gambit Xlib-simple example (see the file examples/Xlib-simple/bounce.scm).
Marc