Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ryuslash/mode-icons

Show icons instead of mode names
https://github.com/ryuslash/mode-icons

emacs-lisp emacs-packages gui icons mode-line

Last synced: about 2 months ago
JSON representation

Show icons instead of mode names

Awesome Lists containing this project

README

        

#+TITLE: mode-icons
#+DATE: Monday, Dec 21 2015
#+STARTUP: content

[[https://melpa.org/#/mode-icons][file:https://melpa.org/packages/mode-icons-badge.svg]]
[[https://stable.melpa.org/#/mode-icons][file:https://stable.melpa.org/packages/mode-icons-badge.svg]]

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 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:

#+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.