(zilch statusbar): improve UX a bit, fix utf-8

Change-Id: Ic252593fb12da41662c205a33b6ba09f6a6a6964
This commit is contained in:
puck 2025-11-24 18:37:10 +00:00
parent de9d250b55
commit 99bb57a4ed

View file

@ -87,9 +87,9 @@
(define (draw-status-bar)
(fprintf err-port "\r\x1B[2K") ; ]
(if (<= (string-length status-bar) terminal-width)
(write-string status-bar err-port)
(fprintf err-port "~A" status-bar)
(begin
(write-string status-bar err-port 0 (- terminal-width 3))
(fprintf err-port "~A" (string-copy status-bar 0 (- terminal-width 3)))
(write-string "..." err-port)))
(flush-output-port err-port)
(set! need-redraw #f))
@ -202,7 +202,11 @@
((and (eqv? event 'activity-start) (eq? (nix-activity-type data) 105))
(set! build-activity-mapping
(mapping-set! build-activity-mapping (nix-activity-id data)
(string-drop (string-drop-while (vector-ref (nix-activity-fields data) 0) (lambda (f) (not (char=? f #\-)))) 1))))
(string-drop (string-drop-while (vector-ref (nix-activity-fields data) 0) (lambda (f) (not (char=? f #\-)))) 1)))
(mutex-lock! out-mutex)
(set! statusbar-msg (string-append "building " (vector-ref (nix-activity-fields data) 0)))
(mutex-unlock! out-mutex)
(rerender-status-bar))
((eqv? event 'activity-start) (when (> (string-length (nix-activity-string data)) 0) (set! statusbar-msg (nix-activity-string data)) (rerender-status-bar)))
((eqv? event 'activity-stop)
(set! build-activity-mapping (mapping-delete! build-activity-mapping data)))