guix-commits
[Top][All Lists]
Advanced

[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))))))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]