Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 54 additions & 29 deletions powerline-themes.el
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,24 @@
:group 'powerline
:type 'boolean)


(defcustom powerline-display-minor-modes t
"When non-nil, display minor modes in the mode-line."
:group 'powerline
:type 'boolean)

(defcustom powerline-display-major-mode t
"When non-nil, display minor modes in the mode-line."
:group 'powerline
:type 'boolean)

(defun powerline-god-mode-indicator ()
"Display a God-mode indicator in the powerline."
(if (bound-and-true-p god-local-mode)
(propertize " GOD "
'face '(:background "red" :foreground "white" :weight bold))
""))

;;;###autoload
(defun powerline-default-theme ()
"Setup the default mode-line."
Expand All @@ -59,27 +77,33 @@
(separator-right (intern (format "powerline-%s-%s"
(powerline-current-separator)
(cdr powerline-default-separator-dir))))
(lhs (list (powerline-raw "%*" face0 'l)
(when powerline-display-buffer-size
(powerline-buffer-size face0 'l))
(when powerline-display-mule-info
(powerline-raw mode-line-mule-info face0 'l))
(powerline-buffer-id `(mode-line-buffer-id ,face0) 'l)
(when (and (boundp 'which-func-mode) which-func-mode)
(powerline-raw which-func-format face0 'l))
(powerline-raw " " face0)
(funcall separator-left face0 face1)
(when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
(powerline-raw erc-modified-channels-object face1 'l))
(powerline-major-mode face1 'l)
(powerline-process face1)
(powerline-minor-modes face1 'l)
(powerline-narrow face1 'l)
(powerline-raw " " face1)
(funcall separator-left face1 face2)
(powerline-vc face2 'r)
(when (bound-and-true-p nyan-mode)
(powerline-raw (list (nyan-create)) face2 'l))))
(lhs (list
(powerline-raw (powerline-god-mode-indicator) face0 'l)
(powerline-raw "%*" face0 'l)
(when powerline-display-buffer-size
(powerline-buffer-size face0 'l))

(when powerline-display-mule-info
(powerline-raw mode-line-mule-info face0 'l))
(powerline-buffer-id `(mode-line-buffer-id ,face0) 'l)

(when (and (boundp 'which-func-mode) which-func-mode)
(powerline-raw which-func-format face0 'l))
(powerline-raw " " face0)
(funcall separator-left face0 face1)

(when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
(powerline-raw erc-modified-channels-object face1 'l))

(when powerline-display-major-mode (powerline-major-mode face1 'l))
(powerline-process face1)
(when powerline-display-minor-modes (powerline-minor-modes face1 'l))
(powerline-narrow face1 'l)
(powerline-raw " " face1)
(funcall separator-left face1 face2)
(powerline-vc face2 'r)
(when (bound-and-true-p nyan-mode)
(powerline-raw (list (nyan-create)) face2 'l))))
(rhs (list (powerline-raw global-mode-string face2 'r)
(funcall separator-right face2 face1)
(unless window-system
Expand Down Expand Up @@ -139,10 +163,10 @@
(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)
(when powerline-display-major-mode (powerline-major-mode face2 'l))
(powerline-process face2)
(powerline-raw " :" face2)
(powerline-minor-modes face2 'l)
(when powerline-display-minor-modes (powerline-minor-modes face2 'l))
(powerline-raw " " face2)
(funcall separator-right face2 face1))))
(concat (powerline-render lhs)
Expand Down Expand Up @@ -190,7 +214,7 @@
(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)
(when powerline-display-major-mode (powerline-major-mode face2 'l))
(powerline-process face2)
(powerline-raw " " face2))
(if (split-string (format-mode-line minor-mode-alist))
Expand All @@ -199,9 +223,10 @@
(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)))
(if powerline-display-minor-modes
(list (powerline-minor-modes face2 'l)
(powerline-raw " " face2)
(funcall separator-right face2 face1))))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not use when here, too?

(list (powerline-raw evil-mode-line-tag face2)
(funcall separator-right face2 face1))))))
(concat (powerline-render lhs)
Expand Down Expand Up @@ -230,7 +255,7 @@
(cdr powerline-default-separator-dir))))
(lhs (list (powerline-buffer-id `(mode-line-buffer-id ,face0) 'l)
(powerline-raw "[" face0 'l)
(powerline-major-mode face0)
(when powerline-display-major-mode (powerline-major-mode face0))
(powerline-process face0)
(powerline-raw "]" face0)
(when (buffer-modified-p)
Expand All @@ -244,7 +269,7 @@
(when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
(powerline-raw erc-modified-channels-object face1 'l))
(powerline-raw "[" face0 'l)
(powerline-minor-modes face0)
(when powerline-display-minor-modes (powerline-minor-modes face0))
(powerline-raw "%n" face0)
(powerline-raw "]" face0)
(when (and vc-mode buffer-file-name)
Expand Down