123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- ;; 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
|