When I was first preparing to switch to Linux many years ago, I went into research mode and looked around the net a bit. At the time, part of the allure of Linux were the crazy cool desktops people had. After I switched I tried Gnome, then KDE, and was depressed at how uncool and *dozelike they were. Eventually, I discovered that all those amazing desktops were the result of Fluxbox (or the other *box forks). I switched immediately.
To my surprise, I found that not only was I able to get a really cool appearance, but Fluxbox made all the things I wanted out of a window manager, and some I didn’t know I wanted, simple. It turned out that I was not the only user to have noticed those operating system limitations and failings I’d been grumbling about for years, particularly with *doze. The Fluxbox crew apparently knew my pain and had gone about addressing all of those complaints.
For example, one particular thing I had tried way back in the dark years was a DOS script to launch a bunch of applications at bootup with attempts to get them to their proper window sizes and such. It worked in a very limited fashion. Controlling *dows startup folders and services by their methods is a joke. It’s just poorly implemented by Microsoft, and while certainly better in Linux, still not exactly perfect. Fluxbox handles this as elegantly as one could wish.
You see, as a guy with a programmer background, repetition of effort utterly disgusts me. So when I restart my computer or even just a program, I absolutely detest having to resize and relocate windows to the way I had them before the restart. Just having to restart apps after reboot is too much wasted effort and time. With Fluxbox I found a solution to this issue completely built in, along with many, many more time-saving ideas. In a word, it’s brilliant.
Many people’s first reaction to seeing a Fluxbox desktop is to be taken aback by its barren aspect. They notice the complete lack of pretty little icons and don’t quite understand the spartan nature of it. Well, it’s like this: If everything you use on a regular basis already starts for you, and the rest either has keyboard shortcuts or can be found in a moment in your customized menu… what the hell do you need pretty little icons covering up your badass desktop image for? That’s not to say you can’t have pretty little icons if you want, but Fluxbox defaults to a simplistic, stay-out-of-the-way style.
In the following article, I will describe my particular layout of the Fluxbox desktop: workspaces, monitors, and applications. While technically not part of Fluxbox itself, part of what makes those Fluxbox desktops so cool are the terminals, so I’ll give a fairly in-depth explanation of my aterm setup. Most Fluxbox descriptions, the Fluxbox website included, describe things entirely by files, so I think I’ll try to use a chronological approach wherever possible. To this end, I will next discuss the X/Fluxbox startup script sequence, and show you what happens as I start Fluxbox. After that, I will talk about the heart of Fluxbox: the configuration files. Finally, I’ll wrap up with some other features and things worthy of notice. I hope you enjoy and benefit from my experience.
My Fluxbox, Let Me Show You It
This is my Fluxbox. There are many like it, but this one is mine. My Fluxbox is my best friend. It is my life. I must master it as I must master my life. Without me, my Fluxbox is useless. Without my Fluxbox, I am useless. rAmen.
Fluxbox, like many other window managers these days, allows for having multiple desktops. In Fluxbox these are called “Workspaces.” I usually use five workspaces, each devoted to separate purposes, and thus, each have specific applications. Let me describe them for you, but first let me note that all my workspaces are two monitors wide despite some images being cropped to show only the primary left-hand monitor.
For now, let’s skip over the first workspace. The second I use for web browsing with Firefox or Seamonkey, as well as Open Office documents. Between multiple FF windows and several documents, this workspace can get pretty crowded at times.
On my third workspace I keep two Bluefish (a simple text editor) projects of eight or so text files each. One of these projects is for Linux notes, commands, simple howtos, etc. The other is for things like to-do lists, shopping lists, books/movies/tunes to get, etc. I’ve found I’m far more likely to take note of things if these files are already open for editing, so devoting a workspace to having these simple files permanently open works really well for me.
The fourth Fluxbox workspace I keep my file manager on; at the moment I’m using XFE. I also do my torrenting from here, and basically anything media related. And the fifth is my workspace for actual work. I usually have a couple terminals open, maybe some editors, I use the Gimp here, etc.
Now back to the first. On it I have seven terminals sized to fit together nicely and display various bits of useful information. I tail /var/log/messages, debug, syslog, secure, and my current X session’s log (I redirect the output of the startx command to this log file). I use one terminal for displaying disk usage info, and I have one that I use every once in a while for brief commands (frequently process kills).
I happen to have two monitors, the second of which is smaller and always displays XChat no matter which workspace I’m using. This is called the “Sticky State” in Fluxbox. I also run GKrellM in what’s called the “Slit” which is the Fluxbox method for keeping docked applets permanently visible and outside the normal Fluxbox window rules. In this way, GKrellM always shows across workspaces, and maximized apps do not cover it up – although like everything else with Fluxbox that behavior can be changed.
I keep my Fluxbox Toolbar at the top and only across the left-hand monitor, and I let it autohide itself. I usually have four apps in the System Tray: XChat, KMix, KTorrent, and Amarok, none of which show up on the Iconbar portion of the Toolbar; the Iconbar being the primary section that displays icons for each app open on that workspace; the Toolbar being the whole thing, clock and all (some definitions).
All of these programs start automatically when I start X/Fluxbox. They always start exactly where I want. They all start at the proper sizes. My two Bluefish projects start opened. XChat starts stickied on the right hand monitor. KMix, KTorrent, and Amarok all start minimized to the Sys Tray. I no longer suffer monkey-like duplication of effort. It is perfection.
You might also note that I leave a small corner of the desktop visible under GKrellM. This is so I can right click to access the Fluxbox Root Menu easily. I have a keyboard command that will pop it up, but as counterintuitive as it might sound, the mouse seems to be the easiest for me to do this. I also have set Fluxbox (via the Keys file) so when I mouse over the desktop and scroll the mousewheel up or down, I scroll between workspaces. Between accessing the menu and flipping workspaces, having a tiny portion of the desktop showing is very convenient and not at all a waste of real estate.