Yann's Blog - Technology at large

August 7, 2008

Big Monitors, Window Management Frustration, and finding StumpWM

Filed under: Hardware,Software — Tags: , — Yann @ 10:08 pm

You may be like me, and have a large (20″+, or especially 30″ in this case) monitor attached to your computer. You’re also a avid computer user and have more than one program open at a time which you want to view simultaneously. You also use the keyboard much more than the mouse (except when lazily surfing the web). How often have you noticed spending large amounts of time moving your windows around, resizing, moving, rearranging, and all the normal window management jazz? How often do you find yourself switching among windows with alt-tab, just to refer to some information which is currently obscured by the window you’re currently in? If your answer is very often, then you may be a candidate for what is known as a Tiling window manager.

I’ve been using both KDE and Gnome on Linux for many years, and also use the Redmond user-interface (aka Windows). I also own a Mac. The Macintosh (OS X) and Windows are similar models, and Gnome and KDE are even more similar to Windows. Now, I am not saying that either interface is unusable, but it is an inefficient choice if you fall into the categories above.

Granted, the classic window management paradigms are very familiar. I won’t say natural, since computers are really not natural, they’re a learned behavior. Computers only feel natural when they operate in a similar fashion to other computers you’ve used or seen in the past. The problem with this user interface paradigm is becoming apparent as screen sizes grow (and shrink!). Your desktop is simply far too large to use properly in its overlapping window mode. Plus all the mouse work moves you away from your primary user interface device: the keyboard.

Many program designers have noticed this. They’ve moved away from the nightmare of MDI (multiple overlapping windows inside of your overlapping window), and developed docking elements. The toolbar you can dock and move. The properties editor on the right. You can’t (generally) overlap the dockable elements. But in all cases, the elements are on the side or around your document or main view. Stuff stays put, is intelligently placed, and doesn’t get in your way constantly. Why can’t a window manager work the same way? But it can! Enter the Tiling window manager.

I like StumpWM, which is a tiling window manager modeled after ratpoison (and all other tiling managers before it). Its command set is a good mix of GNU Screen and emacs. Its also written in pure Common Lisp. There are other tiling managers out there, such as my second favorite, XMonad, which can even work flawlessly in Gnome and KDE (or mostly flawlessly anyway). XMonad has the advantage of automatic layout modes which StumpWM currently lacks. I didn’t particularly like Ion3 or WmII: the multi-monitor support is not as developed as StumpWM), plus Ion3 open-source development could be at risk. .

I’ve been using StumpWM for a couple of days. I am trying to quit Gnome cold-turkey, and so far have been successful. All of my applications work. The few gnome specific management applications I used I’ve managed to replace (such as NetworkManager for the laptop). My environment is lighter without the 50 background processes Gnome uses for automagic abilities (HAL, DBUS, etc). It doesn’t suffer the “users like simple, so lets not complicate stuff” philosophy Gnome uses in several places (an example: gnome-screensaver vs xscreensaver). Plus, I can use the keyboard almost exclusively, only touching the mouse to use certain applications. All window operations are entirely keyboard driven.

But if you’re not trying to quit Gnome completely, both window managers can show the normal Gnome panel for you. One thing you’ll have to scrap is the Desktop paradigm – you can put a picture on your root window, but the cluttered mass of icons isn’t available – you’ve put something far more useful there instead. Your applications.

