diff options
| -rw-r--r-- | modally.el | 59 |
1 files changed, 37 insertions, 22 deletions
@@ -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.") |
