diff options
Diffstat (limited to '.config/emacs/modules/bd--modeline.el')
-rw-r--r-- | .config/emacs/modules/bd--modeline.el | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/.config/emacs/modules/bd--modeline.el b/.config/emacs/modules/bd--modeline.el index 8d82497..9adafa0 100644 --- a/.config/emacs/modules/bd--modeline.el +++ b/.config/emacs/modules/bd--modeline.el @@ -5,7 +5,6 @@ ;;; Code: -(require 'time) (defun mode-line-fill (reserve) "Return empty space, leaving RESERVE space on the right." (unless reserve @@ -34,23 +33,24 @@ (global-set-key (kbd "C-c ,") 'minor-mode-blackout-mode) -;;;; time and date -(setq display-time-format "%m/%d/%y %H:%M (%a)" - display-time-default-load-average nil) -(display-time) - -(defvar-local bd/time-mode-line - '(:eval - (when (mode-line-window-selected-p) - display-time-string)) - "displays current time and date in selected window.") -(display-time) - - (defvar-local bd/buffer-identification-mode-line '(:eval (format "%s" (buffer-name))) "Formats the modeline-buffer-name.") +(defvar-local bd/modeline-buffer-file-state-icon + '(:eval + (cond (buffer-read-only + (propertize "L" 'face `(:foreground ,(ef-themes-get-color-value 'warning)))) + ((and buffer-file-name (buffer-modified-p)) + (propertize "S" 'face `(:foreground ,(ef-themes-get-color-value 'warning)))) + ((and buffer-file-name + ;; Avoid freezing while connection is lost + (not (file-remote-p buffer-file-name)) + (not (file-exists-p buffer-file-name))) + (propertize "?" 'face `(:foreground ,(ef-themes-get-color-value 'err)))) + (t ""))) + "Formats the file modification status.") + ;;;; pos (defvar-local bd/line-position '(:eval @@ -89,14 +89,12 @@ bd/buffer-identification-mode-line " " mode-line-modes - " " - mode-line-modified + bd/modeline-buffer-file-state-icon bd/vc-mode-line " " - (mode-line-fill 39) + (mode-line-fill 16) bd/line-position - " " - bd/time-mode-line)) + " ")) (setq-default mode-line-format nil) |