• Stars
    star
    799
  • Rank 57,011 (Top 2 %)
  • Language
    Emacs Lisp
  • License
    GNU General Publi...
  • Created over 13 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Nyan Cat for Emacs! Nyanyanyanyanyanyanyanyanyan!

Nyan Mode - Turn your Emacs into Nyanmacs! :)

https://badge.fury.io/gh/TeMPOraL%2Fnyan-mode.svg https://img.shields.io/badge/nyan-nyan-ff00ff.svg https://stable.melpa.org/packages/nyan-mode-badge.svg https://melpa.org/packages/nyan-mode-badge.svg https://zenodo.org/badge/DOI/10.5281/zenodo.164185.svg

WARNING, MIND DUMBING CONTENT INSIDE.

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

“Everything that’s wrong (or right) with Emacs.” - wasamasa

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

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

  • NEW! You can scroll the buffer by clicking in the Nyan Cat area!
  • NEW! You can customize the minimum window width below which Nyan Mode will be disabled.
  • Mind dumbing content included,
  • Animation (M-x nyan-start-animation, M-x nyan-stop-animation),
  • Wavy rainbow (M-x nyan-toggle-wavy-trail),
  • Music, mplayer is needed (M-x nyan-start-music, M-x nyan-stop-music) (thanks, George Leontiev!),
  • Customizable properties.

Customizations

  • nyan-animate-nyancat - t to have it animated, nil for a static version.
  • nyan-animation-frame-interval - number of seconds between animation frames. Accepts fractional values.
  • nyan-bar-length - length of nyan-mode bar, in 8px-wide units.
  • nyan-cat-face-number - choose a cat face for the console mode.
  • nyan-wavy-trail - t to make the trail wavy; works even better when animation is enabled!
  • nyan-minimum-window-width - minimum width of the window, below which Nyan Mode will be disabled. This is important because Nyan Mode will otherwise push out more relevant information from the modelilne.

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 changed his mode-line-format to appear like the following:

(setq mode-line-format
      (list
       '(: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. I think it works now; please report issues if there are problems with it.

Code is messy and in dire need of cleanup.

It’s been reported to happen that nyan mode gets duplicated when you activate it twice during Emacs initialization. I’m investigating this and will hopefully track it down and fix it soon.

Credits

Thanks to everyone contributing patches, bug repots and ideas! The Emacs world is forever in your debt!

Code and idea inspired by sml-modeline, maintained by Lennart Borgman. See source. sml-modeline is also available on Melpa (https://melpa.org/packages/sml-modeline-badge.svg).

For animated Nyan Cat, I used frames by DryBowser455.

Other editors

For many years only the One True Editor was blessed with the presence of the Nyan Cat. Since its inception, however, daring souls have brought Nyanness to the lands of Lesser Editors.

Here are the examples I’ve tracked down so far:

If you’ve seen others in the wild, please submit.

Related

Check out Aaron Miller’s weatherline.el, partially inspired by Nyan Mode.

Also check out zone-nyan by Vasilij Schneidermann (wasamasa) if you want the Nyan Cat to visit your Emacs when you step away from the keyboard!

Nyanyanyanyanyanyanya! ♬ ♫ ♪ ♩

More Repositories

1

cl-sqlite

Common Lisp binding for SQLite
HTML
72
star
2

tracer

Tracing profiler for Common Lisp
Common Lisp
53
star
3

alice

Alice Margatroid, a dollmaster that pretends not to be a doll itself.
Common Lisp
17
star
4

pure-cl-gamedev-libs

Pure Common Lisp libraries for game development
16
star
5

cl-wiringpi2

CFFI bindings to WiringPi 2 for Common Lisp.
Common Lisp
12
star
6

timelapse

Simple script for creating timelapse videos on Linux
PHP
9
star
7

rfc2047-erl

Decoder tool for RFC 2047 - conforming message headers.
Erlang
5
star
8

Demiurg

A point&click adventure game in Common Lisp, written for Global Game Jam 2011.
Common Lisp
3
star
9

KerboL

KerboL (short for Kerbo-Lisp) - a set of tools for lispifying Kerbal Operating System (kOS) mod to Kerbal Space Program.
Common Lisp
3
star
10

lfe-utils

Collection of utilities for Lisp Flavoured Erlang.
3
star
11

cl-compal-ch7465lg

Common Lisp tools for interfacing with Compal CH7465LG modem.
Common Lisp
3
star
12

Drones

A concentration experiment in Common Lisp, loosely inspired on Ancient Drones from StarGate SG-1 and StarGate Atlantis.
Common Lisp
3
star
13

2048-mcclim

2048 game using McCLIM - an implementation of Common Lisp Interface Manager.
Common Lisp
2
star
14

kindlehacks

Some hacking that involves Kindle.
Common Lisp
2
star
15

lispjam-2017-04

Sheeps! - an entry for the Lisp Game Jam of 2017-04.
Common Lisp
2
star
16

cl-pushover

Common Lisp bindings to Pushover
Common Lisp
2
star
17

docker-quickccl

CCL + Quicklisp for Docker
Common Lisp
2
star
18

docker-quicksbcl

SBCL + Quicklisp for Docker.
Common Lisp
1
star
19

rpi-dashboard

Raspberry Pi 2 Dashboard - playing around with stuff.
Common Lisp
1
star
20

esp-scripts

ESP8266 scripts for home automation project.
Lua
1
star
21

NN

Java
1
star
22

hju

Simple command line (CLI) controller for Hue lights, written in Common Lisp.
Common Lisp
1
star
23

conffiles

A place to store my dotfiles.
Emacs Lisp
1
star
24

vcs

A simple, off-line voice recognition and control system for music control.
C++
1
star
25

parendeck2d

A 2D game engine written in Lisp.
Common Lisp
1
star
26

ScrabbleServer

Scrabble Server
1
star
27

p2kapi

Very old project for accessing old Motorola feature phones.
C
1
star
28

webparticles

JavaScript
1
star
29

ART

ART Neural Networks stuff
Common Lisp
1
star
30

teamis

Team%i (%s)
Common Lisp
1
star
31

dashboard

Common Lisp
1
star
32

pacman-j2me

A Pacman clone in J2ME.
Java
1
star
33

pebble-hskrk

HSKRK tool for Pebble.
C
1
star