summaryrefslogtreecommitdiffstats
path: root/.emacs.d/site-lisp/mode-icons.el
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-10-12 08:52:53 +0200
committerGravatar Tom Willemsen2012-10-12 08:52:53 +0200
commit77c39ea0f082446f21981bd0876a4f1fde3c4807 (patch)
tree8843848d7c92d6be20a3e23bd22c0c9e5218022d /.emacs.d/site-lisp/mode-icons.el
parent8bcf0ae40fc2e9c6565567131218029768859839 (diff)
parent1f3bdb9e4490e20aefd7038a507aee50c76728dc (diff)
downloaddotfiles-77c39ea0f082446f21981bd0876a4f1fde3c4807.tar.gz
dotfiles-77c39ea0f082446f21981bd0876a4f1fde3c4807.zip
Merge remote-tracking branch 'origin/master' into phoenix
Conflicts: .config/cower/config .emacs.d/init.el
Diffstat (limited to '.emacs.d/site-lisp/mode-icons.el')
-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