Edward A Robinson wrote:
Him Im trying to use python vte to create a terminal and issue it
commands in real time
I have tried to use this code
#!/usr/bin/env python
import os
import gtk
import vte
import time
from subprocess import Popen, PIPE
def show_callback(terminal):
terminal.feed_child('cd /\n')
terminal.feed_child('whoami\n')
terminal.feed_child('echo test\n')
for ii in range (10):
terminal.feed_child('echo ' + str(ii + 1) + '\n')
time.sleep(1)
def write(terminal, text):
x, y = terminal.get_cursor_position()
terminal.feed(text + '\n', len(text) + 1)
window = gtk.Window()
window.connect('destroy', lambda w: gtk.main_quit())
terminal = vte.Terminal()
terminal.connect("show", show_callback)
child_pid = terminal.fork_command()
#write(terminal, '1234567890')
window.add(terminal)
window.show_all()
gtk.main()
But instead of printing it out in real time it waits 10 seconds then
prints it, any feedback would be great. Thanks.
It looks like show_callback is called by the event handler, but runs for
10 seconds without letting other display events process. You could try
adding one command at a time via gtk.timeout_add() instead.
-- Mike
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/