]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/tab-bar.el: Use pixel-based alignment (bug#55207)
authorJuri Linkov <juri@linkov.net>
Wed, 4 May 2022 19:32:30 +0000 (22:32 +0300)
committerJuri Linkov <juri@linkov.net>
Wed, 4 May 2022 19:32:30 +0000 (22:32 +0300)
* lisp/tab-bar.el (tab-bar-format-align-right): Use string-pixel-width
on the string with tab-bar face to get the width in pixels to align.
(tab-bar-format-global): Remove string-trim-right to keep padding-right.

lisp/tab-bar.el

index a0dd20a99cae82624d51a06216595a2f422853f8..42c4b822bc63279a1accc4b488b439db4d6c6c84 100644 (file)
@@ -915,8 +915,8 @@ when the tab is current.  Return the result as a keymap."
   (let* ((rest (cdr (memq 'tab-bar-format-align-right tab-bar-format)))
          (rest (tab-bar-format-list rest))
          (rest (mapconcat (lambda (item) (nth 2 item)) rest ""))
-         (hpos (length rest))
-         (str (propertize " " 'display `(space :align-to (- right ,hpos)))))
+         (hpos (string-pixel-width (propertize rest 'face 'tab-bar)))
+         (str (propertize " " 'display `(space :align-to (- right (,hpos))))))
     `((align-right menu-item ,str ignore))))
 
 (defun tab-bar-format-global ()
@@ -926,7 +926,7 @@ When `tab-bar-format-global' is added to `tab-bar-format'
 then modes that display information on the mode line
 using `global-mode-string' will display the same text
 on the tab bar instead."
-  `((global menu-item ,(string-trim-right (format-mode-line global-mode-string)) ignore)))
+  `((global menu-item ,(format-mode-line global-mode-string) ignore)))
 
 (defun tab-bar-format-list (format-list)
   (let ((i 0))