* lisp/tab-bar.el (tab-bar-format-align-right): Fix alignment on TTY frames.
Calculate the alignment from the left edge instead of the right edge since the `right' spec doesn't work on TTY frames when windows are split horizontally (bug#59620).
This commit is contained in:
parent
bf66b90b9a
commit
39e0c60176
1 changed files with 8 additions and 3 deletions
|
@ -936,7 +936,12 @@ when the tab is current. Return the result as a keymap."
|
|||
(hpos (progn
|
||||
(add-face-text-property 0 (length rest) 'tab-bar t rest)
|
||||
(string-pixel-width rest)))
|
||||
(str (propertize " " 'display `(space :align-to (- right (,hpos))))))
|
||||
(str (propertize " " 'display
|
||||
;; The `right' spec doesn't work on TTY frames
|
||||
;; when windows are split horizontally (bug#59620)
|
||||
(if window-system
|
||||
`(space :align-to (- right (,hpos)))
|
||||
`(space :align-to (,(- (frame-inner-width) hpos)))))))
|
||||
`((align-right menu-item ,str ignore))))
|
||||
|
||||
(defun tab-bar-format-global ()
|
||||
|
@ -1083,7 +1088,7 @@ tab bar might wrap to the second line when it shouldn't.")
|
|||
(setf (substring name ins-pos ins-pos) space)
|
||||
(setq curr-width (string-pixel-width name))
|
||||
(if (and (< curr-width width)
|
||||
(not (eq curr-width prev-width)))
|
||||
(> curr-width prev-width))
|
||||
(setq prev-width curr-width
|
||||
prev-name name)
|
||||
;; Set back a shorter name
|
||||
|
@ -1096,7 +1101,7 @@ tab bar might wrap to the second line when it shouldn't.")
|
|||
(setf (substring name del-pos1 del-pos2) "")
|
||||
(setq curr-width (string-pixel-width name))
|
||||
(if (and (> curr-width width)
|
||||
(not (eq curr-width prev-width)))
|
||||
(< curr-width prev-width))
|
||||
(setq prev-width curr-width)
|
||||
(setq continue nil)))
|
||||
(let* ((len (length name))
|
||||
|
|
Loading…
Add table
Reference in a new issue