Desktop Zen
December 13th, 2005 by DeWitt Clinton

When I first started using Linux ten years ago there was a discernible trend in how people were organizing their desktops. The pattern seemed to go something like:

Put as much information on the screen as possible.

And the corollary:

If you can’t fit more information on the screen, then write a new X window manager.

As a consequence you would frequently see people proudly posting window manager screenshots that looked something like this one I found on the net:

Thinking about this led me to a recent epiphany about how I work, and how better to arrange my desktop.

I found that I a) get distracted by bright shiny things, and b) only actively use one application at a time. Surprising, but true. I ocassionally cut and paste text from one application to another, but I rarely read two different things at once (one with each eye, presumably?) and/or type into two windows simultaneously.

A few experiments later, here is my new desktop:

(Yes, that image loaded correctly. It’s just black. All black. As in, there is nothing at all there.)

A simple panel pops out only when I mouse over it:

Most of the applications I routinely use either have tabs (such as Firefox, Konsole, etc), a MDI [1] interface (such as Eclipse), or a three-panel layout (such as Thunderbird), or buffers (such as Emacs). So the solution to simplifying my desktop was one of reducing distraction.

I launch each of the applications that I need and immediately maximize it to the full dimensions of my screen. No clocks, no taskbars, no CPU load meters, no biff-style email indicators, nothing flashing, blinking, or pulsing. Nothing transparent or translucent. Just one application in sight at a time.

Here’s what the entire screen looks like (reduced from 1600×1200) when the terminal is in the foreground:

I added a few keyboard shortcuts to open up the applications that I need at a moment’s notice. But for the most part I’ve found that the applications are already open (full-screen) when I need them, and I just Alt-Tab between them.

The benefits of the Desktop Zen approach include:

  • Far fewer mental context switches, so tasks are completed faster.
  • Time flies by without a clock in sight.
  • Applications can make use of every inch of screen real-estate.
  • Fonts can generally be made larger and more legible.
  • Reduces eye (and brain) strain, as your gaze doesn’t jump around as much.
  • Works equally well on Linux, Mac OSX, and Windows.

Pure Desktop Zen.

You, too, can find inner peace.

Steps to achieving Desktop Zen:

  1. Set your desktop background to solid black [2].
  2. Set your panel (Linux), dock (Mac OSX), or taskbar (Windows), to auto-hide.
  3. Open your favorite applications, preferably those with tabs or MDI interfaces. (Such as Firefox.)
  4. Maximize every window to fill the full screen.
  5. Switch between applications using Alt-Tab (Windows, Linux) or Command-Tab (Mac OSX)
  6. Do one thing at once. Relax. Enjoy.

Try it for a while, and post your impressions below.

[1] A footnote about Multiple Document Interfaces (MDI): When I worked in the Visual Studio team at Microsoft in the late 90’s there was a running debate regarding MDI. The guys working on the team were sticking to their guns and saying that MDI was the most efficient paradigm for navigating through large amounts of related information, such as a programming project. Whereas those drinking heavily from the pitcher of “Web” KoolAid were convinced that MDI was dead and Single Document Interfaces (SDI), such as it was used in Internet Explorer 6 and earlier, would ultimately reign supreme. How interesting that here we are, 5 years later, and the best web browsers are bringing MDI notions back in the form of Tabbed Document Interfaces (TDI). Including, as it turned out, Internet Explorer 7.

[2] White would work, too. Though I believe a solid black screen uses less power and puts less strain on the eyes.

