Răsfoiți Sursa

Customize powerline to fit solarized and show eyebrowse.

Josh Bicking 7 ani în urmă
părinte
comite
82224be446
2 a modificat fișierele cu 59 adăugiri și 99 ștergeri
  1. 0 93
      emacs.d/packages/init-powerline.el
  2. 59 6
      emacs.d/packages/packages.el

+ 0 - 93
emacs.d/packages/init-powerline.el

@@ -1,93 +0,0 @@
-;; Source: https://github.com/aaronbieber/dotfiles
-
-;; init-powerline.el --- Powerline configuration
-
-;;; Commentary:
-
-;;; Code:
-(defface my-pl-segment1-active
-  '((t (:foreground "#000000" :background "#E1B61A")))
-  "Powerline first segment active face.")
-(defface my-pl-segment1-inactive
-  '((t (:foreground "#CEBFF3" :background "#3A2E58")))
-  "Powerline first segment inactive face.")
-(defface my-pl-segment2-active
-  '((t (:foreground "#F5E39F" :background "#8A7119")))
-  "Powerline second segment active face.")
-(defface my-pl-segment2-inactive
-  '((t (:foreground "#CEBFF3" :background "#3A2E58")))
-  "Powerline second segment inactive face.")
-(defface my-pl-segment3-active
-  ;'((t (:foreground "#CEBFF3" :background "#3A2E58")))
-  '((t (:foreground "#CEBFF3" :background "#3A2E80")))
-  "Powerline third segment active face.")
-(defface my-pl-segment3-inactive
-  '((t (:foreground "#CEBFF3" :background "#3A2E58")))
-  "Powerline third segment inactive face.")
-
-(defun air--powerline-default-theme ()
-  "Set up my custom Powerline with Evil indicators."
-  (setq-default mode-line-format
-                '("%e"
-                  (:eval
-                   (let* ((active (powerline-selected-window-active))
-                          (seg1 (if active 'my-pl-segment1-active 'my-pl-segment1-inactive))
-                          (seg2 (if active 'my-pl-segment2-active 'my-pl-segment2-inactive))
-                          (seg3 (if active 'my-pl-segment3-active 'my-pl-segment3-inactive))
-                          (separator-left (intern (format "powerline-%s-%s"
-                                                          (powerline-current-separator)
-                                                          (car powerline-default-separator-dir))))
-                          (separator-right (intern (format "powerline-%s-%s"
-                                                           (powerline-current-separator)
-                                                           (cdr powerline-default-separator-dir))))
-                          (lhs (list (let ((evil-face (powerline-evil-face)))
-                                       (if evil-mode
-                                           (powerline-raw (powerline-evil-tag) evil-face)
-                                         ))
-                                     (if evil-mode
-                                         (funcall separator-left (powerline-evil-face) seg1))
-                                     (powerline-buffer-id seg1 'l)
-                                     (powerline-raw "[%*]" seg1 'l)
-                                     (when (and (boundp 'which-func-mode) which-func-mode)
-                                       (powerline-raw which-func-format seg1 'l))
-                                     (powerline-raw " " seg1)
-                                     (funcall separator-left seg1 seg2)
-                                     (when (boundp 'erc-modified-channels-object)
-                                       (powerline-raw erc-modified-channels-object seg2 'l))
-                                     (powerline-major-mode seg2 'l)
-                                     (powerline-process seg2)
-                                     (powerline-minor-modes seg2 'l)
-                                     (powerline-narrow seg2 'l)
-                                     (powerline-raw " " seg2)
-                                     (funcall separator-left seg2 seg3)
-                                     (powerline-vc seg3 'r)
-                                     (when (bound-and-true-p nyan-mode)
-                                       (powerline-raw (list (nyan-create)) seg3 'l))))
-                          (rhs (list (powerline-raw global-mode-string seg3 'r)
-                                     (funcall separator-right seg3 seg2)
-                                     (unless window-system
-                                       (powerline-raw (char-to-string #xe0a1) seg2 'l))
-                                     (powerline-raw "%4l" seg2 'l)
-                                     (powerline-raw ":" seg2 'l)
-                                     (powerline-raw "%3c" seg2 'r)
-                                     (funcall separator-right seg2 seg1)
-                                     (powerline-raw " " seg1)
-                                     (powerline-raw "%6p" seg1 'r)
-                                     (when powerline-display-hud
-                                       (powerline-hud seg1 seg3)))))
-                     (concat (powerline-render lhs)
-                             (powerline-fill seg3 (powerline-width rhs))
-                             (powerline-render rhs)))))))
-  
-(use-package powerline
-  :ensure t
-  :config
-  (setq powerline-default-separator (if (display-graphic-p) 'arrow
-                                      nil))
-  (air--powerline-default-theme))
-
-(use-package powerline-evil
-  :ensure t)
-
-(provide 'init-powerline)
-;;; init-powerline.el ends here

+ 59 - 6
emacs.d/packages/packages.el

@@ -165,14 +165,67 @@
   (undohist-initialize))
 
 (use-package powerline
-  :ensure t
-  :config
-  (powerline-evil-vim-theme))
-
-(use-package powerline-evil
   :ensure t)
 
-(set-face-background 'powerline-evil-normal-face "#859900")
+(use-package powerline-evil
+  :ensure t
+  :config
+  (defun powerline-center-evil-theme ()
+    "Setup a mode-line with major, evil, and minor modes centered."
+    (interactive)
+    (setq-default mode-line-format
+		  '("%e"
+		    (:eval
+		     (let* ((active (powerline-selected-window-active))
+			    (mode-line-buffer-id (if active 'mode-line-buffer-id 'mode-line-buffer-id-inactive))
+			    (mode-line (if active 'mode-line 'mode-line-inactive))
+			    (face1 (if active 'powerline-active1 'powerline-inactive1))
+			    (face2 (if active 'powerline-active2 'powerline-inactive2))
+			    (separator-left (intern (format "powerline-%s-%s"
+							    (powerline-current-separator)
+							    (car powerline-default-separator-dir))))
+			    (separator-right (intern (format "powerline-%s-%s"
+							     (powerline-current-separator)
+							     (cdr powerline-default-separator-dir))))
+			    (lhs (list (powerline-raw "%*" mode-line 'l)
+				       (powerline-buffer-id mode-line-buffer-id 'l)
+				       (powerline-raw " ")
+				       (funcall separator-left mode-line face1)
+				       (powerline-narrow face1 'l)
+				       (powerline-vc face1)))
+			    (rhs (list (funcall separator-right face1 mode-line)
+				       (powerline-raw mode-line-misc-info mode-line 'r)
+					;(powerline-raw global-mode-string face1 'r)
+				       (powerline-raw "%2l" mode-line 'r)
+				       (powerline-raw ":" mode-line)
+				       (powerline-raw "%2c" mode-line 'r)
+					;(powerline-raw " ")
+					;(powerline-raw "%6p" mode-line 'r)
+				       (powerline-hud face2 face1)))
+			    (center (append (list (powerline-raw " " face1)
+						  (funcall separator-left face1 face2)
+						  (when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
+						    (powerline-raw erc-modified-channels-object face2 'l))
+						  (powerline-major-mode face2 'l)
+						  (powerline-process face2)
+						  (powerline-raw " " face2))
+					    (if (split-string (format-mode-line minor-mode-alist))
+						(append (if evil-mode
+							    (list (funcall separator-right face2 face1)
+								  (powerline-raw evil-mode-line-tag face1 'l)
+								  (powerline-raw " " face1)
+								  (funcall separator-left face1 face2)))
+							(list (powerline-minor-modes face2 'l)
+							      (powerline-raw " " face2)
+							      (funcall separator-right face2 face1)))
+					      (list (powerline-raw evil-mode-line-tag face2)
+						    (funcall separator-right face2 face1))))))
+		       (concat (powerline-render lhs)
+			       (powerline-fill-center face1 (/ (powerline-width center) 2.0))
+			       (powerline-render center)
+			       (powerline-fill face1 (powerline-width rhs))
+			       (powerline-render rhs)))))))
+  (powerline-center-evil-theme))
 
 (use-package linum-relative
   :ensure t