Let me show the way a tool is called: * the function xsystem() will excute the tool * a watch is added by [code] g_io_add_watch( ob->io_channel, G_IO_IN, ( GIOFunc ) io_signal, ob ); [/code] the function 'io_signal' will read lines from channel and send to outputbox * add a background task in case there is no output from the tool: [code] ob->pollID = g_timeout_add( 200, ( GSourceFunc ) poll_tool, ob ); [/code] Regards, -- kyanh [ http://kyanh.dotgeek.org/ ] _______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list