The Art of Screen

During all the years I’ve used Linux, unquestionably the one greatest productivity improvement I ever experienced was the day I discovered GNU Screen. Screen allows you to many things, the most important of which is to continue your terminal sessions from anywhere, and between different consoles.

Activity Monitoring

The power of screen continues to amaze me: today I stumbled across a feature by accident that I’d been missing out on all this time (I probably should’ve given the man page a good read a long time ago). It’s called activity monitoring, and it lets you have screen notify you when something happens in a background window. If you’re a heavy IM or IRC user like me, these notifications can be tremendously useful.

Turn activity monitoring on for your current window using C-a M. Using this same shortcut again will toggle activity monitoring back to off. Now when something happens in this window, Screen will flash a message across its status bar, and display an @ next to its title.

Notice the @ next to a modified window's title

The message displayed when something occurs can be changed using activity <message> in your configuration file. Change it to an empty string ("") to kill the message completely.

The problem with Screen’s activity monitoring is that it will be trigged by any change whatsoever. This leads to problems for common command line apps like Finch and Irssi that update constantly.

In Finch, buddies are constantly coming online and going offline, which triggers the monitor. A partial solution for this is to just close your buddy list window (M-c), so that only changes in your chat windows go through to you.

The biggest problem in Irssi (besides the fact that IRC channel are being updated constantly) is that by default, its status bar has a clock that will flip once a minute, and trigger the monitor. The easiest thing to do here is to get rid of the clock: /statusbar window remove time. Irssi will save your configuration changes automatically.

Posted on November 18, 2009 from Calgary

About

My name is Brandur. I'm a polyglot software engineer and part-time designer working at Heroku in San Francisco, California. I'm a Canadian expat. My name is Icelandic. Drop me a line at brandur@mutelight.org.

Aside from technology, I'm interested in energy and how it relates to our society, travel, longboarding, muay thai, symphonic metal, and the guitar.

If you liked this article, consider finding me on Twitter.