2011-02-23

I’ve been a window shader for a very long time. For those that don’t know, window shading causes the main body of a window to disappear, leaving just the titlebar in place. It’s an alternative to minimizing (GNOME 2, Windows), iconifying (OS X), and hiding (GNOME 3). I shade windows by double-clicking the titlebar. There’s a hidden option to enable this in GNOME 2.

Window shading has been around for a long time. It’s not even exclusive to *nix desktops. It was used in pre-X versions of MacOS. I seem to be one of the few remaining window shaders in the modern desktop world, so I want to share my experience. I’m not trying to debate what’s better, and I’m certainly not demanding that designers cater to my whims. I’m just sharing how I use my desktop.

I have no problems with overlapping windows. In fact, I rely on them. I often read something in one window while writing something in another. Shifting my gaze is much faster than changing windows in a window list. This is important to me, because I do it a lot. I have terrible short-term memory. I can tell you what lot we parked in at Disney World when I was 8, but I can’t tell you what I read five minutes ago. Consequently, I almost never maximize windows. I confess, I really don’t understand maximizing windows on large, wide-screen monitors. (Mine is 1680×1050.) It’s too wide to read. My windows are at their natural size, and that size depends on what’s in them.

But when you have lots of small, overlapping windows, it’s easy to lose track of them. I have a fairly static arrangement of windows. I know my web browser and other document windows cascade from the top left. I know my terminals are flush bottoom. I know my smaller utility windows are somewhere in the middle of the screen. I don’t really think about where the windows are, because I have years of habit ingrained in me. Habit helps me.

When I need to get behind a window, or when I don’t want to look at it, I shade it. I could just as easily minimize it to get it out of my way. There’s no practical difference in the hiding act. The difference comes in when I want that window back. And more often than not, I want it back soon.

Window lists and zoom overviews have little to no spatial resemblence to how your windows are (or were) arranged. But shading leaves your windows where they were, just smaller. Because I have strong window placement habits, I don’t have to hunt for the window I want in some arbitrary list or grid. I go to where the window is. It’s in the same place as I left it. And as a result, I spend almost no time looking for windows.

I’ll probably have to change my habits soon, because modern desktops are moving away from supporting this kind of feature. But with all the innovation that’s happening, I’m hopeful that somebody will come up with a new way of bringing back hidden windows that actually takes advantage of spatial window placement habits.

I didn’t realize OS X still had that feature. I don’t use it on a regular basis.

I will admit that, while my workflow works very well for me on desktop computers with largeish screens, it starts to break down on smaller screens. I do sometimes maximize things like my mail client or web browser on my laptop. But for me, at least, it’s not about whether shading is useful on small screens. It’s just about how much stuff I can fit on a screen, regardless of the hiding method. (Of course, window shading is not terribly useful if all your titlebars are in the same place.) It’s why I still prefer using my desktop. My laptop is for travelling.

Does OS X really still have this feature? I can only find the “double-click title bar to minimize” option, which is also disabled by default. This article also suggests that it’s gone: http://en.wikipedia.org/wiki/WindowShade

Interesting. I’ve never found the two to get along nicely, personally. Do you leave windows shaded for long, or just shade and unshade them quickly for a glimpse? Do you also use other methods of switching windows, like the window list or Alt+Tab?

My habits are pretty similar, but when I want to see what’s behind a window, instead of shading it, I send it to the background by middle-clicking its titlebar. To bring it back, I middle-click the titlebars of windows that obscure it.

This would probably not work very well if I had too many windows in a single workspace.

As I do most of my work on a 2560×1440 widescreen display, I tend to have like three windows aligned horizontally as being able to just glance at them is bliss compared to constantly switching windows. The way I’ve grown to manage all other windows is through Exposé in Mac OSX or equivalent compiz plugin in GNOME as I find it easier than looking at a window lists or at dock like icon lists.

as a side note, not all modern desktop systems are leaving window shading behind. not only does MacOS X have it, but so does Plasma Desktop (via KWin) and that feature isn’t going anywhere even as we continue to push forward with “modern” techniques. i assume this will be true of other window managers as well. so if you end up really, really needing window shading then maybe it’s time to look at other window managers (not necessarily whole other desktop environments, though with some envs “welding” a specific WM to the shell that becomes increasingly more difficult.)

btw, i used window shading too. i’ve used it since the 80s when i found the feature on my Mac (it may have been via an add-on tool for MacOS at the time?) …

I should clarify that, as far as I know, Mutter is not removing shading, although the option will certainly be hidden. There are, however, two GNOME Shell bugs (which I filed) that make window shading less pleasant:

This a huge aside, but something you might find interesting, with regards to this statement: “I can tell you what lot we parked in at Disney World when I was 8, but I can’t tell you what I read five minutes ago.”

There was an interesting article in the New York Times Magazine on Sunday about how our memories are much more designed for remembering things spatially than for remembering strings of data. People who enter memory competitions use tricks like remembering the order of a deck of cards by picturing the cards sitting around a dining table. I wonder if this is related to how you organize windows spatially.

The sad thing is, at least the last time I checked, the Metacity spec makes a provision for a shade button in the title bar, but the majority of the theme designers, in their infinite wisdom, refuse to implement it.

I do use window shading occasionally, but most importantly I use a BIG pager 8×3 desktops, I really believe that’s the best way to use a desktop, especially with a wide screen, I keep a big size (~250x400px) pager on the bottom right of my screen.
It’s great because as with shaded windows, it makes use of your spacial memory, I remember where I put a window I used recently, I can put related windows in neighboring desktops, and of course I always put some apps in the same place, so I always know where they are.

I also use window shading but only occasionally. But when I do, I like it a lot.
I should say in advance that I use KWin, so I don’t know if my use case is applicable to Mutter as well.

I configured KWin to have the regular Minimize, Maximize, Close buttons on the right and Always On Top and Shade Window on the left.
Sometimes like to watch a movie while browsing the web. The way I do that is to put a scaled-down window of VLC at the side of my screen and set it to be always on top. It overlaps the browser window a bit because I have no 30″ monitor.
When something is hidden below my VLC window, I quickly shade VLC. That’s faster and more convenient than minimizing or any other alternative.

Very useful post from a designer point of view. I’m pretty sure mutter has this feature, you just need to enable it via d-conf, you’ll have to change the default double-click toolbar action as well. I don’t remember if I properly styled shaded windows in the mutter theme, but I’ll verify that shading looks right with gnome 3 default look.
Thanks for your insightful post.