diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-05-27 12:39:35 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-05-27 12:39:35 +0000 |
commit | 99e5a83582eff3900cb74fec86a1abd12ef96bad (patch) | |
tree | a16773445c97071c5fd9c3c5d1039d7f32f42171 | |
parent | 7d093f0cb5f87696f627af664ce47edb67169125 (diff) | |
download | portage-99e5a83582eff3900cb74fec86a1abd12ef96bad.tar.gz portage-99e5a83582eff3900cb74fec86a1abd12ef96bad.tar.bz2 portage-99e5a83582eff3900cb74fec86a1abd12ef96bad.zip |
Add SIGWINCH support so that the progress bar is resized if the xterm is resized.
svn path=/main/trunk/; revision=6640
-rwxr-xr-x | bin/emaint | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/bin/emaint b/bin/emaint index c44bbe85a..0628db371 100755 --- a/bin/emaint +++ b/bin/emaint @@ -1,6 +1,6 @@ #!/usr/bin/python -O -import sys, os, time +import sys, os, time, signal from optparse import OptionParser, OptionValueError if not hasattr(__builtins__, "set"): from sets import Set as set @@ -218,13 +218,18 @@ def emaint_main(myargv): progressBar = portage.output.TermProgressBar() progressHandler = ProgressHandler() def display(): - progressBar.set(progressHandler.maxval, progressHandler.curval) + progressBar.set(progressHandler.curval, progressHandler.maxval) progressHandler.display = display + def sigwinch_handler(signum, frame): + lines, progressBar.term_columns = \ + portage.output.get_term_size() + signal.signal(signal.SIGWINCH, sigwinch_handler) result = getattr(inst, func)(onProgress=progressHandler.onProgress) if isatty: # make sure the final progress is displayed progressHandler.display() print + signal.signal(signal.SIGWINCH, signal.SIG_DFL) if result: print print "\n".join(result) |