#+TITLE:nyan-mode

* Table of Contents                      :TOC_4_gh:noexport:
 - [[#nyan-mode---turn-your-emacs-into-nyanmacs-][Nyan Mode - Turn your Emacs into Nyanmacs! :)]]
   - [[#fork-modifications][Fork modifications]]
   - [[#introduction][Introduction]]
   - [[#features][Features]]
   - [[#using-nyan-mode-with-custom-modeline][Using Nyan Mode with custom modeline]]
   - [[#known-issues][Known issues]]
   - [[#credits][Credits]]

* Nyan Mode - Turn your Emacs into Nyanmacs! :)

** Fork modifications
- the starting nyan cat image has no rainbow behind it,
- the starting rainbow image has zigzags,
- the animation loop is not endless and occurs only when nyan cat moves.

** Introduction

 *WARNING, MIND DUMBING CONTENT INSIDE.*

"Nyan-mode. It's things like this that make me proud to be an emacs user." - [[http://twitter.com/#!/mitchellh/status/104931263479156736][mitchellh]]

Nyanmacs is expanding!! [[http://temporal.pr0.pl/devblog/2011/08/25/introducing-nyan-mode-el-turn-your-emacs-into-nyanmacs/][Read the story so far]]! :).

[[file:screenshot.png]]

Nyan Mode is an analog indicator of your position in the buffer. The
Cat should go from left to right in your mode-line, as you move your
point from 0% to 100%.

** Features
  - Mind dumbing content included,
  - Experimental animation (M-x nyan-start-animation, M-x nyan-stop-animation),
  - Wavy rainbow (M-x set-variable <ret> nyan-wavy-trail <ret> t),
  - Music, mplayer is needed (M-x nyan-start-music, M-x nyan-stop-music),
  - Customizable properties.

** Using Nyan Mode with custom modeline
For those who were asking, or are planning to, [[http://friendfeed.com/amitp/b4097da0/nyan-mode-turn-your-emacs-into-nyanmacs][Amit Patel shared]]
some tips on how to make nyan-mode work with custom modeline.

He basically changed the mode-line-format to include:
#+begin_src emacs-lisp
  (:eval (list (nyan-create)))  
#+end_src

** Known issues
It's my second attempt to write a minor mode in Emacs, so there will
definiely be some bugs.

This version uses XPM images, which should be supported by default by
most Emacs 23 installations, Windows included. In case it doesn't
work, try switching to master-png branch. This branch, however, may
have it's own issues:

There was a problem with displaying PNG images, which require libpng
to be available for Emacs. The lib is sometimes missing (e.g. some
Windows installation). To make it work on Windows, one needs to
download a proper DLL and put it into emacs bin/ folder. To see which
DLL is needed, do: M-x describe-variable <ret> image-library-alist
<ret>.

Customizing nyan-animate-nyancat is broken; don't do it.

** Credits

Code and idea inspired by sml-modeline.el, written by Lennart Borgman.
See: http://bazaar.launchpad.net/~nxhtml/nxhtml/main/annotate/head%3A/util/sml-modeline.el

For animated Nyan Cat, I used frames [[http://media.photobucket.com/image/nyan%20cat%20sprites/DryBowser455/th_NyanCatSprite.png?t=1304659408][by DryBowser455]].

Nyanyanyanyanyanyanya!
