 ! Copyright (C) 2010 Anton Gorenko.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors alien.c-types alien.data alien.enums
-alien.strings arrays ascii assocs classes.struct
+USING: accessors alien.accessors alien.c-types alien.data
+alien.enums alien.strings arrays ascii assocs classes.struct
 combinators.short-circuit command-line destructors
 io.backend.unix.multiplexers io.encodings.utf8 io.thread kernel
-libc literals locals math math.bitwise namespaces sequences
-strings threads ui ui.backend ui.clipboards ui.event-loop
-ui.gadgets ui.gadgets.private ui.gadgets.worlds ui.gestures
-ui.pixel-formats ui.pixel-formats.private ui.private
+libc literals locals math math.bitwise math.order namespaces
+sequences strings system threads ui ui.backend ui.clipboards
+ui.event-loop ui.gadgets ui.gadgets.private ui.gadgets.worlds
+ui.gestures ui.pixel-formats ui.pixel-formats.private ui.private
 glib.ffi gobject.ffi gtk.ffi gdk.ffi gdk.gl.ffi gtk.gl.ffi ;
 IN: ui.backend.gtk
 

        f io-thread-running? set-global
        [
            init-io-event-source
            ! is it correct to use timeouts with 'yield'?
            10 init-timeout
            gtk_main
        ] with-destructors
    ] ui-running ;

     0 mx get wait-for-events
     yield t ;

CONSTANT: poll-fd-events
    {
        G_IO_IN
