blob: 4101feb4fac3d98c456594f78942e621ae0f02a3 (
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
;;; -*- lexical-binding: t; -*-
;;; Commentary:
;;; Code:
;;;; remove all the stupid stupid stupid crap
(define-minor-mode minor-mode-blackout-mode
"Hides minor modes from the mode line."
t)
(catch 'done
(mapc (lambda (x)
(when (and (consp x)
(equal (cadr x) '("" minor-mode-alist)))
(let ((original (copy-sequence x)))
(setcar x 'minor-mode-blackout-mode)
(setcdr x (list "" original)))
(throw 'done t)))
mode-line-modes))
(global-set-key (kbd "C-c ,") 'minor-mode-blackout-mode)
(defvar-local bd/buffer-identification-mode-line
'(:eval (format "%s" (propertize (buffer-name) 'face
(if (mode-line-window-selected-p)
'font-lock-keyword-face
'mode-line-inactive))))
"Formats the modeline-buffer-name.")
(defvar-local bd/project-mode-line
'(:eval
(when-let ((project (project-current))
;; TODO remove; see what happens
(exwm? (not (equal major-mode 'exwm-mode))))
(let ((last-coding-system-used last-coding-system-used))
(format "%s "
(propertize
(project-name project)
'face 'shadow
'mouse-face 'mode-line-highlight
'help-echo "mouse-1: Project menu"
'local-map project-mode-line-map))))))
(column-number-mode 1)
(setopt mode-line-position-column-line-format '("%l:%c")
mode-line-percent-position nil)
(defvar-local bd/line-position
'(:eval
(when (mode-line-window-selected-p)
mode-line-position)))
(defvar-local bd/vc-mode-line
'(:eval (when vc-mode
(format "%s "
(propertize (cadr (split-string vc-mode "[:-]")) 'face 'shadow))))
"Formats the checked out git repository.")
(defvar-local bd/modeline-window-dedicated
'(:eval
(when (window-dedicated-p)
(format "%s -- "
(propertize "LK" 'face 'font-lock-comment-face))))
"Indicator for dedicated window.")
(dolist (construct '(bd/buffer-identification-mode-line
bd/project-mode-line
bd/vc-mode-line
bd/line-position
bd/modeline-window-dedicated))
(put construct 'risky-local-variable t))
(setopt mode-line-right-align-edge 'right-margin)
(setq-default mode-line-format
'("%e"
mode-line-front-space
bd/project-mode-line
bd/buffer-identification-mode-line
" -- "
mode-line-modes
"-- "
bd/line-position
mode-line-format-right-align
bd/modeline-window-dedicated
bd/vc-mode-line
mode-line-mule-info
mode-line-modified
))
(provide 'bd--modeline)
;;; bd-modeline ends here
|