#+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]] | 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 This only displays the icon in the plain emacs mode-line. This may not work with enhanced mode-lines like ~poweline~ or ~smart-mode-line~, since they typically look at the ~mode-name~ variable. 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 * 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]] You need to have installed these on your system in order to use these fonts, 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.