#+TITLE: mode-icons #+DATE: Monday, Dec 21 2015 #+STARTUP: content 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: - [[http://fontawesome.io/][Font Awesome]] - [[https://octicons.github.com/][GitHub Octicons]] - [[http://fizzed.com/oss/font-mfizz][Font Mfizz]] - [[https://icomoon.io/#icons-icomoon][IcoMoon]] 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 [[http://gnu.org/software/emacs][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: #+BEGIN_SRC emacs-lisp (setq mode-icons-change-mode-name nil) #+END_SRC ** 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: #+BEGIN_SRC emacs-lisp (setq mode-icons-desaturate-inactive nil) #+END_SRC You can also change the icon to match the active mode line (disabled by default): #+BEGIN_SRC emacs-lisp (setq mode-icons-desaturate-active t) #+END_SRC 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: #+BEGIN_SRC emacs-lisp (setq mode-icons-grayscale-transform nil) #+END_SRC ** 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.