import vte import gtk class Terminal (vte.Terminal): def destroy(self, action): gtk.main_quit() def restore_cb(self, action): (text, attrs) = self.get_text(selected_cb, 1) print "A portion of the text at restore-time is:" print text def __init__(self): vte.Terminal.__init__(self) command = None self.set_cursor_blinks(0) self.set_emulation('xterm') self.set_font_from_string('monospace 12') self.set_scrollback_lines(5000) self.set_audible_bell(0) self.set_visible_bell(0) self.connect("restore-window", self.restore_cb) self.connect("child-exited", self.destroy) if (command): child_pid = self.fork_command(command) else: child_pid = self.fork_command() self.show() class Window (gtk.Window): def destroy(self, action): gtk.main_quit() def __init__(self): gtk.Window.__init__(self) terminal = Terminal() hbox = gtk.VBox() hbox.pack_start(terminal, False, False) self.connect("destroy", self.destroy) self.set_title("Dumb Term.") self.add(hbox) self.show_all() if __name__ == "__main__": init = Window() try: gtk.main() except KeyboardInterrupt: raise SystemExit