summaryrefslogtreecommitdiff
path: root/guix/build/download.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-04-14 22:50:48 +0200
committerLudovic Courtès <ludo@gnu.org>2016-04-15 00:32:18 +0200
commit4d276c640374c9981dad2681f98af8c8d133939a (patch)
treed5060ec00f01b7511adaef4873150fa38bcf04b0 /guix/build/download.scm
parent8a2154fefaafe631905c12891c9c2587dadbc863 (diff)
downloadpatches-4d276c640374c9981dad2681f98af8c8d133939a.tar
patches-4d276c640374c9981dad2681f98af8c8d133939a.tar.gz
download: Add 'current-terminal-columns' parameter.
* guix/build/download.scm (current-terminal-columns): New variable. (progress-proc): Use it instead of the hard-coded "80".
Diffstat (limited to 'guix/build/download.scm')
-rw-r--r--guix/build/download.scm15
1 files changed, 11 insertions, 4 deletions
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 3c8359b602..bd354a6985 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -39,6 +39,7 @@
maybe-expand-mirrors
url-fetch
byte-count->string
+ current-terminal-columns
progress-proc
uri-abbreviation
store-path-abbreviation))
@@ -53,6 +54,10 @@
;; Size of the HTTP receive buffer.
65536)
+(define current-terminal-columns
+ ;; Number of columns of the terminal.
+ (make-parameter 80))
+
(define (nearest-exact-integer x)
"Given a real number X, return the nearest exact integer, with ties going to
the nearest exact even integer."
@@ -166,9 +171,10 @@ used to shorten FILE for display."
(byte-count->string throughput)
(seconds->string elapsed)
(progress-bar %) %)))
- ;; TODO: Make this adapt to the actual terminal width.
(display "\r\x1b[K" log-port)
- (display (string-pad-middle left right 80) log-port)
+ (display (string-pad-middle left right
+ (current-terminal-columns))
+ log-port)
(flush-output-port log-port)
(cont))))
(lambda (transferred cont)
@@ -182,9 +188,10 @@ used to shorten FILE for display."
(byte-count->string throughput)
(seconds->string elapsed)
(byte-count->string transferred))))
- ;; TODO: Make this adapt to the actual terminal width.
(display "\r\x1b[K" log-port)
- (display (string-pad-middle left right 80) log-port)
+ (display (string-pad-middle left right
+ (current-terminal-columns))
+ log-port)
(flush-output-port log-port)
(cont))))))))