From 8452e61d0a81680f85a6cc82b957a49fbfd6bacd Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Sun, 8 Feb 2009 18:22:11 +1100 Subject: [PATCH] runit: scroll to bottom on output We really want to see the recent info... --- runit/runit.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/runit/runit.py b/runit/runit.py index 68f34c1..2dc7442 100644 --- a/runit/runit.py +++ b/runit/runit.py @@ -19,6 +19,7 @@ class Runit(gtk.Window): def __init__(self, args): gtk.Window.__init__(self) self.set_default_size(480, 640) + self.connect("destroy", self.close) self.create_ui() self.show() self.args = args @@ -28,7 +29,6 @@ class Runit(gtk.Window): self.set_title(args[0]) self.run() - def run(self): self.pipe = Popen(self.args, stdout=PIPE, stderr=PIPE, @@ -69,6 +69,7 @@ class Runit(gtk.Window): sw = gtk.ScrolledWindow(); sw.show() sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) v.add(sw) + self.adj = sw.get_vadjustment() tv = gtk.TextView() sw.add(tv) @@ -82,10 +83,14 @@ class Runit(gtk.Window): def read(self, f, dir): l = f.read() self.buff.insert(self.buff.get_end_iter(), l) + gobject.idle_add(self.adjust) if l == "": return False return True + def adjust(self): + self.adj.set_value(self.adj.upper-self.adj.page_size) + def done(self, *a): self.rerunb.show() def set_block(f): @@ -114,5 +119,3 @@ def main(args): if __name__ == '__main__': main(sys.argv) - - -- 2.39.5