summaryrefslogtreecommitdiff
path: root/emacs/inits/02-modeline.el
blob: 142acbb189146f9e7be2c8e4a15c5fa5539a9d64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
;; Time-stamp: <2024-01-18 13h15 CET (3913c8e4)>

;; -----------------------------------------------------------------------------
;; Mode-line
;;
;; The mode-line is set to eliminate duplicate information between buffers.
;; Everything else is intended to be displayed in another, centralised location.

(defun abbreviate-left-trim-path (p len)
  (let ((pa (abbreviate-file-name p)))
    (if (> (length pa) (+ 3 len))
        (format "...%s" (substring pa (- (length pa) len)))
      pa)))

(setq display-time-format "%d/%H.%M"
      display-time-default-load-average nil)
(display-time-mode 1)

(setq global-mode-string nil)
(setq-default mode-line-format
              '("" mode-line-front-space
                mode-line-modified "%@"
                " %l:%c %[" mode-line-buffer-identification "%] %I"
                " " mode-line-modes ;; (vc-mode vc-mode)
                (:eval (abbreviate-left-trim-path default-directory 20))
                mode-line-misc-info mode-line-end-spaces))

;; -----------------------------------------------------------------------------
;; Minions to clean mode-line

(use-package minions
  :ensure t
  :config
  (setq minions-mode-line-lighter ":")
  (minions-mode 1))