]> git.neil.brown.name Git - plato.git/commitdiff
term: close app when child shell dies.
authorNeilBrown <neilb@suse.de>
Fri, 25 Jan 2013 02:24:33 +0000 (13:24 +1100)
committerNeilBrown <neilb@suse.de>
Fri, 25 Jan 2013 02:24:33 +0000 (13:24 +1100)
utils/term.py

index 017876cc50f93095b92f5e762d75ed7c1b56099f..b0bb00c364b6643055884c02f5d536ceb403aed5 100644 (file)
@@ -14,7 +14,7 @@ import time
 class Terminal(gtk.Window):
     def __init__(self):
         gtk.Window.__init__(self)
-        self.connect("destroy", lambda(ev):gtk.main_quit())
+        self.connect("destroy", self.close_app)
         self.set_title("Terminal")
 
         v = gtk.VBox()
@@ -30,6 +30,7 @@ class Terminal(gtk.Window):
         v.pack_start(term, expand=True)
         term.fork_command()
         term.set_scroll_on_keystroke(True)
+        term.connect("child-exited", self.close_app)
 
         h = term.get_char_height()
         print h
@@ -41,6 +42,9 @@ class Terminal(gtk.Window):
 
         t.connect('key', lambda t,str: term.feed_child(str))
 
+    def close_app(self, *x):
+        gtk.main_quit()
+
 
 if __name__ == "__main__":
     t = Terminal()