| Openbox Window Manager | |
|---|---|
| Basic Openbox session | |
| Developers | Dana Jansens, [1] [2] Mikael Magnusson [3] |
| Initial release | 18 September 2002 |
| Stable release | |
| Repository | |
| Written in | C |
| Operating system | Unix-like |
| Type | Stacking window manager |
| License | GPL 2.0 or later [5] |
| Website | openbox |
Openbox is a free, stacking window manager for the X Window System, licensed under the GNU General Public License. [5] Originally derived from Blackbox [5] 0.65.0 (a C++ project), Openbox has been completely re-written in the C programming language and since version 3.0 is no longer based upon any code from Blackbox. [6] Since at least 2010, it has been considered feature complete, bug free and a completed project. Occasional maintenance is done to keep it working, but only if needed. [7]
Openbox is designed to be small, fast, and fully compliant with the Inter-Client Communication Conventions Manual (ICCCM) and Extended Window Manager Hints (EWMH). [8] It supports many features such as menus by which the user can control applications or which display various dynamic information. [5]
Openbox is the standard window manager in LXDE, and often set as the default for LXQt. It is used in Linux distributions such as BunsenLabs, GreenBANG, Lubuntu, Trisquel and Manjaro. [9] [10] [11] [12] [13] [14] [15] [16]
The creator and primary author of Openbox is Dana Jansens of Carleton University in Ottawa, Ontario, Canada. [1] [17]
Openbox provides a right-click (or any other key-binding) "root menu" on the desktop, [5] and allows users to configure the way windows are managed. When a window is minimized, it becomes invisible. To bring windows up again, most use Alt+Tab ↹ or the Desktop menu, accessible by right-clicking. Or, sometimes, by middle-button-clicking. Extending Openbox with other small programs that add icons, taskbars, [5] launchers, eyecandy and others is common.
There are only two configuration files, both located in ~/.config/openbox. They are named menu.xml and rc.xml. These can either be edited manually or with the graphical configuration tools ObConf and obmenu. [5] [18] [19]
All mouse and key-bindings can be configured. For example, a user can set:
Openbox has a dynamic menu system that uses "pipe menus". [5] [20] A menu item in a piped menu system can accept the standard output of a shell script (or other executable) in order to generate a sub-menu. Because the script runs every time the pointer activates it, and as the script can assess environmental conditions, piped menus enable conditional branching to be built into the menu system.[ citation needed ] When the window manager is restarted, a static menu system as used on most window managers gets its layout once and will not have the ability to modify the menu layout depending on environmental factors.[ citation needed ]