12 Responses to “Desktop Zen”

  1. Greg Whitescarver Says:

    For the last several years, I’ve been keeping my windows maximized nearly all the time. Today, to indulge your experiment, I set my taskbar to autohide. My alt-tabbing has lately flagged… I’d been using the mouse to switch between application. The hidden taskbar will be my reminder to use shortcut keys, and I can already say that the hidden taskbar has reduced my distraction. Now, though, I’ll have to check instant messenger periodically; before, I always knew when I’d gotten a message (which wasn’t always a good thing).

    p.s. I love black screen with light text. It definitely causes me less eyestrain during long work days. It’s too bad most people find it ugly. I wish some of the web sites I spend a lot of time one had as cool a color scheme as syntax-highlighted vim on a black terminal background. Then again, my own web site is black-on-white.

  2. DeWitt Clinton Says:

    Cool… Post again after a couple of days and let us know how it works out.

    I found that getting rid of the clock, email notifiers, and especially instant message notifiers really does wonders for helping concentration. I’m like a cat, I think, and all of those flashing indicators are just tantalizing little balls of yarn to me.

  3. Eric Says:

    I have all of my systems set to a dull grey background - I found that the black (for me) is far more distracting, and white hurts my eyes. The white hurting my eyes is probably just me being weird and overly photosensitive, and the black being distrating stems from me being used to terminal screens - so when I see black, my mind treats it like a terminal screen and I scan for things that aren’t there.

    A grey screen, for me, is what I have found to work best. Certain tones of grey blues will suit too.

    I had been using the “all maximized” approach for years and more rencently changed due to needing more things on screen at the same time (to see that changing X here makes Y show up over here and the like).

    Although I completely differ in one way in that I tend to keep my dekstop cluttered with icons. Not icons that I ever click on - but simply that it is my “short term memory dump space” in that I know if there was a thought I had recently but am blanking on now due to some distraction/interruption, I can review the desktop by date and see what my stack of thoughts/issues are.

    Maybe I will try to move that to some other folder that is not as visible as the desktop and see if that makes me a better person - I am guessing I’ll still be the same scatterbrained guy I am right now :)

  4. Benjy Says:

    The one thing I would add / change are keyboard shortcuts to “activate or launch” your major apps. On OS X this is easy because of the “one application instance” paradigm (I use quicksilver triggers); On linux this is harder, and I have a macro in my window manager. My window manager is ion2 and it’s overly complicated and kinda buggy and I’d consider switching if someone has a way of creating a robust “activate or launch” macro. The problem is linux will just launch a bunch of copies of an app, so you need a way to figure out if your app is already running.

    Anyway, with this setup I just WIN+F for firefox or WIN+R for my terminal with my top level screen session (connected to my work on all the hosts I work on), and I’m not distracted by an intermediate application when alt tabbing (the unread mail badge in OS X Mail is an example culprit).

    Oh, and I’m also a huge fan of screen. Working from home is as easy as “log in, screen -D -r, pick up where I left off.” I want screen for firefox sessions — I wonder if that’d be possible with the session saver extension?

  5. Darren Chamberlain Says:

    I completely agree with you. For a long time I’ve been mocked by my other linux-using friends because I chose not to use KDE or Gnome, and instead use X + $WM (something simple, like blackbox, sawfish, or aewm). I use virtual desktops to achieve my ultimate setup: 2 xterms in desktop 1 (each running screen, of course), my broswer in desktop 2 (maximized), and miscellaneous crap in desktop 3 (gaim, thunderbird, the gimp, seahorse, and whatever else I need). Having Gaim in the desktop I’m not usually working in (I spend most of my time in a shell or a browser) means I don’t get constantly distracted by IM popups, which is a Good Thing.

    I have a slight twist, though, which is that I run xscreensaver in xmatrix mode on my root window, behind everything else, which gives a nice effect and creates a lot of jealousy in my windows-using compatriots.

  6. DeWitt Clinton Says:

    Darren — that’s funny about running xscreensaver in the background. I tried that once but found it too distracting, to say the least.

    I only use one desktop simply because I like to be able to use Alt-Tab and see an icon of which window I am switching to.

    But perhaps if I went with Benjy’s suggestion and had a clever way of using keystrokes to “activate or launch” then I wouldn’t have a reason for keeping everything on the same desktop.

  7. Darren Chamberlain Says:

    I only use one desktop simply because I like to be able to use Alt-Tab and see an icon of which window I am switching to.

    I’ve gotten completely used to where everything is and I usually only run a very small number of applications, so I never have to think about where stuff is: My browser is *always* on desktop 2, my xterms are *always* on desktop 1, and anything else is launched as necessary on desktop 3. Going to this vastly simplified my life.

  8. Benjy Says:

    With multiple desktops, you could achieve activate or launch by always making sure that some given app is always on some given desktop, and set up keyboard shortcuts to go to that desktop? I think FVWM2 is lets you launch an app on a specific desktop, so you could make your startup script just automatically launch firefox on 8, or something.

  9. Andy Says:

    i, too, have been a one-app-wonder for years now. And alt-tab is this man’s best friend. black? well, i’m a fan of the blue windows background you get when you select “none.” very mild on the eyes, etc. i will admit, though, to recently un-auto-hiding my task bar. reason: sometimes the auto-hide bar gets in the way during small, detailed mouse work near the bottom of the screen. I’m pretty good, though, about ignoring its contents. ooh, what’s the shiny orange thing down there…be right back.

  10. Darren Chamberlain Says:

    that’s funny about running xscreensaver in the background. I tried that once but found it too distracting, to say the least.

    I don’t even see it any more. All I see is xterm, firefox, xterm…

  11. DeWitt Clinton Says:

    Koan of the day: If a desktop background can’t be seen, is it there?

  12. Chris Fairbanks Says:

    Things I haven’t figured out yet with Mac OS X in order to achieve this:

    1 - How do I auto-hide the top menu? Not being able to do this pretty much defeats the clean feel when nothing is running in the foreground.

    2 - Is there a way to actually maximize a window (outside of the apps that actually support fullscreen)? As far as I can tell, the green “maximize” button only expands to the width of the window’s content, which is very frustrating when you want something to fill the screen.