summaryrefslogtreecommitdiffstats
path: root/.emacs.d/site-lisp
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-10-07 22:13:32 +0200
committerGravatar Tom Willemsen2012-10-07 22:13:32 +0200
commit4f7962022fdc4d39e76ab3729dcfb3a48f4df645 (patch)
tree437c79d6ee1360a72a7955541453dc3da3326a96 /.emacs.d/site-lisp
parent049a44b608aacbaf1f040183def77fd7e7243fe3 (diff)
downloaddotfiles-4f7962022fdc4d39e76ab3729dcfb3a48f4df645.tar.gz
dotfiles-4f7962022fdc4d39e76ab3729dcfb3a48f4df645.zip
.emacs.d/site-lisp/mode-icons.el
Diffstat (limited to '.emacs.d/site-lisp')
-rw-r--r--.emacs.d/site-lisp/mode-icons.el59
1 files changed, 59 insertions, 0 deletions
diff --git a/.emacs.d/site-lisp/mode-icons.el b/.emacs.d/site-lisp/mode-icons.el
new file mode 100644
index 0000000..771d6f3
--- /dev/null
+++ b/.emacs.d/site-lisp/mode-icons.el
@@ -0,0 +1,59 @@
+;;; mode-icons.el --- Show icons for modes
+
+;; Copyright (C) 2012 Tom Willemsen
+
+;; Author: Tom Willemsen <thomas@aethon.nl>
+;; Keywords: multimedia
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;
+
+;;; Code:
+
+(defun mode-icons-get-icon-file (name)
+ (concat user-emacs-directory "/icons/" name))
+
+(defvar mode-icons
+ `(("Emacs-Lisp" . (image :type xpm
+ :file ,(mode-icons-get-icon-file "emacs.xpm")
+ :ascent center))
+ ("Python" . (image :type xpm
+ :file ,(mode-icons-get-icon-file "python.xpm")
+ :ascent center))
+ ("Scheme" . (image :type xpm
+ :file ,(mode-icons-get-icon-file "scheme.xpm")
+ :ascent center))
+ ("Lisp" . (image :type xpm
+ :file ,(mode-icons-get-icon-file "cl.xpm")
+ :ascent center))
+ ("PHP" . (image :type xpm
+ :file ,(mode-icons-get-icon-file "php.xpm")
+ :ascent center)))
+ "Icons for major modes.")
+
+(defun set-mode-icon (mode)
+ (let ((icon-spec (assoc mode mode-icons)))
+ (if icon-spec
+ (setq mode-name (propertize mode-name 'display (cdr icon-spec))))))
+
+(defun set-current-mode-icon ()
+ (set-mode-icon mode-name))
+
+(add-hook 'after-change-major-mode-hook 'set-current-mode-icon)
+
+(provide 'mode-icons)
+;;; mode-icons.el ends here