remove buffer id of special buffer when construct mode-line
[dotfiles.git] / emacs.d / elisp / my-mode-line.el
index ffc03f5..6c528ce 100644 (file)
@@ -64,7 +64,7 @@ window type."
        (t
         4)))
 
-(defface my-powerline-hl-ws '((t (:background "red" :foreground "black" :inherit mode-line)))
+(defface my-powerline-hl-ws '((t (:background "blue" :foreground "black" :inherit mode-line)))
   "My Powerline face 1 based on powerline-active1."
   :group 'powerline)
 
@@ -107,19 +107,16 @@ window type."
 
 (defun my-is-special-buffer ()
   ;; suppose all buffer name started with a star is a special buffer.
-  (string-match "\*" (buffer-name))
-  ;; (or (string-match "*scratch*" (buffer-name))
-  ;;     (string-match "*Message*" (buffer-name))
+  (string-match "\*" (buffer-name)))
 
-  ;;     (equal major-mode 'eshell-mode))
-  )
-
-(defun my-get-buffer-name-face (active-face, changed-face, readonly-face)
-  (cond ((and buffer-read-only (not (my-is-special-buffer)))
-        readonly-face)
-       ((and (buffer-modified-p) (not (my-is-special-buffer)))
-        changed-face)
-       (t active-face)))
+(defun my-get-buffer-name-face (orignal-face &optional active)
+  (cond
+   ((not active) orignal-face)
+   (buffer-read-only 
+    'sd/buffer-view-active1)
+   ((and (buffer-modified-p) (not (my-is-special-buffer)))
+    'sd/buffer-modified-active1)
+   (t orignal-face)))
 
 (defun sd/powerline-center-theme_revised-2 ()
   "Setup a mode-line with major and minor modes centered."
@@ -140,27 +137,31 @@ window type."
                           (lhs (cond ((or (= window-type 1) (= window-type 2))
                                      (my-build-left-below-mode-line separator-left lface face1))
                                     ((or (= window-type 3) (= window-type 6))
-                                     (list (powerline-buffer-id lface 'l)
-                                           (powerline-raw "%* " lface)
-                                           (funcall separator-left lface face1 )))
+                                     (list (powerline-buffer-id (my-get-buffer-name-face lface active) 'l)
+                                           (unless (my-is-special-buffer)
+                                             (powerline-raw "%* " (my-get-buffer-name-face lface active)))
+                                           (funcall separator-left (my-get-buffer-name-face lface active) face1 )))
                                     (t
                                      nil)))
                           (center (cond ((or (= window-type 1) (= window-type 4))
                                         (list (powerline-raw " " face1)
-                                              (funcall separator-right face1 cface)
-                                              (powerline-raw "%*" cface)
-                                              (powerline-buffer-id cface 'r)
-                                              (funcall separator-left cface face1)))
+                                              (funcall separator-right face1 (my-get-buffer-name-face cface active))
+                                              (unless (my-is-special-buffer)
+                                                (powerline-raw "%*" (my-get-buffer-name-face cface active)))
+                                              (powerline-buffer-id (my-get-buffer-name-face cface active) 'r)
+                                              (funcall separator-left (my-get-buffer-name-face cface active) face1)))
                                        (t
                                         nil)))
                          (rhs (cond ((or (= window-type 1) (= window-type 3))
-                                     (list (funcall separator-right face1 rface)
+                                     (list (powerline-raw (format-time-string "%Y-%m-%d %a") face1 'r)
+                                           (funcall separator-right face1 rface)
                                            (powerline-raw (format-time-string " %I:%M %p ") rface 'r)))
                                     ((or (= window-type 2) (= window-type 5))
-                                     (list (funcall separator-right face1 rface)
-                                           (powerline-raw "%*" rface)
-                                           (powerline-buffer-id rface 'r)
-                                           (powerline-raw " " rface)))
+                                     (list (funcall separator-right face1 (my-get-buffer-name-face rface active))
+                                           (unless (my-is-special-buffer)
+                                             (powerline-raw "%*" (my-get-buffer-name-face rface active)))
+                                           (powerline-buffer-id (my-get-buffer-name-face rface active) 'r)
+                                           (powerline-raw " " (my-get-buffer-name-face rface active))))
                                     (t
                                      nil))))
                      (concat (powerline-render lhs)
@@ -171,6 +172,9 @@ window type."
 
 (sd/powerline-center-theme_revised-2)
 
+
+
+
 (provide 'my-mode-line)
 ;;; my-mode-line.el ends here