Emacs Lisp Makefile
Switch branches/tags

README.org

mode-icons

Show icons instead of mode names in emacs.

https://raw.githubusercontent.com/rhoit/mode-icons/dump/screenshots/screenshot01.png

Some of the modes that have icons instead of names now:

Modesicon
Coffeehttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/coffee.png
CSShttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/css.png
Emacs-Lisphttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/emacs.png
Hamlhttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/haml.png
HTMLhttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/html.png
JShttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/js.png
Lisphttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/cl.png
Org-modehttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/org.png
PHPhttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/php.png
Pythonhttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/python.png
Rubyhttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/ruby.png
SVGhttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/svg.png
Sasshttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/sass.png
Schemehttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/scheme.png
Shellhttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/bash.png
Slimhttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/slim.png
YAMLhttps://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/yaml.png

Requirements

As of version 0.3.0 you can also use icons from some icon fonts, specifically:

The icons look the best if you have the fonts installed on your system and mode-icons will not do this for you.

Installation

Manually

Place mode-icons.el somewhere in your load-path and copy the icons/ directory there as well. Then require mode-icons in your Emacs init file.

Usage

Once installed you can add (mode-icons-mode) to your init file.

Ignoring mode-icons in other buffers

When looking at buffers with commands like ibuffer, they display the icons for the mode names as well. If you don’t like this behavior you can change mode-icons-change-mode-name to be nil:

(setq mode-icons-change-mode-name nil)

Changing how mode-icons recolors images

Additionally, if the image icon was an xpm icon, then you can have it changed to match your mode-line face. In the example below, the inactive mode-line shows the emacs and yasnippet icon changed to match the inactive mode-line:

http://i.imgur.com/QOM9wYM.png

This also will match whatever color-theme you have installed. For example, if you use the popular cyberpunk theme, you would see the icons colored to match the color-theme

http://i.imgur.com/qV6ncIb.png

This is enabled by default, and can be disabled by:

(setq mode-icons-desaturate-inactive nil)

You can also change the icon to match the active mode line (disabled by default):

(setq mode-icons-desaturate-active t)

Some of the black and white images are tagged as black and white and are automatically recolored to match the mode-line face. You can turn this off and use the black and white image by setting:

(setq mode-icons-grayscale-transform nil)

Creating xpm images from fonts

To create/recreate all the xpm images for the font images, you can run M-x mode-icons--convert-all-font-icons-to-xpm.

This requires a working gimp installation, and all the fonts for the icons installed. This will start an inferior scheme process for gimp in *mode-icons-gimp* and convert all the images to xpm files.

After the images are created, you can stop the gimp process by typing:

M-x mode-icons--stop-gimp-inferior

This should be stopped evetually if there is no input received to gimp.