I CAME quite late to the Fluxbox party, and now I am here I wish I had arrived earlier.
Fluxbox is a lightweight window manager for the X window system used by Linux distributions.
When I say “lightweight”, I mean it is not resource-hungry like, say, the KDE and GNOME desktop environments, and that once it is installed on your machine and configured properly, it is both stable and very quick.
If you like your desktop cluttered with icons and shortcuts, or enjoy fancy 3D, Compiz-driven eye candy, then Fluxbox (http://fluxbox.sourceforge.net/) may not be for you.
Anyway, you cannot mix Fluxbox and Compiz – they are both window managers and will not work together in any desktop environment; either can be added to KDE, GNOME or Xfce, but not at the same time.
It is perfectly possible to have an iconified Fluxbox desktop – by using it with the Rox-Filer application or fbdesk - but I think this defeats the object, because Fluxbox's strength is the way it keeps things clean and lean.
That does not mean, however, that a Fluxbox desktop is plain and boring: It is easy to have a beautiful Fluxbox desktop which is also highly functional.
Here are some examples I found on the internet:
What I particularly like about using Fluxbox is that it allows someone like me, who has no real coding or programming experience, to edit simple text configuration files to achieve the look and functionality that I desire.
This makes me feel like I have had more involvement in the structure, appearance and functionality of my PC desktop, particularly if I have downloaded and installed Fluxbox to start with.
I am currently running Fluxbox on my main PC with Linux Mint 4.0 and the GNOME desktop environment).
It's not a particularly powerful machine, but with Fluxbox on board my applications load quickly and I am able to multi-task well, despite having only 512MB of RAM.
Of course, if you pair Fluxbox with a powerful PC, then you really have a seriously fast machine.
Acquiring and Installing Fluxbox
My recommendation is that, if your distribution has Fluxbox and its associated utilities in its repository, you should get it from there using your package manager.
It is easier – there is far less configuring to be done - and once Fluxbox has been installed you will find it available as an option in your session login window.
The other way is to acquire the Fluxbox source and build it yourself.
The source tarball for the latest version, v1.0.0, can be found here, along with a selection of binaries for various distributions.
Once you have downloaded the source tarball you must extract it.
Fire up a terminal and, as root, 'cd' (Change directory) into the directory where you downloaded the source tarball, then enter the following command:
tar xzvf fluxbox-1.0.0.tar.gz
(the filename will vary according to the version you download)
This command will unpack the archive and once it is done, use the 'cd' command to change into the directory your file archiver created.
The next step is to configure and make Fluxbox.
It is a fairly safe to accept the default choices during this process, but experienced Linuxers may wish to enable or disable various flags during the process.
So, to get things going, you need to enter the following commands while in the Fluxbox directory:
./configure
make
Once Fluxbox is compiled, and still as root, enter
make install
And that should be it, Fluxbox ought to be compiled and installed.
Using and Configuring Fluxbox
If you used your package manager to install Fluxbox then it will already be available as a login choice in your session manager (XDM/GDM/KDM).
You select it and log in just like you would if changing from, say, KDE to IceWM.
If you compiled Fluxbox from source, there is still work to be done before you have it available as a session login option.
If you start your sessions via a display manager you need to look for the file '.xsession' which should be in your home directory (as a Hidden file – hit Ctrl-H to reveal it).
The next step is to find the executable for Fluxbox.
In most cases this will be in /usr/local/bin/fluxbox, the default location when compiling from source.
Now you need to edit the '.xsession' file by adding the following to the bottom of the file:
exec /usr/local/bin/fluxbox
Once that is done, save it and close your text editor.
Next, you should create the directory in which Fluxbox stores its configuration files:
mkdir .fluxbox
If you don't create it, when you exit Fluxbox and restart, you will lose all your settings.
Now we are ready to start using and configuring Fluxbox, so reboot into your new window manager.
If everything has gone according to plan, you should have a plain desktop with a thin toolbar along the bottom of your screen.
You access the Fluxbox menu by right-clicking anywhere on the desktop.
If you installed from your repository, you will probably find a menu has already been created for you by the Fluxbox package manager.
But if they didn't, or if you compiled from source you will need to create your own menu – don't worry, it is easy.
Fire up a terminal and enter the following command:
fluxbox-generate_menu
This will give you a menu based on your installed programs, but not necessarily in the order you want them (we'll cover editing the menu next).
Another way of getting a menu is to look in your /usr/local/share/fluxbox directory and copy/paste both the specimen init and menu files from there into the .fluxbox directory in your home directory (remember, the one we created earlier!).
If you take this path, however, be prepared for a lot of editing before the menu looks like you want it to.
So now we have a Fluxbox desktop and a menu. Let's now get things looking like we want them.
Tweaking Fluxbox
There is an excellent guide to changing pretty much everything in your Fluxbox desktop at http://fluxbox-wiki.org/index.php/Category:English_howtos, so I do not propose to cover much more than a few basics here.
What I will say is that there is no better way to learn about how Fluxbox works than by dipping in to your .fluxbox folder and reading the various configuration files in there using your text editor.
That said, here are a few simple ways in which you can personalise things.
Editing your Fluxbox Menu
This is a lot easier than you might imagine. You will find your menu file in the .fluxbox directory in your Home directory.
Right-click on it and select the option to open it with your text editor.
Here is a small section of my edited (Linux Mint) Fluxbox menu
# This is an automatically generated file.
# Please see
# to use your own menu, copy this to ~/.fluxbox/menu, then edit
# ~/.fluxbox/init and change the session.menuFile path to ~/.fluxbox/menu
[begin] (Fluxbox)
# Automatically generated file. Do not edit (see /usr/share/doc/menu/html/index.html)
[exec] (PCManFM) {pcmanfm}
[exec] (Firefox) {firefox}
[exec] (Writer) {/usr/bin/oowriter}
[exec] (Thunderbird) {thunderbird}
[exec] (Terminal) {/usr/bin/gnome-terminal}
[exec] (Synaptic) {/usr/bin/gksu /usr/sbin/synaptic}
[exec] (The GIMP) {/usr/bin/gimp}
[exec] (Leafpad) {/usr/bin/leafpad}
[separator]
[submenu] (Internet)
[exec] (Gnutella) {gtk-gnutella}
[exec] (Pidgin) {/usr/bin/pidgin}
[exec] (FTP) {/usr/bin/gftp}
[end]
[submenu] (Office)
[exec] (OpenOffice.org Calc) {/usr/bin/oocalc}
[exec] (OpenOffice.org Impress) {/usr/bin/ooimpress}
[exec] (OpenOffice.org Math) {/usr/bin/oomath}
[exec] (OpenOffice.org Draw) {/usr/bin/oodraw}
[exec] (OpenOffice.org Base) {/usr/bin/oobase}
[end]
Compare the text above with the screenshot to get an idea of how the commands relate to the menu structure.
Now, editing the menu is as simple as this: Let's, for example, add the music program Exaile to what I call my quick-list – those programs listed at the top of the menu.
All you would need to add is the following:
[exec] (Exaile) {/usr/bin/exaile}
underneath the 'Leafpad' entry, save the menu file and relaunch your menu by right-clicking. Scroll down to the Exaile entry, click once on it and Exaile will run.
How wonderfully simple and efficient is that?
You can add icons to your Fluxbox menu with the addition of one more command, which basically points to the location of the program icon, thus:
[exec] (Exaile) {usr/bin/exaile}
Setting Your Fluxbox Background
Fluxbox comes with a number of Styles which set how your window borders, menu, toolbar and, in some instances, your background look.
However, these backgrounds tend to be solid colours: If you want a jazzy wallpaper, you're going to have to add it yourself.
For this we use a tool called fbsetbg.
This tool is a wrapper that tries to find a suitable background-setting application and then sets the wallpaper using that application.
You don't have to configure fbsetbg, it just uses the first application it can find.
First we need to make sure fbsetbg has a suitable application to use, so open up a terminal and, as user, enter:
fbsetbg -i
If you have one of the supported applications installed you will get a message like this:
'Esetroot is a nice wallpapersetter. You won't have any problems.'
If you do not have a suitable app installed you will recieve an error message like this:
'display doesn't set the wallpaper properly. Transparency for fluxbox
and apps like aterm and xchat won't work right with it. Consider
installing feh, wmsetbg (from windowmaker) or Esetroot (from Eterm) and
I'll use them instead.'
There are several ways of making sure fbsetbg loads the correct wallpaper at each login, but the method I prefer is to edit the following line in your init file in .fluxbox:
session.screen0.rootCommand: fbsetbg -f /home/steve/Wallpapers/carlights.jpg
The bit that says '-f /home/steve/Wallpapers/carlights.jpg' is pointing to the 'carlights' image file I use for my background and because it is in my init file, it loads automatically each time I log in.
A word of warning: fbsetbg does not like filenames with spaces in them, so name your wallpapers carefully.
Changing Your Fluxbox Style
By Styles, Fluxbox generally means window borders, the look of your toolbar, menu and, occasionally, your desktop background too.
When I installed Fluxbox from the Linux Mint repository (I'm lazy!), it came with 27 Styles pre-installed, and many other versions of Fluxbox I have tried have been similarly well-endowed.
However, if you don't have quite the right Style, installing new ones is simple.
There are lots of Fluxbox Styles (the website calls them Themes) at http://www.box-look.org/ - find one you like and download it.
Once downloaded, unpack the file (as user, not root) which you then simply need to move to your .fluxbox/styles folder in your Home directory (remember, it's Hidden, so Ctrl-H will reveal it).
Now, when you next right-click on your desktop, navigate to the Styles menu and the new one will be available – click on it to load it.
If, by the way, your menu does not have the Styles section, add it as follows:
[submenu] (Styles) {}
[stylesdir] (/usr/share/fluxbox/styles)
[stylesdir] (~/.fluxbox/styles)
[end]
For your information, the Style I am using is called Blackened, which gives a nice, glossy black finish to my windows and toolbar.
Changing Fluxbox Fonts
Fluxbox 0.9.15 introduced something called session.styleOverlay which allows the user to override some or even all elements of a style.
This comes in very handy for keeping fonts the same for every style.
If it doesn't already contain it, add this line to your ~/.fluxbox/init file:
session.styleOverlay: ~/.fluxbox/overlay
Then edit the file ~/.fluxbox/overlay like you would edit any style. Add your custom fonts there for example:
menu.title.font: sans-10:bold
toolbar.clock.font: sans-10:bold
toolbar.workspace.font: sans-10:bold
.font: sans-8
Fluxbox Tools and Utilities
fbrun
fbrun is equivalent to the "Run..." dialog in other desktop environment.
It is an easy way to start a program that isn't contained in the menu.
Pagers
Pretty much every Linux desktop environment and window manager has pagers and Fluxbox is no exception.
For those who have never used them they are handy for working in more than one virtual workspace.
The pager allows the user to display workspaces in a small view and drag windows into this view.
Tabs
Think of the way Firefox and Opera allow you to have several websites open I tabs at the same time; well, Fluxbox does the same thing, only with applications.
It's a really efficient way of working.
Youy hold down your mouse's scroll wheel over the title bar in your application's window border and drag it onto an adjacent program's title bar and, voila, the two are merged into one window.
The Slit
More questions are asked about Fluxbox's Slit than just about anything else.
The slit was from the Blackbox window manager, and is designed to hold docked applications – this is also know as running them in 'withdrawn' mode.
These days every version of Fluxbox should have a Slit compiled within it, so do not worry about installing it.
The Slit occupies no screen space and very little memory, so it fits perfectly within the Fluxbox remit.
Try http://dockapps.org/ for dockable applications – there are hundreds!
Like everything else in Fluxbox, the Slit is easily customised - right-click on the visible portion of the slit and select options.
There is much, much more to Fluxbox than I am able to feature here, and I am sure there will be many who are far more experienced with Fluxbox and who can offer better advice than me - I will be glad to hear it.
For those who like to spend time and care customising their desktop and who are looking for a light, fast window manager, I highly recommend Fluxbox.
There are several websites offering more detailed guides and HowTos – here are two official Fluxbox sites I particularly recommend:
http://fluxbox-wiki.org/index.php/Category:English_howtos
http://fluxbox.sourceforge.net/docbook/en/fluxbox-docs.html
7 comments:
Try GoblinX Micro 2.7. It has some nice interfaces that makes Fluxbox really great to use.
If you ever get curious, you might want to try Enlightenment, It's a minimal window manager like Fluxbox, and it comes with much of the ecstatic joy of editing text files.
As for me, I'm gonna go try Fluxbox now, My desktop was getting boring anyways.
Where did you get the Fallen_angel.jpg, or more importantly where can I get it from.. :-)
I used to be a die-hard Fluxbox user until I learned the value of tiling window managers. Now it's Xmonad or death as someone once said.
I am so in love with this post. I finally know how to change my WallPaper :). I wonder how I can achieve transparency.
@ anonymous
It depends on what it is you want to be transparent. My menu, for example, is partially transparent - it's easily changed via the menu itself - and so is my toolbar - just right click on it and change the transparency setting. Glad I could help with your background wallpaper!
Thanks for this blog- i have been trying to find some info on fluxbox. Cheers Mark
Post a Comment