From: NeilBrown Date: Fri, 25 Jan 2013 02:15:53 +0000 (+1100) Subject: term: simple terminal with keyboard X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=3ffd840ba9ac695dab10769864beda8a99e75182;p=plato.git term: simple terminal with keyboard Signed-off-by: NeilBrown --- diff --git a/utils/term.py b/utils/term.py new file mode 100644 index 0000000..017876c --- /dev/null +++ b/utils/term.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +# Terminal ap for touch screen +# we create a keyboard window and a blank space, +# then run 'xterm' and make it appear in the blank space. + +from tapboard import TapBoard +from subprocess import Popen, PIPE +from fingerscroll2 import FingerScroll +import gtk, pango +import vte +import time + +class Terminal(gtk.Window): + def __init__(self): + gtk.Window.__init__(self) + self.connect("destroy", lambda(ev):gtk.main_quit()) + self.set_title("Terminal") + + v = gtk.VBox() + v.show() + self.add(v) + + t = TapBoard() + t.show() + v.pack_end(t, expand=False) + + term = vte.Terminal() + term.show() + v.pack_start(term, expand=True) + term.fork_command() + term.set_scroll_on_keystroke(True) + + h = term.get_char_height() + print h + f = FingerScroll(term, 15) + + fd = term.get_font() + fd.set_absolute_size(14 * pango.SCALE) + term.set_font(fd) + + t.connect('key', lambda t,str: term.feed_child(str)) + + +if __name__ == "__main__": + t = Terminal() + t.set_default_size(480, 640) + t.show() + gtk.main()