[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/minibar 9d650e3c71 14/17: Fix group positioning in minibuf
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/minibar 9d650e3c71 14/17: Fix group positioning in minibuffer |
Date: |
Sun, 27 Nov 2022 16:01:38 -0500 (EST) |
branch: elpa/minibar
commit 9d650e3c71f444c2387e27b20c1e081dc12c3335
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>
Fix group positioning in minibuffer
---
minibar.el | 51 +++++++++++++++++++++++----------------------------
1 file changed, 23 insertions(+), 28 deletions(-)
diff --git a/minibar.el b/minibar.el
index c74ba4a80e..e8bb27e1c0 100644
--- a/minibar.el
+++ b/minibar.el
@@ -93,35 +93,30 @@ string to display, or nil in case there is to show."
(defun minibar-update ()
"Update Minibar."
- (let ((bar "")
- (width (frame-width (window-frame (minibuffer-window))))
- (left (minibar--render-group
- minibar-group-left))
- (middle (minibar--render-group
- minibar-group-middle))
- (right (minibar--render-group
- minibar-group-right)))
+ (let* ((width (window-max-chars-per-line (minibuffer-window)))
+ (left (minibar--render-group
+ minibar-group-left))
+ (middle (minibar--render-group
+ minibar-group-middle))
+ (right (minibar--render-group
+ minibar-group-right))
+ (middle-offset (/ (- width (length middle)) 2))
+ (left (if (string-empty-p left)
+ left
+ (concat left minibar-group-separator)))
+ (middle (if (string-empty-p middle)
+ middle
+ (concat middle minibar-group-separator)))
+ (empty (- width (length left) (length middle)
+ (length right)))
+ (left-empty (max (min empty (- middle-offset (length left)))
+ 0))
+ (right-empty (max (- empty left-empty) 0)))
(with-temp-buffer
-
- ;; HACK: Emacs doesn't show the last character on terminal, so
- ;; decrease the width by one in that case.
- (unless (display-graphic-p)
- (setq width (1- width)))
- (unless (zerop (length left))
- (setq bar (concat left minibar-group-separator)))
- (unless (zerop (length middle))
- (setq bar (concat bar (make-list
- (max 0 (- (/ (- width (length middle)) 2)
- (length bar)))
- ? )
- middle minibar-group-separator)))
- (unless (zerop (length right))
- (setq bar (concat bar (make-list
- (max 0 (- width (length right)
- (length bar)))
- ? )
- right)))
- (let ((text (format (format "%%-%i.%is" width width) bar)))
+ (let ((text (format (format "%%-%i.%is" width width)
+ (concat left (make-string left-empty ? )
+ middle (make-string right-empty ? )
+ right))))
(add-face-text-property 0 width 'minibar-face t text)
(with-current-buffer (get-buffer-create " *Minibuf-0*")
(erase-buffer)
- [nongnu] branch elpa/minibar created (now 45824cb137), ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar e6f7411c51 03/17: Rename to Minibar, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 8ecedf6d6c 02/17: Add COPYING, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar c995aec574 01/17: Add render and modules for time, CPU, temperature..., ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 2bf88ae60a 05/17: While updating, don't exit on input, that doesn't work on Emacs 28, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 2c50c766dd 07/17: Rename minibar--update to minibar-update, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 5e8afde8f7 13/17: Don't run module functions in temp buffer, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 1da37a9286 12/17: Update install instructions, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 46f3307cc9 10/17: Fix wrong argument order, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 8775f1584c 09/17: Use idle timer, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 9d650e3c71 14/17: Fix group positioning in minibuffer,
ELPA Syncer <=
- [nongnu] elpa/minibar 3913de72e0 15/17: Try to make all lines less than 75 characters width, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 9d1a459684 04/17: Don't depend on minibuffer-line, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar f228469970 06/17: Use char-displayable-p instead of display-graphic-p, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 0b02619c7f 11/17: Don't stop updating after first update after idle, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 45824cb137 17/17: Simplify character choosing logic in CPU module, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 37699eb25e 08/17: Don't use undocumented data in battery module, ELPA Syncer, 2022/11/27
- [nongnu] elpa/minibar 15896aa33a 16/17: Add .dir-locals.el, ELPA Syncer, 2022/11/27