Fluxbox-1.3.7

Introduction to Fluxbox

The Fluxbox package contains a window manager.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Fluxbox Dependencies

Required

a graphical environment

Optional

dbus-1.14.10 (runtime), FriBidi-1.0.16, and imlib2-1.12.3 (if you wish to use other image formats in addition to XPM)

Installation of Fluxbox

First, fix a build failure when building with gcc-11.1:

sed -i '/text_prop.value > 0/s/>/!=/' util/fluxbox-remote.cc

Install Fluxbox by running the following commands:

./configure --prefix=/usr &&
make

This package does not have a working test suite.

Now, as the root user:

make install

Configuring Fluxbox

Config Files

~/.fluxbox/init, ~/.fluxbox/keys, and ~/.fluxbox/menu

Configuration Information

If Fluxbox is the only Window Manager you want to use, you can start it with an .xinitrc file in your home folder. Be sure to backup your current .xinitrc before proceeding.

echo startfluxbox > ~/.xinitrc

Or alternatively, if you use a login manager like GDM-46.2 or lightdm-1.32.0, and would like to be able to choose Fluxbox at the login prompt, create a fluxbox.desktop file. As root:

mkdir -pv /usr/share/xsessions &&
cat > /usr/share/xsessions/fluxbox.desktop << "EOF"
[Desktop Entry]
Encoding=UTF-8
Name=Fluxbox
Comment=This session logs you into Fluxbox
Exec=startfluxbox
Type=Application
EOF

If you didn't install GDM-46.2 or lightdm-1.32.0 in /usr, then change that command to fit the prefix you chose.

Now create the Fluxbox configuration files:

mkdir -v ~/.fluxbox &&
cp -v /usr/share/fluxbox/init ~/.fluxbox/init &&
cp -v /usr/share/fluxbox/keys ~/.fluxbox/keys

To generate the application menu, first you may wish to run fluxbox-generate_menu -h, in order to choose any <user_options>, then issue:

cd ~/.fluxbox &&
fluxbox-generate_menu <user_options>

Alternately, copy a pregenerated menu:

cp -v /usr/share/fluxbox/menu ~/.fluxbox/menu

Menu items are added by editing ~/.fluxbox/menu. The syntax is explained on the fluxbox man page.

If you want to use an image as your desktop background, copy the theme you like into ~/.fluxbox. Then add a line to make it use the correct image. In the following command, change <theme> for the name of the theme you want and change </path/to/nice/image.ext> to point to the actual image you want to use, where ext must be xpm, if imlib2-1.12.3 is not installed to allow other image formats.

cp -r /usr/share/fluxbox/styles/<theme> ~/.fluxbox/theme &&

sed -i 's,\(session.styleFile:\).*,\1 ~/.fluxbox/theme,' ~/.fluxbox/init &&

[ -f ~/.fluxbox/theme ] &&
echo "background.pixmap: </path/to/nice/image.ext>" >> ~/.fluxbox/theme ||
[ -d ~/.fluxbox/theme ] &&
echo "background.pixmap: </path/to/nice/image.ext>" >> ~/.fluxbox/theme/theme.cfg

In some locales the font specified in the theme may not contain the needed characters. This results in menus with blank items. You can fix this by editing ~/.fluxbox/theme with a text editor and altering it so that it names a suitable font.

Contents

Installed Programs: fluxbox, fbsetbg, fbsetroot, fluxbox-generate_menu, startfluxbox, fbrun, fluxbox-remote, and fluxbox-update_configs
Installed Libraries: None
Installed Directories: /usr/share/fluxbox and ~/.fluxbox

Short Descriptions

fluxbox

is a window manager for X11 based on Blackbox 0.61.0

fbsetbg

is a utility that sets the background image. It requires one of the following at runtime: Esetroot, wmsetbg, feh, hsetroot, chbg, display, qiv, xv, xsri, xli, or xsetbg. It also requires which if Esetroot is found

fbsetroot

is a utility to change root window appearance based on the Blackbox application bsetroot

fluxbox-generate_menu

is a utility that generates a menu by scanning your PATH

startfluxbox

is a session startup script that allows for command executions prior to fluxbox starting

fbrun

displays a run dialog window

fluxbox-remote

provides command line access to key commands for Fluxbox

fluxbox-update_configs

use to manage config files (reload, update, test)