about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--init.el4
-rw-r--r--lisp/+modeline.el35
2 files changed, 23 insertions, 16 deletions
diff --git a/init.el b/init.el index 569afa4..8ad68b3 100644 --- a/init.el +++ b/init.el
@@ -2257,9 +2257,7 @@
2257 ",") 2257 ",")
2258 +modeline-input-method 2258 +modeline-input-method
2259 +modeline-position 2259 +modeline-position
2260 ,(+modeline-concat 2260 +modeline-major-mode
2261 '(+modeline-minions
2262 +modeline-major-mode))
2263 +modeline-file-percentage 2261 +modeline-file-percentage
2264 ))) 2262 )))
2265 (simple-modeline-mode +1)) 2263 (simple-modeline-mode +1))
diff --git a/lisp/+modeline.el b/lisp/+modeline.el index e5b5bc6..df9d504 100644 --- a/lisp/+modeline.el +++ b/lisp/+modeline.el
@@ -126,9 +126,18 @@ and appended with `truncate-string-ellipsis'."
126 (propertize ;; (+string-truncate (format-mode-line mode-name) 16) 126 (propertize ;; (+string-truncate (format-mode-line mode-name) 16)
127 (format-mode-line mode-name) 127 (format-mode-line mode-name)
128 'face 'font-lock-keyword-face 128 'face 'font-lock-keyword-face
129 'keymap mode-line-major-mode-keymap 129 'keymap (let ((map (make-sparse-keymap)))
130 'help-echo (concat (format-mode-line mode-name) 130 (bindings--define-key map [mode-line down-mouse-1]
131 " mode\nmouse-1: show menu.") 131 `(menu-item "Menu Bar" ignore
132 :filter ,(lambda (_) (mouse-menu-major-mode-map))))
133 (define-key map [mode-line mouse-2] 'describe-mode)
134 (bindings--define-key map [mode-line down-mouse-3]
135 `(menu-item "Minions" minions-minor-modes-menu))
136 map)
137 'help-echo (+concat (list (format-mode-line mode-name) " mode")
138 "mouse-1: show menu"
139 "mouse-2: describe mode"
140 "mouse-3: display minor modes")
132 'mouse-face 'mode-line-highlight))) 141 'mouse-face 'mode-line-highlight)))
133 142
134(defcustom +modeline-modified-icon-alist '((ephemeral . "*") 143(defcustom +modeline-modified-icon-alist '((ephemeral . "*")
@@ -302,9 +311,10 @@ The order of elements matters: whichever one matches first is applied."
302 311
303(defun +modeline-line-column (&optional spacer) ; adapted from `simple-modeline' 312(defun +modeline-line-column (&optional spacer) ; adapted from `simple-modeline'
304 "Display the current cursor line and column depending on modes." 313 "Display the current cursor line and column depending on modes."
305 (funcall (+modeline-concat '(+modeline-line 314 (concat (or spacer +modeline-default-spacer)
306 +modeline-column) 315 (+modeline-line "")
307 "|"))) 316 "|"
317 (+modeline-column "")))
308 318
309(defcustom +modeline-position-function nil 319(defcustom +modeline-position-function nil
310 "Function to use instead of `+modeline-position' in modeline." 320 "Function to use instead of `+modeline-position' in modeline."
@@ -312,17 +322,16 @@ The order of elements matters: whichever one matches first is applied."
312 function) 322 function)
313 :local t) 323 :local t)
314 324
315(defun +modeline-position (&optional _) 325(defun +modeline-position (&optional spacer)
316 "Display the current cursor position. 326 "Display the current cursor position.
317See `line-number-mode', `column-number-mode', and 327See `line-number-mode', `column-number-mode', and
318`file-percentage-mode'. If `+modeline-position-function' is set 328`file-percentage-mode'. If `+modeline-position-function' is set
319to a function in the current buffer, call that function instead." 329to a function in the current buffer, call that function instead."
320 (funcall (if +modeline-position-function 330 (concat (or spacer +modeline-default-spacer)
321 +modeline-position-function 331 (if +modeline-position-function
322 (+modeline-concat '(+modeline-region 332 (funcall +modeline-position-function)
323 +modeline-line-column 333 (concat (+modeline-region)
324 ;; +modeline-file-percentage 334 (+modeline-line-column)))))
325 )))))
326 335
327(defun +modeline-vc (&optional spacer) 336(defun +modeline-vc (&optional spacer)
328 "Display the version control branch of the current buffer in the modeline." 337 "Display the version control branch of the current buffer in the modeline."