One of the many great things about using UNIX or a UNIX-like operating system is the ability to tailor your environment to your liking. If you want a full-fledged GUI with all the bells and whistles then Gnome, KDE, or LXDE are probably for you.
But, if you want something less resource intensive that offers a greater degree of control then Fluxbox Window Manager is what you’re looking for.
Introduction to Fluxbox
Fluxbox Window Manager was forked from Blackbox 0.61.1 and is written in C++. It is a lightweight window manager for X11 that uses floating windows (as opposed to tiling like Xmonad or awesome). Some of Fluxbox’s features include the slit, toolbar, system tray, tabbed windows, the apps file, the keys file, and a fully customizable root menu. It stores its configuration files in ~/.fluxbox/.
If you need more in-depth information about customization then check out the Fluxbox wiki or use the man pages.
The slit is an application dock. Some applications, such as Frostwire and Transmission, can be docked rather than minimized. If you’re on a laptop you may want an application that monitors your battery usage or if your machine has limited resources you may want to monitor RAM and swap usage. If you’re running a mail server you may want an application that sits in the slit to tell you whether or not you have mail. The possibilities for the slit are endless.
The dockapps website has a plethora of useful applications that can sit comfortably in the slit.
The toolbar is where minimized windows end up and it can be made to fill the bottom of the screen or be transparent. It also houses a clock, which can be customized to use 12 or 24 hour time format, the system tray, and buttons to allow you to switch workspaces. It can be further customized to only show certain applications or remove the arrows that let you switch workspaces. Its all up to you, the user.
Fluxbox System Tray
The system tray is part of the toolbar. Its similar to the notification area used in the Gnome Desktop Environment. Programs like Pidgin will create small icons that call the system tray home. Pidgin, in particular, has an icon that flashes when you receive a new message.
Fluxbox Apps File
The apps file is located at ~/.fluxbox/apps and dictates the behavior of certain windows. It can be used to make a window initially sticky (appears on all workspaces), shaded, tabbed, and can even dictate a window’s dimensions.
The Fluxbox wiki has a great entry on editing the apps file.
Fluxbox Keys File
The keys file is located at ~/.fluxbox/keys and dictates keyboard and mouse shortcuts. This is very handy for users that prefer to do most of their work with a keyboard.
I use it for custom functions. I have key bindings for xkill (stop a frozen application), Firefox, Thunar, and other of my favorite applications. I bind them all to the Mod4 key, which on most keyboards looks like the windows logo. The “Mod4 k :exec xkill” entry in the keys file basically means that pressing the Windows key (Mod4) and the k key will run the xkill program. You can replace “k” and “xkill” to bind just about any program to a key binding of your choice!
Fluxbox Root Menu
The root menu shows up when you right click on your background. It has a menu of installed applications and can be fully customized to your liking. Its configuration file is stored at ~/.fluxbox/menu by default. However, I would suggest that you change this by editing the ~/.fluxbox/init file. Change the session.menuFile entry from ~/.fluxbox/menu to a path of your choosing.
Personally, I prefer to keep things simple and keep my menu at ~/.fluxbox/my_menu but you can name your menu file “potatoes” if it makes you happy. My reasoning behind using a different menu is that the fluxbox-generate_menu program always writes to ~/.fluxbox/menu and if you’ve gone out of your way to customize this file then you will not be very happy when fluxbox-generate_menu overwrites it.
There are several GUI tools you can use to customize the menu but I prefer editing it manually. You can change certain defaults that fluxbox-generate_menu uses by editing the ~/.fluxbox/menuconfig file.
The basic syntax of the fluxbox menu is very simple and human readable. It is explained in great detail at the Fluxbox wiki.