[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/10: download: Add 'current-terminal-columns' parameter.
From: |
Ludovic Courtès |
Subject: |
05/10: download: Add 'current-terminal-columns' parameter. |
Date: |
Thu, 14 Apr 2016 22:32:45 +0000 |
civodul pushed a commit to branch master
in repository guix.
commit 4d276c640374c9981dad2681f98af8c8d133939a
Author: Ludovic Courtès <address@hidden>
Date: Thu Apr 14 22:50:48 2016 +0200
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".
---
guix/build/download.scm | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 3c8359b..bd354a6 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))))))))
- branch master updated (85c7e8e -> b0a6a97), Ludovic Courtès, 2016/04/14
- 04/10: download: Send an ANSI erase-in-line sequence in addition to CR., Ludovic Courtès, 2016/04/14
- 02/10: gnu-maintenance: Recognize source tarball with "-src" in their name., Ludovic Courtès, 2016/04/14
- 09/10: guix download: Honor the number of columns of the terminal., Ludovic Courtès, 2016/04/14
- 08/10: ui: Use 'terminal-columns'., Ludovic Courtès, 2016/04/14
- 05/10: download: Add 'current-terminal-columns' parameter.,
Ludovic Courtès <=
- 10/10: substitute: Honor the number of columns of the client terminal., Ludovic Courtès, 2016/04/14
- 07/10: ui: 'package->recutils' accurately honors the number of columns., Ludovic Courtès, 2016/04/14
- 03/10: gnu-maintenance: Move FTP directory info to 'properties' fields., Ludovic Courtès, 2016/04/14
- 06/10: syscalls: Add TIOCGWINSZ bindings., Ludovic Courtès, 2016/04/14
- 01/10: upstream: Pass a package object to updaters., Ludovic Courtès, 2016/04/14