#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 27. Window Managers

- Prev

  IceWM-2.9.5

- Next

  sawfish-1.13.0

- Up
- Home

# openbox-3.6.1

## Introduction to openbox

Openbox is a highly configurable desktop window manager with extensive standards support. It allows you to control almost every aspect of how you interact with your desktop.

This package is known to build and work properly using an LFS-11.1 platform.

### Package Information

- Download (HTTP): http://openbox.org/dist/openbox/openbox-3.6.1.tar.gz

- Download MD5 sum: b72794996c6a3ad94634727b95f9d204

- Download size: 944 KB

- Estimated disk space required: 21 MB

- Estimated build time: 0.3 SBU

### Openbox Dependencies

#### Required

a graphical environment and Pango-1.50.4 (compiled with support for libXft)

#### Optional

dbus-1.12.20 (runtime), imlib2-1.8.0 (to enable icons in the right click menu), ImageMagick-7.1.0-25 (to show desktop backgrounds as seen in the Configuration Information section below), PyXDG-0.27, startup-notification-0.12, and librsvg-2.52.6

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/openbox

## Installation of Openbox

### Note

If XORG_PREFIX is not `/usr`, tell gcc about it:

    export LIBRARY_PATH=$XORG_PREFIX/lib

If you only installed the Python 3 PyXDG module convert one of the scripts to Python 3:

    2to3-3.10 -w data/autostart/openbox-xdg-autostart &&
    sed 's/python/python3/' -i data/autostart/openbox-xdg-autostart

Install Openbox by running the following commands:

    ./configure --prefix=/usr     \
                --sysconfdir=/etc \
                --disable-static  \
                --docdir=/usr/share/doc/openbox-3.6.1 &&
    make

This package does not come with a test suite.

Now, as the `root` user:

    make install

## Command Explanations

`--sysconfdir=/etc`: This option puts Openbox's configuration files in /etc/xdg/openbox instead of /usr/etc/xdg/openbox.

`--docdir=/usr/share/doc/openbox-3.6.1`: this puts a few files in a versioned directory in `/usr/share/doc`.

`--disable-static`: This switch prevents installation of static versions of the libraries.

## Configuring Openbox

###

#### Config Files

`/etc/xdg/openbox/autostart`, `/etc/xdg/openbox/menu.xml`, `/etc/xdg/openbox/rc.xml`, `~/.config/openbox/autostart`, `~/.config/openbox/menu.xml` and `~/.config/openbox/rc.xml`

###

#### Configuration Information

Openbox's right click menu can be used to launch programs. The menu itself is configured with 2 files, `/etc/xdg/openbox/menu.xml` and `~/.config/openbox/menu.xml`. To make changes to the menu, copy /etc/xdg/openbox/menu.xml to ~/.config/openbox/menu.xml and edit it:

    cp -rf /etc/xdg/openbox ~/.config

`~/.config/openbox/menu.xml` can be edited with a text editor or you can install Obmenu (requires pyxml and PyGTK-2.24.0).

To have icons in your right click menu requires installing imlib2-1.8.0 before you install Openbox. To set an icon for an entry in the menu edit `~/.config/openbox/menu.xml` and add an icon to the <item> tag like this:

              <item label="Mplayer" icon="/usr/share/pixmaps/mplayer.png">

Many other aspects of Openbox's behaviour are configured with `~/.config/openbox/rc.xml` such as what keybindings are used to launch programs or which mouse button launches the main menu.

Details of the theme that Openbox applies to window decorations are configured in `~/.config/openbox/rc.xml`. You can get a list of the available themes with the command:

    ls -d /usr/share/themes/*/openbox-3 | sed 's#.*es/##;s#/o.*##'

###

#### Starting Openbox

To automatically start openbox when you start Xorg:

    echo openbox > ~/.xinitrc

If you want to set a background image to your desktop you can use display and launch it from ~/.xinitrc just before openbox:

    cat > ~/.xinitrc << "EOF"
    display -backdrop -window root /path/to/beautiful/picture.jpeg
    exec openbox
    EOF

Or if you like a bit of variety, put a selection of images in a folder (in this example, the directory ~/.config/backgrounds) and choose one at random each time you xinit:

    cat > ~/.xinitrc << "EOF"
    # make an array which lists the pictures:
    picture_list=(~/.config/backgrounds/*)
    # create a random integer between 0 and the number of pictures:
    random_number=$(( ${RANDOM} % ${#picture_list[@]} ))
    # display the chosen picture:
    display -backdrop -window root "${picture_list[${random_number}]}"
    exec openbox
    EOF

If you like to have the numlock key set when you start Xorg, install Numlockx and add that to your xinitrc. Another useful application is dbus-1.12.20:

    cat > ~/.xinitrc << "EOF"
    . /etc/profile
    picture_list=(~/.config/backgrounds/*)
    random_number=$(( ${RANDOM} % ${#picture_list[*]} ))
    display -backdrop -window root "${picture_list[${random_number}]}"
    numlockx
    eval $(dbus-launch --auto-syntax --exit-with-session)
    lxpanel &
    exec openbox
    EOF

## Contents

Installed Programs: gdm-control, gnome-panel-control, obxprop, openbox, openbox-gnome-session, openbox-kde-session and openbox-session
Installed Libraries: libobrender.so and libobt.so
Installed Directories: /etc/xdg/openbox, /usr/include/openbox, /usr/share/doc/openbox-3.6.1 and /usr/share/themes.

### Short Descriptions

gdm-control | is a command line tool to send signals to GDM
gnome-panel-control | is a command line utility to invoke the Gnome Panel run dialog/menu
obxprop | is a tool for displaying the properties on an x window. It has a similar functionality to xprop, but allows you to see UTF-8 strings as text
openbox | is a standards compliant, highly configurable, window manager
openbox-gnome-session | is a script to launch an Gnome session with Openbox as your window manager from your `~/.xinitrc`
openbox-kde-session | is a script to launch an KDE session with Openbox as your window manager from your `~/.xinitrc`
openbox-session | is a script to launch an Openbox session from your `~/.xinitrc`
`libobrender.so` | contains the functions used by Openbox for theme rendering
`libobt.so` | is the Openbox toolkit library

Last updated on

- Prev

  IceWM-2.9.5

- Next

  sawfish-1.13.0

- Up
- Home