summaryrefslogtreecommitdiff
path: root/modally.el
diff options
context:
space:
mode:
Diffstat (limited to 'modally.el')
-rw-r--r--modally.el59
1 files changed, 37 insertions, 22 deletions
diff --git a/modally.el b/modally.el
index a30ceb0..fdc45b4 100644
--- a/modally.el
+++ b/modally.el
@@ -40,6 +40,7 @@
(defun modally--buffer-name ()
"Return a propertized buffer name string."
(let* ((buffer-face (cond
+ ((not (mode-line-window-selected-p)) 'mode-line-inactive)
((buffer-modified-p) 'modally-buffer-modified)
(buffer-read-only 'modally-buffer-readonly)
('modally-buffer)))
@@ -68,22 +69,24 @@
(defun modally--major-mode ()
"Return a propertized major mode string."
(let ((mode (string-remove-suffix "-mode" (symbol-name major-mode))))
- (format-mode-line (format "\s%s" (cond
- ((equal mode "emacs-lisp")
- "elisp")
- ((equal mode "lisp-interaction")
- "lisp")
- ((equal mode "messages-buffer")
- "messages")
- (mode))) 'modally-major-mode)))
+ (format-mode-line (format " %s"
+ (cond
+ ((equal mode "emacs-lisp") "elisp")
+ ((equal mode "lisp-interaction") "lisp")
+ ((equal mode "messages-buffer") "messages")
+ (mode)))
+ (if (mode-line-window-selected-p)
+ 'modally-major-mode
+ 'mode-line-inactive))))
(defun modally--line-column ()
"Return a propertized line column position."
(format "%s %s"
(format-mode-line
- "\sC%C"
+ " C%C"
`(,(let ((column (current-column)))
(cond
+ ((not (mode-line-window-selected-p)) 'mode-line-inactive)
((>= column fill-column) 'error)
((>= column (- fill-column 10)) 'warning)))))
(modally--seperator)))
@@ -92,9 +95,12 @@
"Return a propertized Git branch string."
(when-let* ((buffer (buffer-file-name))
(branch (vc-git--symbolic-ref buffer)))
- (format "\s%s %s"
- (propertize branch 'face 'modally-git-branch)
- (modally--seperator))))
+ (format " %s %s"
+ (propertize branch 'face (if (not (mode-line-window-selected-p))
+ 'mode-line-inactive
+ 'modally-git-branch))
+ (modally--seperator)
+ )))
(defun modally--flymake-diagnostics ()
"Return `flymake-mode' alert counts."
@@ -114,7 +120,10 @@
(when (> errors 0)
(cl-pushnew
(propertize (format "e%s" errors) 'face 'error) alerts))
- (format "\s%s │" (string-join alerts "\s")))))
+ (format " %s %s"
+ (string-join alerts "\s")
+ (modally--seperator)
+ ))))
(defun modally--approx-time (time)
"Return an approximation of TIME."
@@ -135,16 +144,21 @@
(defun modally--org-timer ()
"Return a timer from `org-timer'."
- (when (or org-timer-mode-line-timer
- org-timer-pause-time)
- (let ((face (if org-timer-pause-time
- 'modally-org-timer-pause
- 'modally-org-timer)))
- (format "\s%s %s"
+ (when (and
+ (or org-timer-mode-line-timer
+ org-timer-pause-time)
+ (mode-line-window-selected-p))
+ (let ((face
+ (cond
+ (org-timer-pause-time 'modally-org-timer-pause)
+ ('modally-org-timer)))
+ )
+ (format "\s%s %s "
(propertize
(modally--approx-time org-timer-mode-line-string)
'face face)
- (modally--seperator)))))
+ (modally--seperator)
+ ))))
;; VARIABLES
(defvar modally-display-buffer-name
@@ -164,11 +178,12 @@
"Modeline construct to display line & column position.")
(defvar modally-display-line-row
- '(:eval (format-mode-line "\sL%l"))
+ '(:eval (format-mode-line "L%l"))
"Modeline construct to display line & column position.")
(defvar modally-display-file-size
- '(:eval (format "%s %s" (format-mode-line "\s%I")
+ '(:eval (format "%s %s"
+ (format-mode-line "\s%I")
(modally--seperator)))
"Modeline construct to display file size of buffer.")