Show icons instead of mode names
Find a file
2016-04-19 08:41:24 -05:00
icons Add auto-indent icon 2016-04-19 08:39:54 -05:00
scripts Add Makefile with dist rule 2012-11-11 03:01:29 +01:00
.gitignore Ignore dist files 2012-11-11 03:12:42 +01:00
CHANGELOG.md Describe changes to xpm rendering of fonts. 2016-04-04 08:32:02 -05:00
CONTRIBUTING.md Add contributing guidelines 2016-02-21 14:46:02 +01:00
Makefile No need for the -j flag 2012-11-11 03:05:52 +01:00
mode-icons.el Add auto-indent icon 2016-04-19 08:39:54 -05:00
README.org Add description of how to add xpm font images 2016-04-19 08:41:24 -05:00

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:

Modes icon
Coffee https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/coffee.png
CSS https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/css.png
Emacs-Lisp https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/emacs.png
Haml https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/haml.png
HTML https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/html.png
JS https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/js.png
Lisp https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/cl.png
Org-mode https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/org.png
PHP https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/php.png
Python https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/python.png
Ruby https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/ruby.png
SVG https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/svg.png
Sass https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/sass.png
Scheme https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/scheme.png
Shell https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/bash.png
Slim https://raw.githubusercontent.com/rhoit/mode-icons/dump/icons/slim.png
YAML https://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 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.