mirror of
https://codeberg.org/scip/dot-emacs.git
synced 2025-12-17 04:20:57 +01:00
experimented with aligned modelines (failed so far, disabled)
This commit is contained in:
@@ -46,6 +46,73 @@
|
||||
|
||||
mode-line-end-spaces))
|
||||
|
||||
(when nil
|
||||
;; from https://lists.gnu.org/archive/html/bug-gnu-emacs/2021-02/msg00885.html
|
||||
;; compiles but doesn't work
|
||||
(defvar ml-text-scale-factor 1.0
|
||||
"Ratio of mode-line text size to default text size, as a float.
|
||||
This is needed to make sure the text is properly aligned.")
|
||||
|
||||
(defun ml-fill-to-center (reserve face)
|
||||
"Return empty space to the center, leaving RESERVE space on the right."
|
||||
(setq reserve (* ml-text-scale-factor reserve))
|
||||
(propertize " "
|
||||
'display `((space :align-to (- (+ center (.5 . right-margin))
|
||||
,reserve
|
||||
(.5 . left-margin))))
|
||||
'face face))
|
||||
|
||||
(defun ml-fill-to-right (reserve face)
|
||||
"Return empty space, leaving RESERVE space on the right."
|
||||
(setq reserve (* ml-text-scale-factor reserve))
|
||||
(when (and window-system (eq 'right (get-scroll-bar-mode)))
|
||||
(setq reserve (- reserve 2))) ; May be 3 instead of 2 with some toolkits?
|
||||
(propertize " "
|
||||
'display `((space :align-to (- (+ right right-fringe right-margin)
|
||||
,reserve)))
|
||||
'face face))
|
||||
|
||||
(defun ml-render-2-part (left right &optional fill-face)
|
||||
"Show a modeline with left and right aligned parts."
|
||||
(concat left
|
||||
(ml-fill-to-right (string-width (format-mode-line right)) fill-face)
|
||||
right))
|
||||
|
||||
(setq mode-line-align-right
|
||||
'(
|
||||
" [" tvd-emacs-version "] "
|
||||
|
||||
;; added because of eyebrowse
|
||||
mode-line-misc-info
|
||||
|
||||
'(:eval (propertize
|
||||
(if (eq defining-kbd-macro t)
|
||||
"[REC]"
|
||||
"")
|
||||
'face 'rec-face))
|
||||
|
||||
mode-line-end-spaces))
|
||||
|
||||
(setq mode-line-align-left
|
||||
'(
|
||||
"%e"
|
||||
mode-line-front-space
|
||||
mode-line-mule-info
|
||||
mode-line-modified
|
||||
mode-line-remote
|
||||
" "
|
||||
mode-line-buffer-identification
|
||||
" "
|
||||
mode-line-position
|
||||
" (%m) "))
|
||||
|
||||
(setq-default mode-line-format
|
||||
'((:eval
|
||||
(ml-render-2-part
|
||||
mode-line-align-left
|
||||
mode-line-align-right)))))
|
||||
|
||||
|
||||
|
||||
(provide 'init-modeline)
|
||||
;;; init-modeline.el ends here
|
||||
|
||||
Reference in New Issue
Block a user