glib main event loop