]> git.eshelyaron.com Git - dotfiles.git/commitdiff
Update Emacs mode-line configuration
authorEshel Yaron <me@eshelyaron.com>
Sun, 6 Aug 2023 11:36:53 +0000 (14:36 +0300)
committerEshel Yaron <me@eshelyaron.com>
Sun, 6 Aug 2023 11:36:53 +0000 (14:36 +0300)
.emacs.d/init.el

index 4e3322e40de7242b085027f6df12d06a58b82ec7..3d08a7b1ad5d2a8546f45177fa05d7a795c61cd3 100644 (file)
@@ -49,6 +49,7 @@
  switch-to-buffer-obey-display-actions t
  ;; disable new mail mode line indication
  display-time-mail-function #'ignore
+ display-time-24hr-format t
  ;; enable recursive minibuffers
  enable-recursive-minibuffers t
  bug-reference-url-format "https://debbugs.gnu.org/%s"
@@ -1351,14 +1352,22 @@ as the initial input for completion, and return that directory."
 (defvar esy/mode-line-format
   '(" %+ "
     mode-line-buffer-identification
-    " (%[" mode-name minor-mode-alist "%])"
+    " (%[" mode-name mode-line-process minor-mode-alist "%])"
     (vc-mode vc-mode)
-    mode-line-process
     mode-line-format-right-align
     "%l:%c "
     (-3 "%p")
     " "
-    (:eval (concat "€~" (number-to-string (cdar esy/eur-to-ils-rates)) "₪ "))
+    (:eval (when (mode-line-window-selected-p)
+             (let* ((last-rate (cdar esy/eur-to-ils-rates))
+                    (prev-rate (cdadr esy/eur-to-ils-rates))
+                    (face-arrw (cond
+                                ((< prev-rate last-rate) '("↑" . 'error))
+                                ((< last-rate prev-rate) '("↓" . 'success))
+                                (t                       '("→" . 'warning))))
+                    (arrw (car face-arrw))
+                    (face (cdr face-arrw)))
+               (propertize (concat "€" arrw (number-to-string last-rate) "₪ ") 'face face))))
     display-time-string battery-mode-line-string))
 
 (add-hook 'after-init-hook