diff options
author | jao <jao@gnu.org> | 2022-03-04 20:37:40 +0000 |
---|---|---|
committer | jao <jao@gnu.org> | 2022-03-04 20:37:40 +0000 |
commit | 2f861fdc7eacdd36140f73dfd042214713cd8dbf (patch) | |
tree | b05e0fcd874f4809fbd2940ecd77d3ec376ff9a8 /lib/eos/jao-mode-line.el | |
parent | e16408bbd3499f4c62e575c4aee895a06e0eb63d (diff) | |
download | elibs-2f861fdc7eacdd36140f73dfd042214713cd8dbf.tar.gz elibs-2f861fdc7eacdd36140f73dfd042214713cd8dbf.tar.bz2 |
minibuffer and mode-line clean-ups
Diffstat (limited to 'lib/eos/jao-mode-line.el')
-rw-r--r-- | lib/eos/jao-mode-line.el | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/lib/eos/jao-mode-line.el b/lib/eos/jao-mode-line.el index 8e86658..4ed7033 100644 --- a/lib/eos/jao-mode-line.el +++ b/lib/eos/jao-mode-line.el @@ -97,24 +97,28 @@ ;;;; mode line in minibuffer -(defvar jao-mode-line--original-modeline nil) +(defvar jao-mode-line--old-format nil) (defvar jao-mode-line--face nil) (defvar jao-mode-line--inactive-face nil) (defvar jao-mode-line--props '(:box :height :background :foreground :overline :underline :extend)) -(defun jao-mode-line--extract-face (face) - (let ((atts nil)) +(defun jao-mode-line--extract-face (inactive) + (let ((atts nil) + (face (if inactive 'mode-line-inactive 'mode-line))) (dolist (a jao-mode-line--props) (push (face-attribute face a) atts) (push a atts)) - atts)) + (set (if inactive 'jao-mode-line--inactive-face 'jao-mode-line--face) atts))) + +(defun jao-mode-line--revert-face (inactive) + (apply #'set-face-attribute (if inactive 'mode-line-inactive 'mode-line) nil + (if inactive jao-mode-line--inactive-face jao-mode-line--face))) (defun jao-mode-line-adjust-faces () (let ((bg (frame-parameter nil 'background-color))) - (setq jao-mode-line--face (jao-mode-line--extract-face 'mode-line)) - (setq jao-mode-line--inactive-face - (jao-mode-line--extract-face 'mode-line-inactive)) + (jao-mode-line--extract-face nil) + (jao-mode-line--extract-face t) (set-face-attribute 'mode-line nil :box nil :height 1 :background bg :foreground bg :overline jao-minibuffer-active-buffer-line-color @@ -129,7 +133,7 @@ ;;;###autoload (defun jao-mode-line-add-to-minibuffer (&optional order) (interactive) - (setq jao-mode-line--original-modeline mode-line-format) + (setq jao-mode-line--old-format mode-line-format) (setq-default mode-line-format '(" ")) (setq-default mode-line-position jao-mode-line--position) (dolist (b (buffer-list)) @@ -140,14 +144,13 @@ ;;;###autoload (defun jao-mode-line-remove-from-minibuffer () (interactive) - (apply #'set-face-attribute 'mode-line nil jao-mode-line--face) - (apply #'set-face-attribute 'mode-line-inactive nil jao-mode-line--inactive-face) - (setq-default mode-line-format jao-mode-line--original-modeline) + (jao-mode-line--revert-face nil) + (jao-mode-line--revert-face t) + (setq-default mode-line-format jao-mode-line--old-format) (dolist (b (buffer-list)) - (with-current-buffer b (setq-local mode-line-format - jao-mode-line--original-modeline))) - (setq jao-minibuffer-info - (remove '(:eval jao-mode-line--format) jao-minibuffer-info))) + (with-current-buffer b + (setq-local mode-line-format jao-mode-line--old-format))) + (jao-minibuffer-remove-variable 'jao-mode-line--format)) (provide 'jao-mode-line) |