diff options
author | necoro <> | 2007-07-24 21:28:14 +0000 |
---|---|---|
committer | necoro <> | 2007-07-24 21:28:14 +0000 |
commit | 00af1784b1652f3bed04c63e2faaeb03ca185ed4 (patch) | |
tree | bb89a19705ef562734c9190d1dfd8577d45730f7 /portato/plugins/resume_loop.py | |
parent | 44a726cd69e3e0d5c50890946b366c441a575a37 (diff) | |
download | portato-00af1784b1652f3bed04c63e2faaeb03ca185ed4.tar.gz portato-00af1784b1652f3bed04c63e2faaeb03ca185ed4.tar.bz2 portato-00af1784b1652f3bed04c63e2faaeb03ca185ed4.zip |
made the resume_loop-plugin change titles too
Diffstat (limited to 'portato/plugins/resume_loop.py')
-rw-r--r-- | portato/plugins/resume_loop.py | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/portato/plugins/resume_loop.py b/portato/plugins/resume_loop.py index 45c735a..b33f4c7 100644 --- a/portato/plugins/resume_loop.py +++ b/portato/plugins/resume_loop.py @@ -10,17 +10,19 @@ # # Written by René 'Necoro' Neumann <necoro@necoro.net> -import pty -from subprocess import call, STDOUT +import pty, time +from subprocess import Popen, STDOUT from portato.backend import system from portato.helper import debug, warning console = None +title_update = None command = "until emerge --resume --skipfirst; do : ; done" -def set_console (*args, **kwargs): - global console +def set_data (*args, **kwargs): + global console, title_update console = kwargs["console"] + title_update = kwargs["title_update"] def resume_loop (retcode, *args, **kwargs): if retcode is None: @@ -36,4 +38,15 @@ def resume_loop (retcode, *args, **kwargs): # open tty (master, slave) = pty.openpty() console.set_pty(master) - call(command, stdout = slave, stderr = STDOUT, shell = True, env = system.get_environment()) + p = Popen(command, stdout = slave, stderr = STDOUT, shell = True, env = system.get_environment()) + + # update titles + old_title = console.get_window_title() + while p and p.poll() is None: + if title_update : + title = console.get_window_title() + if title != old_title: + title_update(title) + time.sleep(0.5) + + if title_update: title_update(None) |