summaryrefslogtreecommitdiff
path: root/emacs/work_inits/02-modeline.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/work_inits/02-modeline.el')
-rw-r--r--emacs/work_inits/02-modeline.el36
1 files changed, 36 insertions, 0 deletions
diff --git a/emacs/work_inits/02-modeline.el b/emacs/work_inits/02-modeline.el
new file mode 100644
index 0000000..6ea2b07
--- /dev/null
+++ b/emacs/work_inits/02-modeline.el
@@ -0,0 +1,36 @@
+;; Time-stamp: <2021-09-27 08h47 EDT (hobbies)>
+
+;; -----------------------------------------------------------------------------
+;; 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-direct '(god-local-mode))
+ (minions-mode 1))