Skip to content
Nyan Cat for Emacs! Nyanyanyanyanyanyanyanyanyan!
Emacs Lisp
Branch: master
Clone or download
Pull request Compare This branch is 1 commit ahead, 33 commits behind TeMPOraL:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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.



“Nyan-mode. It’s things like this that make me proud to be an emacs user.” - mitchellh

Nyanmacs is expanding!! Read the story so far! :).


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%.


  • 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, Amit Patel shared some tips on how to make nyan-mode work with custom modeline.

He basically changed the mode-line-format to include:

(:eval (list (nyan-create)))  

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.


Code and idea inspired by sml-modeline.el, written by Lennart Borgman. See:

For animated Nyan Cat, I used frames by DryBowser455.


You can’t perform that action at this time.