Make Emacs Work with Cathode.app

Cathode

Cathode (Photo credit: zcopley)

I’m trying to shed the habit of pointing out tiny flaws while failing to acknowledge the overall picture, so: Cathode is TOTALLY GREAT, and the only reason I care about these small flaws is that I want to be able to use it exclusively. (Yeah, iTerm has more great features, tmux, great ANSI color mapping, etc., but it doesn’t look anywhere near as good.) I’m even motivated to get one of the upcoming Ivy Bridge Macbook Pros because I think they’ll run with no fan noise with Cathode at higher frame rates. (I’m on a MacBook Air, where above ~20 fps the fans come on.)

In Cathode 1.2.0, there are a couple of xterm emulation bugs that affect me when using the Emacs and “less” that ship with OS X Lion (10.7). This video demonstrates the first bug.

To work around it, put the following code in a file (cathode.terminfo, f’rinstance), “tic” the file, then add “export TERM=cathode” to your .bashrc:

# cathode.terminfo -- Cathode.app version 1.2.0 Terminfo entry
#
# install with "tic cathode.terminfo"
# Use "infocmp cathode" to see the resulting full description
#
# 
# This version (1.2.0) of Cathode has an overwrite vs. insert
# problem which xterm-256color exposes but rxvt-256color doesn't.  The
# remaining quirk is that Cathode doesn't understand [27m to end
# "standout" mode, but does understand [m, so we'll use that.
#
cathode|Mac Cathode.app 1.2.0,
        rmso=\E[m, use=rxvt-256color,

Open a new window and verify that Emacs and less work correctly.

One thought on “Make Emacs Work with Cathode.app

  1. Thanks so much for figuring out the bug and patching a terminfo entry to work around it. I’ll give you a little credit on my site in tomorrow’s entry…
    I’m a long time Emacs user and Cathode has been quite the trip down memory lane for me. Without my favorite editing environment, I wouldn’t use Cathode very much.
    I wrote just a tiny bit in my ~/.profile:

    # Work around a bug in Cathode for Emacs, less, and others
    if [ “$TERM” = xterm-color ]; then
    export TERM=cathode
    fi

Leave a comment