It may seem scary at first, but I encourage you to try a tiling manager. Give yourself several hours of dedicated time. Will yourself not to switch back to the old familiar interface. Print out the quick reference or the whole manual, just in case you get lost in how to move around :). Its well worth the effort.


  1. I don’t use GNOME or KDE, I use WindowMaker with multiple desktops (and I remap the change-desktop keys to Mod4+Fn where n is the desktop #). Windowmaker lets me put universal applications in the dock, desktop-specific applications on the clip, and it doesn’t put files “on the desktop”. I tile the windows myself, and then tell Windowmaker to remember on which desktop those windows and applications are found, and where they should appear.

    I have a desktop called “main” that has 5 terminals, xdaliclock, and xmms running. I have a desktop called “web” where I run the browser(s), and also thunderbird, a desktop called “remote” where I have four terminals that are typically ssh’d into remote machine, a desktop called “development” where I have two (tabbed) terminals and an IDE, a desktop called “games” where I keep three terminals (one for running xpilots, one for running xpilot, and the third in case I need to look at something briefly while playing, a desktop called “apps” where I keep openoffice/abiword/etc. on the clip, and a desktop called “scratch” that has nothing by default, but that I use for running applications that don’t really fit on the rest.

    WindowMaker also lets you “windowshade” windows, as well as iconify them. You can “roll up the window” into just the title-bar, which lets you get a window out of the way without having to worry about z-order and obscuring some windows but not the rest.

    Tiling window managers are a good idea, sometimes. But the lessons of tiling can be applied without HAVING to tile everything, and virtual desktops are better at keeping disparate activities separated, which really helps to reduce clutter.

    Comment by SJS — August 8, 2008 @ 9:41 am

  2. Incidentally, why do you prefer StumpWM over xmonad? You say xmonad is your second favourite, then list all the reason’s it’s better than Stump! Also, why bother replacing Gnome? There are many great pieces of software for the Gnome environment, I’m of the opinion that going completely “pure” isn’t really worth it.

    @SJS: tiling managers support virtual desktops as well, of course. I don’t think your set-up need be specific to traditional WMs; certainly xmonad supports everything you describe. Tiling just gives you a more efficient way to use your screen real-estate.

    Comment by David House — August 8, 2008 @ 10:30 am

  3. Just to second what David said, xmonad is way better than any of the other tiling WMs.

    Comment by Joe — August 8, 2008 @ 10:57 am

  4. @Joe: Except dwm. :-)

    Comment by Ben — August 8, 2008 @ 12:44 pm

  5. I’ve recently switched from Fluxbox to AwesomeWM for the reasons you mention in paragraph one. I’ll have to give Xmonad and StumpWM another look but I wasn’t impressed with them immediately like I was AwesomeWM.

    Comment by Curt Micol — August 8, 2008 @ 1:46 pm

  6. For MS Windows, you can’t go past GridMove. It’s an awesome app that integrates cleanly into the shell, tiles your windows to predefined layouts or lets you create your own layouts, and allows for easy swapping of windows. Hotkeys and multimon support too.

    Comment by Josh — August 8, 2008 @ 2:26 pm

  7. Interesting read, I’ve recently also been playing with stumpwm for “serious” work. With what did you replace NetworkManager?

    Comment by Olivier — August 8, 2008 @ 4:02 pm

  8. @Olivier

    I first replaced it with a set of shell scripts which brought interfaces up and down, etc. I’ve sinced moved it to ifup/ifdown framework which Debian (and Ubuntu) provides. I’m looking into using guessnet, but haven’t seen a real need in my case yet.

    And for those of you wondering why Stump and not XMonad, it comes down to the philosophy. I don’t like the auto-layout functionality of XMonad. I’ve already set up my zones, why must windows move around constantly? The ability to push and pull windows around on a “stack” is also a very nice Stump feature. The separation of Xinerama screens from the virtual desktops also drove me crazy. Granted, my experience was two days each before settling on Stump, so I’m willing to revisit this decision at some future time.

    Plus, I find Common Lisp much more hackable, coming from hacking on emacs.

    Comment by Yann — August 8, 2008 @ 11:40 pm

  9. I vote for AwesomeWM. Just used it one week, but best so far.

    Comment by cadar — August 9, 2008 @ 6:06 am

  10. […] окон (tiling WM) постепенно идет в массы, Yann’s Blog » Big Monitors, Window Management Frustration, and finding StumpWM. Я себе тоже xmonad планирую поставить, благо монитор […]

    Pingback by Weekly linkdump #139 - max - блог разработчиков — August 14, 2008 @ 9:00 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress