LXDE: Get to Know Obconf

by Andrew Strick (Stricktoo)

Introduction

Obconf is a GUI utility for configuring the Openbox window manager. Many of its options are difficult, if not impossible, to explain in words, and so the reader is encouraged to "play at home," as it were; launch Obconf and play with each setting as it is described.

Note: Both the LXDE and Openbox versions of PCLinuxOS use the Openbox window manager. This article uses LXDE, but most of the discussion is applicable to both.

Launching Obconf

There are several ways to launch Obconf. In the menu, it is found under More Applications > Configuration > Openbox Configuration Manager. In the LXDE Control Center it is the Configure Openbox option under the Appearance Settings tab. And it can be launched from the console or run dialog with the command obconf.

pic

Fig. 01. The LXDE Control Center. The second option ("Configure Openbox") launches Obconf.

Overview

Obconf has eight tabs. Each controls a specific Openbox component: Theme; Appearance; Windows; Move & Resize; Mouse; Desktops; Margins; and Dock.

Theme

The Theme tab lists the available Openbox themes. Each theme changes the way that Openbox looks. On a default LXDE install the most obvious effects are seen in the window decorations. The theme also affects any on screen displays (such as the desktop-switcher) and the Openbox menu, if the user has turned off the LXDE right-click menu.

pic

Fig. 02. The Themes tab, with the Bear2 theme selected. Notice that the window decorations change as soon as the user selects a theme.

The Themes tab also has buttons for installing and exporting Openbox themes.

Install a new theme
launches a file brower window for navigating to the desired location. Once there the user can select any .obt archive and Openbox will install it.
Create a theme archive (.obt)
also launches a file browser. The user can use this window to select a directory containing an Openbox theme, and that directory will be compressed into Openbox’s own .obt archive format.

Note: I could not get either of these options to work. Most themes downloaded from the internet come in a more standard archive type (e.g. .tar.gz) and are not seen by the install utility. And the creation utility refuses to recognize any file or directory as an Openbox theme. An easier method is to extract themes from their archives and move them into the ~/.themes directory (which does not exist by default and must be created by the user).

Appearance

There are three subsections to the the Appearance tab.

pic

Fig. 03. The Appearance tab with default settings

Windows

Windows retain border when undecorated
if the user launches an without any window decorations, this option then allows the user to decide whether that application window should still have a border.
Animate iconify and restore
when checked, the act of minimizing an application to, or restoring it from, the taskbar will show a simple visual. When unchecked application windows essentially appear or disappear when minimized or restored.

Window Titles

By rearranging the listed options in the "Button order" input box, the user can change the layout of the window decoration’s buttons and title. The default has the window icon (N) on the left edge, the window title (L) in the middle, and the minimize/iconify (I), maximize (M) and close (C) buttons at the right edge.

Note: the Openbox theme determines the position of the window title. Thus even if the window title (L) is the first variable listed in the box, it will still display in the middle of the window decoration, offset only by buttons on the right edge. See Fig. 04 for an example.

pic

Fig. 04. The Appearance tab, with all the window buttons added. Notice how the window title (L) remains centered - despite being the first variable listed - and is offset only by the other buttons.

Fonts

This section contains options for setting various system fonts.

Active window title
the font for the title of the currently active window
Inactive window title
the font for the title of any currently inactive windows
Menu header
the font for the heading of the Openbox menu
Menu item
the font for items in the Openbox menu
On-screen display
the font for any Openbox notifications (such as the Information Dialog during a window resize)

Note:"Menu header" and "Menu item" are not generally necessary because the Openbox menu is only used if the user enables the it in the PCManFM settings.

Windows

pic

Fig. 05. The Windows tab

Focusing Windows

Focus new windows when they appear
when checked, any newly opened windows will come to the foreground. When unchecked, newly opened windows will remain inactive until the user selects them (although they still appear on top of any currently opened windows)

Placing Windows

Place new windows under the mouse pointer
when checked, any newly opened windows will be placed under the mouse pointer. This option does not have a consistent orientation. That is, there is not one specific part of the window that is always aligned with the cursor; instead the window will align itself to fit on the desktop while keep a portion under the cursor.
Center new windows when they are placed
all newly opened windows will be placed in the middle of the desktop (unless they are maximized)
Prefer to place new windows on: The active monitor / The monitor with the mouse
which monitor new windows should appear on, if the system has multiple monitors attached

Move & Resize

pic

Fig. 06. The Move & Resize tab

Moving & Resizing Windows

Update window contents while resizing
when checked the window contents will update to match the new window size as it is being resized. When unchecked the contents will remain static and will only update to match the window once the resizing has finished.
pic

Fig. 07. Resizing the Obconf window with the "Update window contents while resizing" option turned off. Notice that the window contents remain at the previous size, even though the window has been expanded.

Drag threshold distance
the number of pixels a window must be resized before the new size is displayed. For example: if this value is set to 85px, a window will maintain its current size until the cursor with the resize handle has moved 85px away. The minimum value is 1. The maximum value is 100.
Amount of resistance against other windows
a window that is being moved will stop this distance away from other windows and will not overlap them unless the user continues to move the mouse. The minimum value is 0. The maximum value is 100.
Amount of resistance against screen edges
a window that is being moved will stop this distance away from the edges of the screen and will not pass them unless the user continues to move the mouse. The minimum value is 0. The maximum value is 100.
Switch desktops when moving a window past the screen edge
if checked, dragging a window past the edge of the screen will move it to the next virtual desktop
Amount of time to wait before switching
the length of time, in milliseconds, that a window can be held past the edge of the screen without being moved to the next desktop. The minimum value is 100. There is no discernible maximum.

Information Dialog

The information dialog is a small on-screen display that shows the current size of a window while it being resized.

pic

Fig. 08. Information dialog

Show information dialog: When resizing terminal windows/Always/Never
whether the information dialog should always appear (when any window is being resized), never appear or appear only when the window being resized belongs to a terminal
Information dialog’s position: Centered on the window/Above the window/Fixed position on the screen
controls the location of the information dialog. If "Fixed position on the screen" is selected, the user can set that location using the "Fixed x position" and "Fixed y position" controls.

Mouse

pic

Fig. 09. The Mouse tab, with default settings

Focusing Windows

Focus windows when the mouse pointer moves over them
simply placing the cursor over a window will focus it; clicking is not necessary.
Move focus under the mouse when switching desktops
normally, when switching desktops, the last window on the desktop to have the mouse focus will have the mouse focus when you return to that desktop. With this setting, the focus will default to the window that is under the mouse cursor when you change to the new desktop. If there is no window beneath the mouse cursor on the new desktop (e.g., only your desktop background), then the last window that had the mouse focus will retain the focus.
Move focus under the mouse when the mouse is not moving
passing the cursor over a window will not focus it; the cursor must pause on that window to focus it.
Raise windows when the mouse pointer moves over them
moving the cursor over a window will bring that window to the front, in addition to focusing it
Delay before focusing and raising windows
the delay, in milliseconds, before a window will be focused and/or raised when the cursor passes over it. The minimum value is 0. The maximum value is 10,000.

Title Bar

Double click on the title bar: Maximizes the window / Shades the window
sets whether double clicking on a title bar will maximize that window or shade it
Double click time
the allowable delay, in milliseconds, between clicks. The countdown begins with the first click. For example: if the value is set to 4000, the action will occur if the user clicks the title bar twice, and the second click is within 4000 milliseconds of the first. The minimum value is 0. The maximum value is 10,000.

Desktops

pic

Fig. 10. The Desktops tab

Show a notification when switching desktops
when checked, a small notification will be shown when switching desktops
pic

Fig. 11. The desktop-switcher

n-screen display

Amount of time to show the notification for
the time, in milliseconds, in which the notification will be displayed. The minimum value is 1. The maximum value is 10,000
Number of desktops
the number of virtual desktops employed by the user. The minimum value is 1. The maximum value is 100
Desktop names
the user can rename a desktop by double click on it within the list. This name will be displayed on the notification when switching desktops

Margins

pic

Fig 12. The Margins tab

The Margins tab provides its own apt explanation: "Desktop margins are reserved areas on the edge of your screen. New windows will not be placed within a margin, and maximized windows will not cover them."

Margins are useful if, for example, one wishes to have a constantly horizontal conky instance along the edge of the screen.

Dock

pic

Fig 13. The Dock tab

The dock is an area of the screen for certain stand alone windows. For example, if the user eschews the LXPanel in favor of another task manager and system tray, those applications need a place on which they can "anchor" themselves. That place is the dock.

Note: I cannot get the dock to function as advertised. Consequently the above description comes from my research and not first-hand knowledge.

Conclusion

Openbox is an incredibly versatile window manager, and it is impossible to catalogue all of the possibilities. This overview is intended to get the reader started; it is by no means exhaustive. The best method of leaning is to get one’s hands dirty, and the reader should do just that - fire up Obconf and start tinkering with the settings. One never knows what one might find!