As my favorite hardware begins to age, I'm increasingly grateful for minimalist software. If you ever look at your memory usage, you'll see some of the biggest footprints are being left by your X server and window manager. That's why I'm grateful to minimalist developers like Brad Hughes, principal developer of the Blackbox window manager (see blackbox.alug.org).
Version 60.3 of Blackbox (beta release) is written from about 18,500 lines of C++ code. The current release version, 51.3.1, is written from about a 1000 fewer lines of code. Both are extremely stable, though the newer beta version supports some newer ideas and is my version of choice. Both line counts include preprocessor statements, comments, and source files as well as header files.
Blackbox is also resource friendly. There's not much fluff in there, in terms of features that you won't use. This WM has everything you need, but it may not have everything you want, like sound events for instance. But it does blend in pretty well with other environments, such as KDE and Motif, in case you want to play with extra bells and whistles. GNOME support is present to some extent, and Blackbox (BB) does run with it, but there may be GNOME hints that are not supported.
Unlike many other window managers, BB has its own graphics class to render all vector gradients on the fly and cache them, rather than load images into memory and keep them there where they might rarely be used. There is no image loading built into BB. External programs are used to do that.
BB has nearly complete ICCCM compliance. (ICCCM stands for Inter-Client Communications Conventions Manual.) It's ``nearly'' complete because the ICCCM itself is a work in progress. BB provides HotKeys that are not part of that spec, so it is not fully compliant with the ICCCM, but neither are most modern window managers.
Everything you need in your day-to-day environment is present in BB. Multiple desktops, window shading, iconization, mini/maximization, customizable popup menus, and dock/wharf support in recent versions. It's all there, and stuff you don't need is gone. How nice.
BB allows you to run your dockapps in something called ``the slit.'' The slit is a customizable area where dockapps can appear as they are called. For example, when you start wmCalClock, wmmail, wmppp, wmcdplay, and wmmixer, they all appear in a little wharf/dock-like area, situated on the right hand side of your desktop by default. You can move it anywhere you want, however, by using its built-in configuration tool. Gkrellm also works just fine with BB.
The latest beta release of BB (version 60.3) still has a hiccup or two with the slit. I sometimes notice an extra space on my slit below wmmail. When I restart BB, it disappears, however. It shouldn't have been there to start with, so it's good that it goes away.
BB has plenty of support for themes. If you check out bb.themes.org, you'll find 481 themes available for download as of this writing. Lots of spiffy ones.
A word of warning about themes: there have been multiple standards for style files and multiple formats for themeballs. In other words, some themeballs unpack everything in $HOME/.blackbox, and others unpack in $HOME/.blackbox/{styles,backgrounds}, and others unpack everything in $HOME/.blackbox/{Styles,Backgrounds}. Still others unpack everything in the current directory without even looking for styles directories or backgrounds directories. Also, some style files include a command to put an image of some kind on your root window, while others leave it to you to do so. Some styles use besetroot, some use xv, some use Esetroot, and some use other commands. Be on the lookout; styles are not consistent across versions of BB.
BB themes are a good excuse to use that little .bashrc function I told you all about ages ago called ctgz. It goes like this:
ctgz(){
for file in $* ; do
gzip -dc ${file} | tar tf -
done
}
Of course, you could just go tar tfz filename.tar.gz and get the same result, but I like ctgz filename.tar.gz better.
Then you may want to pipe the output of ctgz to your favorite pager to see where the themeball will place files. I wrote a half-baked little script to handle BB theme installation, because I get lazy and otherwise don't like to do things by hand unless there's a good reason. Email me for it at dsj@dsj.net and I'll send you a copy of bbtheme.sh. It handles most formats of themeballs for Blackbox.
For personal configuration, BB uses a $HOME/.blackboxrc file. You should create a $HOME/.blackbox directory to put other stuff into that you'll find handy. Your customizable menu file, for instance, and perhaps some default config files for other apps you'll find useful, such as bbkeys, a keygrabber that provides HotKeys. Other tools are constantly being developed along the lines of the dockapps and afterstep apps for other window managers. This is also the directory where style and background files are normally looked for if you download themes from themes.org.
In conclusion, Blackbox is a terrific window manager when you
want speed and minimalism and don't need extreme flexibility or
configurability. If you want what you need and no more in a
window manager, check out Blackbox. And even if you do want
more, check out whether running it with KDE or GNOME works for
you. Chances are good that you can have you cake and eat it
quickly.