;; This file: http://user.it.uu.se/~embe8573/conf/emacs-init/mode-line.el (setq column-number-mode nil) (setq line-number-mode nil) (defvar show-modes nil) (defun enable-line-mode () (set-variable 'line-number-mode t t) ) (defun toggle-local-var (var) (set-variable var (not (symbol-value var)) t) ) (defun toggle-char-mode () (interactive) (toggle-local-var 'column-number-mode) ) (defun toggle-line-mode () (interactive) (toggle-local-var 'line-number-mode) ) (defun toggle-mode-line-mode () (interactive) (toggle-local-var 'show-modes) ) (defalias 'cols 'toggle-char-mode) (defalias 'lines 'toggle-line-mode) (defalias 'modes 'toggle-mode-line-mode) (require 'cl-macs) (setq-default mode-line-format `(" " (:eval (when (eq major-mode 'Buffer-menu-mode) (format-time-string " %H:%M"))) (:eval (unless (or buffer-read-only (member major-mode '( erc-mode inferior-emacs-lisp-mode message-mode shell-mode ))) mode-line-modified)) " " (:eval (cl-case major-mode ('Buffer-menu-mode "") ('message-mode (buffer-name)) ('w3m-mode (format "%s . %s" w3m-current-title w3m-current-url)) (t (cond (dired-directory dired-directory) (buffer-file-name (abbreviate-file-name buffer-file-name)) (t mode-line-buffer-identification) )))) " " (show-modes mode-line-modes) (line-number-mode "[%l] ") (column-number-mode "{%c} ") )) (provide 'mode-line)