Fluxbox is a window manager about which I have written a lot. The reason for that is because I use it every day, and I like it a lot. There’s a lot to like. It’s lightning fast, stable, and tweakable to a degree that will satisfy nearly every tinkerer when it comes to window managers.
But one of the biggest barriers to adopting Fluxbox for the “less tinkery” users out there is its configuration learning curve. Yes, Fluxbox is pretty simple when you get over the fact that you have to edit several configuration files by hand to set up your menu, your keys file, and other aspects. But for many users this is a big deal.
For some of those users, the answer to that dilemma is Fluxconf, a package of three applications that can be used to configure Fluxbox graphically.
Fluxconf is pretty easy to install. Download the source from here and unpack it.
CD into the
fluxconf-0.9.9 directory created by unpacking the tar.gz file and perform the following steps:
As I had mentioned above, this installs three separate graphical configuration utilities for Fluxbox, and I’ll detail each below.
Fluxmenu is the most useful out of the three utilities in my opinion, at least for the basic Fluxbox user who just wants to set up a working menu with what they want on it and run with it. The command to launch it is simply
fluxmenu, and that brings up a simple screen that looks like the screenshot I included to the right.
Menu items are added by clicking on the “Add exec” button. One thing to be aware of is the fact that the new item will appear below the item you currently have highlighted. Once the blank item appears, you can call the item what you want by entering text into the “Title” field, and then you can enter the command you want it to execute in the “Command/Comment” field just to the right of that. Once you hit the “Save” button, it commits the change and your Fluxbox menu should reflect the changes immediately.
To create a new submenu, click on “Add sub”, and the process is the same.
I didn’t quite understand the point of the “Add clever” button. What it does is add a new item of the same type that you currently have highlighted, whatever that might be. So if you currently have an “exec” menu item highlighted and click “Add clever”, it will create a new “exec” item just below that. If you have a menu item highlighted when you click “Add clever”, it will create a new submenu. This seems redundant to me, but if you’re building a menu from scratch, it might come in handy when adding 20 or 30 items to it, I suppose.
The biggest benefit to Fluxmenu over just editing the
~/.fluxbox/menu file by hand, at least for the newbie, is how it makes the process a bit harder to mess up than doing so with a text editor can be. When you edit the file by hand you run the risk of forgetting an
[end] tag or deleting something by accident that can royally break the whole menu — and while I’m not a newbie by any stretch of the term, I still occasionally do this when I get careless. While I know this kind of thing tends to be easy to fix, the average user might just find themselves with a broken Fluxbox and move on to something else.
Fluxmenu makes it pretty hard to do this. The worst thing that could happen in Fluxmenu is that one could accidentally delete something that one doesn’t want gone, and as long as one doesn’t save the session, this is easily recovered.
Fluxkeys is a graphical method of creating custom key bindings in Fluxbox, and it is launched with the
fluxkeys command. While at first glance it looks pretty confusing and cluttered, a closer examination of it reveals a much easier way to do the deed than the way I ended up doing much of mine by hand. The buttons on the left give you the various operation keys you want to use, and the first textbox column lets you enter the key to combine with it to do what you want it to do.
The real value in Fluxkeys is the next column (the one with the dropdowns). Each one contains all of the various commands/properties you have at your disposal for use in the Fluxbox keys file, so no more digging through the documentation to figure out what you need to put in there to do what.
The last column is where you can enter a command if your custom key binding is intended to execute some other program or action.
After you have everything set up in Fluxkeys, just click on the “Save” button and go to the Fluxbox menu and select “Restart” to apply the changes in your current session.
A lot of Fluxbox newbies probably won’t play around with custom key bindings like this, but since this is one of the biggest strengths of the Fluxbox window manager, it’s likely that they will want to eventually, and Fluxkeys is an excellent way of getting one’s feet wet. I do think that once you already know what you’re doing, it’s probably quicker and easier to just edit the
~/.fluxbox/keys file by hand, but Fluxkeys gives users less familiar with this task a simple way of getting key bindings set up without a lot of Googling around and trial-and-error.
The third and final utility is launched with the
fluxconf command. The actual Fluxconf utility is a graphical interface that can be used to change a wide variety of Fluxbox settings and behavior all in one place, ranging from the Fluxbox Slit, to the toolbar, the clock, focus behavior, and Fluxbox window tabs.
Everything in this particular utility is pretty straightforward and it all definitely works, but I don’t really understand why it’s here… everything that it does can be done from the Fluxbox menu by default, and Fluxconf doesn’t add any particular functionality or clarity to the things it configures, so this utility seems redundant to me.
The only things it makes easily available that might be a bit obscure to the new Fluxbox user is the ability to change the locations of various Fluxbox configuration files, such as the keys, menu, and styles… but again, the new Fluxbox user probably isn’t going to be wanting to change those things, and those of us who are a bit more under-the-hood with Fluxbox will just change those things in
~/.fluxbox/init by hand if we need them to point somewhere else for whatever reason.
Either way, however, it does provide another option for users to configure their Fluxbox, and it’s well-designed and intuitive to use.
Overall, the Fluxconf set of graphical utilities for Fluxbox are a lot like Fluxbox itself. They are simple, lightweight, powerful, and don’t make assumptions for the user, but are still quite easy to use. The project doesn’t look like it’s been updated in a couple of years, but at the same time, I’m not sure what would need updating in it.
In my evaluation of the three, I’ve added all three to my Fluxbox menu so that they can easily be launched, and I’ve been using the Fluxmenu tool lately (just out of laziness) whenever I’ve needed to change my menu, so I suppose you could say that at least one of the three utilities has grown on me. I have my keys file already pretty much the way I like it, but I do think that if I need to add anything to it or change anything, the Fluxkeys utility will come in very handy.
When I’ve examined the config files each utility manages after the fact it doesn’t appear to trash any of them or do anything horrible to them (like some graphical configuration utilities tend to do), so it doesn’t require lots of cleanup if you want to use one of them for a while and go back to using a text editor.
So, whether you are a Fluxbox newbie or a seasoned veteran, this set of utils is worth a try in my opinion, and to my knowledge it’s the only graphical Fluxbox configuration toolset out there, so it’s either this, or your favorite text editor. Enjoy!