summaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2022-03-04 05:32:03 +0000
committerjao <jao@gnu.org>2022-03-04 05:32:03 +0000
commite16408bbd3499f4c62e575c4aee895a06e0eb63d (patch)
tree51f3208342fe9abd11c3ab6164465625df5b9103 /lib
parent1ae39fb23a9962c944c2f73258b57fe1e2a59e78 (diff)
downloadelibs-e16408bbd3499f4c62e575c4aee895a06e0eb63d.tar.gz
elibs-e16408bbd3499f4c62e575c4aee895a06e0eb63d.tar.bz2
mode-line: toggle minibuffer
Diffstat (limited to 'lib')
-rw-r--r--lib/eos/jao-mode-line.el31
1 files changed, 19 insertions, 12 deletions
diff --git a/lib/eos/jao-mode-line.el b/lib/eos/jao-mode-line.el
index 566fdf1..8e86658 100644
--- a/lib/eos/jao-mode-line.el
+++ b/lib/eos/jao-mode-line.el
@@ -80,7 +80,7 @@
(format "%s [%d]" (buffer-name) (length (circe-channel-nicks))))
(t "%b"))))
-(defvar jao-minibuffer--mode-line-format
+(defvar jao-mode-line--format
`("%[" (:propertize ,jao-mode-line--bid face jao-themes-f00) "%]"
(:propertize " (" face jao-themes-dimm)
(:propertize mode-name face jao-themes-f00)
@@ -98,11 +98,23 @@
;;;; mode line in minibuffer
(defvar jao-mode-line--original-modeline nil)
-(defvar jao-mode-line--original-line-face nil)
-(defvar jao-mode-line--original-line-inactive-face 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))
+ (dolist (a jao-mode-line--props)
+ (push (face-attribute face a) atts)
+ (push a atts))
+ atts))
(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))
(set-face-attribute 'mode-line nil :box nil :height 1
:background bg :foreground bg
:overline jao-minibuffer-active-buffer-line-color
@@ -117,30 +129,25 @@
;;;###autoload
(defun jao-mode-line-add-to-minibuffer (&optional order)
(interactive)
- (setq jao-mode-line--original-line-face
- (get 'mode-line 'saved-face))
- (setq jao-mode-line--original-line-inactive-face
- (get 'mode-line-inactive 'saved-face))
(setq jao-mode-line--original-modeline mode-line-format)
(setq-default mode-line-format '(" "))
(setq-default mode-line-position jao-mode-line--position)
(dolist (b (buffer-list))
(with-current-buffer b (setq-local mode-line-format '(" "))))
- (jao-minibuffer-add-variable 'jao-mode-line--mode-line-format (or order 90))
+ (jao-minibuffer-add-variable 'jao-mode-line--format (or order 90))
(jao-mode-line-adjust-faces))
;;;###autoload
(defun jao-mode-line-remove-from-minibuffer ()
(interactive)
- (face-spec-set 'mode-line jao-mode-line--original-line-face)
- (face-spec-set 'mode-line-inactive jao-mode-line--original-line-inactive-face)
+ (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)
(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--mode-line-format)
- jao-minibuffer-info)))
+ (remove '(:eval jao-mode-line--format) jao-minibuffer-info)))
(provide 'jao-mode-line)