guix: Properly compute progress bar width.
* guix/progress.scm (progress-reporter/bar): Take font width into account to compute progress bar width. * guix/git.scm (show-progress): Take font width into account to compute progress bar width. Change-Id: I946e447c1ea7c6eb4ff805400280f39e8f1a7c02master
parent
fd11d7fbf8
commit
28ca80717d
|
@ -33,6 +33,8 @@
|
|||
#:use-module (guix store)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix records)
|
||||
#:use-module ((guix build syscalls)
|
||||
#:select (terminal-string-width))
|
||||
#:use-module (guix gexp)
|
||||
#:autoload (guix git-download)
|
||||
(git-reference-url git-reference-commit git-reference-recursive?)
|
||||
|
@ -154,7 +156,7 @@ the 'SSL_CERT_FILE' and 'SSL_CERT_DIR' environment variables."
|
|||
;; TODO: Both should be handled & exposed by the PROGRESS-BAR API instead.
|
||||
(define width
|
||||
(max (- (current-terminal-columns)
|
||||
(string-length label) 7)
|
||||
(terminal-string-width label) 7)
|
||||
3))
|
||||
|
||||
(define grain
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
(define-module (guix progress)
|
||||
#:use-module (guix records)
|
||||
#:use-module ((guix build syscalls)
|
||||
#:select (terminal-string-width))
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (rnrs io ports)
|
||||
#:use-module (rnrs bytevectors)
|
||||
|
@ -307,7 +309,7 @@ tasks is performed. Write PREFIX at the beginning of the line."
|
|||
(if (string-null? prefix)
|
||||
(display (progress-bar ratio (current-terminal-columns)) port)
|
||||
(let ((width (- (current-terminal-columns)
|
||||
(string-length prefix) 3)))
|
||||
(terminal-string-width prefix) 3)))
|
||||
(display prefix port)
|
||||
(display " " port)
|
||||
(display (progress-bar ratio width) port)))
|
||||
|
|
Reference in New Issue