September 21, 2006

Double your fun with QuadKonsole

Author: Joe 'Zonker' Brockmeier

Sometimes it's the simple ideas that produce powerful applications -- like a terminal emulator that provides several shells side by side in a single window. A few days ago, I was looking for a way to split windows in Konsole when I ran across QuadKonsole, a program that embeds several Konsole instances in a single window, making it easy to switch between shell sessions and keep an eye on all of them at once.

Most of the time, Konsole's tabbed interface is fine -- I can switch back and forth between shells and only need to concentrate on one session at a time. However, sometimes I want to be able to eyeball two or more sessions at once, and trying to toggle two Konsole instances just doesn't cut it. QuadKonsole, on the other hand, makes it easy to juggle two, four, or more sessions simultaneously.

QuadKonsole is available from Simon Perreault's homepage as source code, or you can find Ubuntu packages for QuadKonsole on pkg.marisil.org.

Using QuadKonsole

The default is for QuadKonsole to start up with four Konsoles -- two columns and two rows. If you'd like to override this, QuadKonsole has --columns and --rows options. For instance, to start QuadKonsole with just two Konsoles split vertically, run quadkonsole --rows 1. To start QuadKonsole with two Konsoles split horizontally, run quadkonsole --columns 1 instead.

I'm not sure what the upper limit is for QuadKonsole, but it does start to get silly once you have more than eight Konsoles.

QuadKonsole also defaults to focus follows mouse -- so if you move the mouse pointer into one of QuadKonsole's panes, that cursor becomes active. This is old-school Unix behavior, and some users might prefer to use a mouse click to activate the cursor rather than just moving the pointer. To override focus follows mouse, use the --clickfocus option.

I've found QuadKonsole to be really useful for situations where I am reading an INSTALL or README file on my server while going through the steps in another shell. You could open two Konsoles (or xterms, or another terminal emulator) and line them up side by side, but it's easier to fire up QuadKonsole with a couple of screens, open the documentation on one side, and move through the instructions in the other.

It's also handy if you want to be logged into several servers at one time. You can log into one server per Konsole in QuadKonsole and just use Ctrl-Shift plus an arrow key, to move between shells.

Of course, QuadKonsole isn't the only way to get a split-screen effect in a terminal emulator. You can achieve similar results with GNU Screen by splitting the window with Ctrl-a S, but QuadKonsole has some advantages over GNU Screen. Most notably, QuadKonsole doesn't interfere with shortcuts the way GNU Screen does, so you don't have to worry about escaping Bash shortcuts like Ctrl-a. GNU Screen is the only game in town, though, when you're logged in at the console and X isn't running.

If you want a terminal emulator that stays out of your way, there's always YaKuake. YaKuake is modeled after the console in Id Software games, which stays hidden until you use the console shortcut. YaKuake is handy for quick command-line operations.

QuadKonsole follows the fine Unix tradition of doing one thing and doing it well. If you have a need to be able to eyeball more than one shell session at a time, take a few minutes to download and install QuadKonsole -- it's well worth the install.

Click Here!