I used xfce on Arch for several months. It’s light, it’s quick, and it’s full-featured. It had all the basic desktop pieces: panel, window manager, file manager, all that fun stuff. I was convinced that I had my desktop precisely the way I wanted it. Granted, I changed applications and settings here and there, but I figured that those changes were about the extent of it.
But I noticed on the message boards that an awful lot of people used xfce on Arch in conjunction with Openbox, not xfce’s window manager xfwm. Though I didn’t have a problem with my existing window manager (actually, I wasn’t quite sure what a window manager did specifically), I figured that with the Arch Wiki page to guide me, I’d be fine.
I did something quite silly here, in retrospect. I didn’t realize that the openbox & call in .xinitrc needed to happen before (not after) the ck-launch-session startxfce4 line. I ended up simply placing openbox in xfce’s “session and startup” from the GUI. But no matter; I’d learned what a window manager was, and I immediately set to customizing my nice new (and quick!) window manager.
Openbox has two main configuration files: rc.xml and menu.xml. Both reside in ~/.config/openbox (~ meaning your home folder). Because I was using the window manager in xfce, the menu didn’t matter much; xfce had its own menu. The rc.xml, though, gave me a whole bunch of sensible keybindings, and I found myself using keyboard shortcuts more often.
Obconf, in the AUR, makes visual customization of Openbox incredibly simple. Install some themes, also from the AUR, and pick and choose to your heart’s content. It also allows configuration of most things in rc.xml, save for keybindings. Obkey, then, can be used for keybindings, and I eventually learned about obmenu for the menu file. (Both in the AUR.) But I didn’t learn about any of those until later; rc.xml is pretty straightforward, and the documentation online is quite comprehensive.
I also discovered a program called pytyle2, largely from googling window managers and discovering that the two major types were stacking, like Openbox, and tiling, like awesome. I’d only ever known stacking window managers, but I thought tiling, so that no window was covered by any other, sounded interesting and decided to try it. Pytyle2 (and pytyle) makes tiling possible in Openbox, along with any other compatible window manager, without installing a separate one altogether. Very handy; I could now switch back and forth between floating windows and tiling windows.
I still use xfce + Openbox sometimes; my login manager, slim, lets me switch between multiple desktops. Usually when I’m looking for a more traditional interface. It’s, again, a good tradeoff between speed, eyecandy, and functionality. Now, though, I tend to spend more time in tiling window managers. But that’s for another post.