1 | from gi.repository import Gtk |
---|
2 | from gi.repository import Gdk |
---|
3 | from gi.repository import GLib |
---|
4 | from gi.repository import Vte |
---|
5 | import os |
---|
6 | |
---|
7 | |
---|
8 | class TestVte(Gtk.Window): |
---|
9 | |
---|
10 | def __init__(self): |
---|
11 | super(TestVte, self).__init__() |
---|
12 | self.set_size_request(400, 400) |
---|
13 | self.connect("destroy", Gtk.main_quit) |
---|
14 | vbox = Gtk.VBox() |
---|
15 | self.vte = Vte.Terminal() |
---|
16 | vbox.add(self.vte) |
---|
17 | self.vte.set_colors(Gdk.color_parse('#000000'), |
---|
18 | Gdk.color_parse('#FFFFFF'), []) |
---|
19 | self.vte.set_emulation('xterm') |
---|
20 | |
---|
21 | sucess_, pid = self.vte.fork_command_full(Vte.PtyFlags.DEFAULT, |
---|
22 | os.environ["HOME"], |
---|
23 | ["/bin/bash"], |
---|
24 | [], |
---|
25 | GLib.SpawnFlags.DO_NOT_REAP_CHILD, |
---|
26 | None, |
---|
27 | None) |
---|
28 | |
---|
29 | button1 = Gtk.Button('Get text') |
---|
30 | button1.connect('clicked', self.__get_text_cb) |
---|
31 | vbox.add(button1) |
---|
32 | |
---|
33 | self.add(vbox) |
---|
34 | self.show_all() |
---|
35 | |
---|
36 | def __get_text_cb(self, button): |
---|
37 | args = [] |
---|
38 | print self.vte.get_text(None, None, args) |
---|
39 | print "ARGS", args |
---|
40 | |
---|
41 | TestVte() |
---|
42 | Gtk.main() |
---|