By default, the modeline in Emacs will show you information about everything. Unfortunately, by trying to show you everything, it ends up showing you little of actual use.

Smart Mode Line

The smart-mode-line package gives you some control of what shows up in the mode-line.

(require-package 'smart-mode-line)
(if (require 'smart-mode-line nil 'noerror)
      (setq sml/name-width 20)
      (setq sml/mode-width 'full)
      (setq sml/shorten-directory t)
      (setq sml/shorten-modes t)

      (rich-minority-mode 1)
      (setq rm-blacklist '(" GitGutter" " MRev" " company" " mate" " Projectile"))

      (if after-init-time
        (add-hook 'after-init-hook 'sml/setup))

      (require-package 'smart-mode-line-powerline-theme)
      (sml/apply-theme 'powerline)
      ;; Alternatives:
      ;; (sml/apply-theme 'powerline)
      ;; (sml/apply-theme 'dark)
      ;; (sml/apply-theme 'light)
      ;; (sml/apply-theme 'respectful)
      ;; (sml/apply-theme 'automatic)

      (add-to-list 'sml/replacer-regexp-list '("^~/Dropbox/" ":DB:"))
      (add-to-list 'sml/replacer-regexp-list '("^~/Code/" ":CODE:"))
      (add-to-list 'sml/replacer-regexp-list '("^:CODE:investor-bridge" ":IB:"))
      (add-to-list 'sml/replacer-regexp-list '("^~/.*/lib/ruby/gems" ":GEMS" ))))

Showing the Time

24-hour time, of course:

(setq display-time-24hr-format t)
(display-time-mode 1)
(provide 'modeline-custom)

Author: Toby Tripp

Created: 2015-02-04 Wed 10:41

Emacs 24.3.1 (Org mode 8.2.10)