diff options
Diffstat (limited to 'local-lib/powerline-conf.el')
| -rw-r--r-- | local-lib/powerline-conf.el | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/local-lib/powerline-conf.el b/local-lib/powerline-conf.el new file mode 100644 index 0000000..e994f8c --- /dev/null +++ b/local-lib/powerline-conf.el | |||
| @@ -0,0 +1,95 @@ | |||
| 1 | ;;; powerline-conf.el --- configuration for powerline | ||
| 2 | ;; Author: jason <jason@zzq.org> | ||
| 3 | ;; Created: 16 Jun 2017 | ||
| 4 | ;; X-URL: https://github.com/milkypostman/powerline | ||
| 5 | ;;; Commentary: | ||
| 6 | ;; | ||
| 7 | ;; Styles the Emacs mode line | ||
| 8 | ;; | ||
| 9 | ;;; Code: | ||
| 10 | (defface my/modeline-narrow-face | ||
| 11 | '((t (:foreground "black" :background "yellow3"))) | ||
| 12 | "todo/fixme highlighting." | ||
| 13 | :group 'faces) | ||
| 14 | |||
| 15 | (defface my/modeline-read-only-face | ||
| 16 | '((t (:foreground "black" :background "orange4"))) | ||
| 17 | "Read-only buffer highlighting." | ||
| 18 | :group 'faces) | ||
| 19 | |||
| 20 | (defface my/modeline-modified-face | ||
| 21 | '((t (:foreground "gray80" :background "red4"))) | ||
| 22 | "Modified buffer highlighting." | ||
| 23 | :group 'faces) | ||
| 24 | |||
| 25 | (defun powerline-my-theme () | ||
| 26 | "Setup the default mode-line." | ||
| 27 | (interactive) | ||
| 28 | (setq-default mode-line-format | ||
| 29 | '("%e" | ||
| 30 | (:eval | ||
| 31 | (let* ((active (powerline-selected-window-active)) | ||
| 32 | (mode-line (if active 'mode-line 'mode-line-inactive)) | ||
| 33 | (face1 (if active 'powerline-active1 'powerline-inactive1)) | ||
| 34 | (face2 (if active 'powerline-active2 'powerline-inactive2)) | ||
| 35 | (separator-left (intern (format "powerline-%s-%s" | ||
| 36 | (powerline-current-separator) | ||
| 37 | (car powerline-default-separator-dir)))) | ||
| 38 | (separator-right (intern (format "powerline-%s-%s" | ||
| 39 | (powerline-current-separator) | ||
| 40 | (cdr powerline-default-separator-dir)))) | ||
| 41 | (lhs (append (list (powerline-raw " ")) | ||
| 42 | (let ((buffer-modified-str (if buffer-read-only | ||
| 43 | (if (buffer-modified-p) "%%*" "%%%%") | ||
| 44 | (if (buffer-modified-p) "**" "--")))) | ||
| 45 | (if buffer-read-only | ||
| 46 | (list (powerline-raw buffer-modified-str 'my/modeline-read-only-face)) | ||
| 47 | (if (buffer-modified-p) | ||
| 48 | (list (powerline-raw buffer-modified-str 'my/modeline-modified-face)) | ||
| 49 | (list (powerline-raw buffer-modified-str nil)))) | ||
| 50 | ) | ||
| 51 | (list | ||
| 52 | (when powerline-display-buffer-size | ||
| 53 | (powerline-buffer-size nil 'l)) | ||
| 54 | (when powerline-display-mule-info | ||
| 55 | (powerline-raw mode-line-mule-info nil 'l)) | ||
| 56 | (powerline-buffer-id nil 'l) | ||
| 57 | (when (and (boundp 'which-func-mode) which-func-mode) | ||
| 58 | (powerline-raw which-func-format nil 'l)) | ||
| 59 | (powerline-raw " ") | ||
| 60 | (funcall separator-left mode-line face1) | ||
| 61 | (when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode) | ||
| 62 | (powerline-raw erc-modified-channels-object face1 'l)) | ||
| 63 | (powerline-major-mode face1 'l) | ||
| 64 | (powerline-process face1) | ||
| 65 | (powerline-minor-modes face1 'l) | ||
| 66 | (powerline-narrow face1 'l) | ||
| 67 | (powerline-raw " " face1) | ||
| 68 | (funcall separator-left face1 face2) | ||
| 69 | (powerline-vc face2 'r) | ||
| 70 | (when (bound-and-true-p nyan-mode) | ||
| 71 | (powerline-raw (list (nyan-create)) face2 'l))))) | ||
| 72 | (rhs (list (powerline-raw global-mode-string face2 'r) | ||
| 73 | ;; (funcall separator-right face2 face1) | ||
| 74 | ;; (unless window-system | ||
| 75 | ;; (powerline-raw (char-to-string #xe0a1) face1 'l)) | ||
| 76 | (powerline-raw "%4l" face1 'l) | ||
| 77 | (powerline-raw ":" face1 'l) | ||
| 78 | (powerline-raw "%3c" face1 'r) | ||
| 79 | (funcall separator-right face1 mode-line) | ||
| 80 | (powerline-raw " ") | ||
| 81 | (powerline-raw "%6p" nil 'r) | ||
| 82 | (when powerline-display-hud | ||
| 83 | (powerline-hud face2 face1))))) | ||
| 84 | (concat (powerline-render lhs) | ||
| 85 | (powerline-fill face2 (powerline-width rhs)) | ||
| 86 | (powerline-render rhs))))))) | ||
| 87 | |||
| 88 | (use-package powerline | ||
| 89 | :config | ||
| 90 | (setq powerline-default-separator 'wave | ||
| 91 | powerline-display-mule-info nil) | ||
| 92 | |||
| 93 | (powerline-my-theme)) | ||
| 94 | |||
| 95 | (provide 'powerline-conf) | ||