Welcome to the community maintained documentation for Openbox! Please help out and add your own articles or improve the ones that are already here.

Welcome to the community maintained documentation for Openbox! Please help out and add your own articles or improve the ones that are already here.

+

+

In order to get full access and contribute in the wiki, all you need to do is prove you are a person. Please see [[Help:RequestWriteAccess|RequestWriteAccess]].

== Getting started ==

== Getting started ==

−

−

[[Help:Getting started|See the getting started guide]] for instructions on getting Openbox up and running.

[[Help:Compiling|The compiling guide]] details what you need to build the latest version of Openbox, and how to install it correctly.

[[Help:Compiling|The compiling guide]] details what you need to build the latest version of Openbox, and how to install it correctly.

−

−

[[Help:Upgrading to 3.4|The upgrading to 3.4 guide]] walks through all the changes made since version 3.3, and there is a lot of them. Some of them mean new configuration options and features available to you, that you need to update your configuration to access.

[[Help:Using Openbox in GNOME|This guide to using Openbox in GNOME]] has instructions for running Openbox in the GNOME desktop environment and getting things to work how you want.

[[Help:Using Openbox in GNOME|This guide to using Openbox in GNOME]] has instructions for running Openbox in the GNOME desktop environment and getting things to work how you want.

Line 20:

Line 18:

[[Help:UsingGit|This guide to using Git]] shows how to get the latest and greatest Openbox code for testing or developing with.

[[Help:UsingGit|This guide to using Git]] shows how to get the latest and greatest Openbox code for testing or developing with.

+

+

[[Help:Upgrading to 3.4|The upgrading to 3.4 guide]] walks through all the changes made since version 3.3, and there is a lot of them. Some of them mean new configuration options and features available to you, that you need to update your configuration to access.

== FAQ ==

== FAQ ==

Line 26:

Line 26:

== Configuration ==

== Configuration ==

−

[[Configuration| Configuration Guide]]

+

[[Help:Configuration| The configuration guide]] has details on the various options you can set in ''rc.xml''.

[[ObConf:About| ObConf]] provides a simple interface to configuring much of Openbox.

[[ObConf:About| ObConf]] provides a simple interface to configuring much of Openbox.

Line 34:

Line 34:

[[Help:Bindings| The key and mouse bindings guide]] shows how to bind actions to keys and mouse buttons.

[[Help:Bindings| The key and mouse bindings guide]] shows how to bind actions to keys and mouse buttons.

−

[[Help:Actions#Introduction| The actions documentation]] lists all of the actions available for key and mouse bindings and the options which can affect their behavior.

+

[[Help:Actions| The actions documentation]] lists all of the actions available for key and mouse bindings and the options which can affect their behavior.

[[Help:Applications| Per-app settings]] let you set properties such as borderless or omnipresent on specific apps.

[[Help:Applications| Per-app settings]] let you set properties such as borderless or omnipresent on specific apps.

−

−

See the inline comments in the [http://git.icculus.org/?p=mikachu/openbox.git;a=blob;f=data/rc.xml;hb=3.4-working default <code>rc.xml</code> file] for now for other options you can set.

[[Help:Menus#Pipe_menus|Pipe menus]] are menus that are generated dynamically when you open them. There are a number of pipe menus available for [[Openbox:Pipemenus|download through here]].

[[Help:Menus#Pipe_menus|Pipe menus]] are menus that are generated dynamically when you open them. There are a number of pipe menus available for [[Openbox:Pipemenus|download through here]].

−

=== Generating an Applications Menu ===

+

=== Generating an applications menu ===

+

There are a number of pipe menus that can generate your applications menu from what packages are installed on the system. See [[Openbox:Pipemenus#Desktop_Environment_Integration|this section]] for a complete list.

There are a number of pipe menus that can generate your applications menu from what packages are installed on the system. See [[Openbox:Pipemenus#Desktop_Environment_Integration|this section]] for a complete list.

== Other resources ==

== Other resources ==

+

+

[http://wiki.archlinux.org/index.php/Openbox The Arch wiki] has a lot of great information on setting up and using Openbox.

+

Many Openbox questions have been answered in forums around the internet. Trying a search may be fruitful.

Many Openbox questions have been answered in forums around the internet. Trying a search may be fruitful.

−

See [[Openbox:Community portal]] for other community resources and '''related projects'''.

+

See [[Openbox:Community portal|community portal]] for other community resources and '''related projects'''.

== Cool programs to run with Openbox ==

== Cool programs to run with Openbox ==

+

+

=== Power management ===

+

+

Tips for [[Power_management| Power management]] and [[Suspend_and_hibernate| Suspend and Hibernate]].

=== Menu Generation ===

=== Menu Generation ===

Line 78:

Line 86:

[[Openbox:Pipemenus|Pipe menus]] are applications that dynamically generate your Openbox menu. They can provide a dynamic applications menu, system information, amongst other fun things. See [[Openbox:Pipemenus|here]] for more information, and to download them.

[[Openbox:Pipemenus|Pipe menus]] are applications that dynamically generate your Openbox menu. They can provide a dynamic applications menu, system information, amongst other fun things. See [[Openbox:Pipemenus|here]] for more information, and to download them.

−

=== Panels, Widgets, Desktops, Pagers, etc.. ===

+

=== Panels, widgets, desktops, pagers, etc.. ===

Besides the programs included in GNOME and KDE...

Besides the programs included in GNOME and KDE...

−

[http://rox.sourceforge.net/desktop/static.html ROX Desktop]

+

* [http://wiki.awn-project.org/ Avant Window Navigator] "(AWN/Awn) is a dock-like navigation bar for the linux desktop that positions itself at the bottom of the screen. It can be used to keep track of open windows and behaves like a normal window list."

−

[http://awn.wetpaint.com/ Avant Window Navigator]

+

* [http://bbdock.nethence.com/ BBDock] "BBDock is an application launcher for Blackbox (and others) that allows you to create application buttons in the slit/dock. It works with PNG files rather than XPM images. It supports alpha blending at 16, 24 and 32 bits color-depth. Also, the raise-window function is available to window managers which implement the EWMH specification." (untested. EWMH capable) Tested by CrossWind, Fully operational!

−

[http://www.kde-look.org/content/show.php?content=12097 kooldock]

+

* [http://bbtools.sourceforge.net/ bbtools] "BB-tools are a number of simple X-Window programs to display the status of different resources. The style and part of the code is copied from Blackbox a small and extremely fast X11-Windowmanager."

* [http://linuxbrit.co.uk/feh/ feh] An image viewer with many features.

−

[http://freshmeat.net/projects/perlpanel/ perlpanel]

+

* [http://sourceforge.net/projects/flauncher/ flauncher] "The project is intendent to replace the common panels (top panel and bottom panel in Gnome). It gives speedup of application management reducing the distance of mouse movements." (An attempt to get the panel functionality into a separate window.)

−

[http://fbpanel.sourceforge.net/ fbpanel]

+

* [http://gdesklets.de/ gDesklets] "gDesklets is a system for bringing mini programs (desklets), such as weather forecasts, news tickers, system information displays, or music player controls, onto your desktop, where they are sitting there in a symbiotic relationship of eye candy and usefulness. The possibilities are really endless and they are always there to serve you whenever you need them, just one key-press away. The system is not restricted to one desktop environment, but currently works on most of the modern Unix desktops (including GNOME, KDE, Xfce)."

−

[http://pypanel.sourceforge.net/ pypanel] - PyPanel is a lightweight panel/taskbar. It can be easily customized to match any desktop theme or taste.

+

* [http://idesk.sourceforge.net/ iDesk] "iDesk gives users of minimal wm's (fluxbox, blackbox, openbox, windowmaker...) icons on their desktop. The icon graphics are either from a png or svg (vector) file and support some eyecandy effects like transparency. Each icon can be confgured to run one or more shell commands and the actions which run those commands are completely configurable. In a nutshell if you want icons on your desktop and you don't have or dont't want KDE or gnome doing it, you can use iDesk."

[http://code.google.com/p/tint2/ Tint Task Manager] (new release) - Tint is a simple panel/taskbar intentionally made for openbox3, but should also work with other window managers

+

* [http://wiki.lxde.org/en/LXPanel LXPanel]

−

[http://www.xfce.org/ xfce4-panel]

+

* [http://projects.l3ib.org/nitrogen/ nitrogen] "Nitrogen is a background browser and setter for X windows. It is written in C++ using the gtkmm toolkit. It can be used in two modes: browser and recall. Nitrogen has been in development for over 2 years, due to real life and laziness. For more info, check out the features section."

* [http://obpager.sourceforge.net/ ObPager] "OBPager is a lightweight pager designed to be used with NetWM-compliant window managers like OpenBox. Unlike many other pagers out there, OBPager has very few dependencies, requiring only Xlib and glibc++ (no Gnome or KDE necessary)."

−

[http://hendrik.kaju.pri.ee/screenlets/?q=node/14 Screenlets]

+

* [http://freshmeat.net/projects/perlpanel/ perlpanel] "PerlPanel is an attempt to build a useable, lean panel program (like Gnome's gnome-panel and KDE's Kicker) in Perl, using GTK 2. It has an object-oriented design for easy customisation and extension, and an applet architecture that means that you can create an applet in a matter of minutes."

−

[http://gdesklets.de/ gDesklets]

+

* [http://pypanel.sourceforge.net/ pypanel] "PyPanel is a lightweight panel/taskbar written in Python and C for X11 window managers. It can be easily customized to match any desktop theme or taste. PyPanel works with EWMH compliant WMs (Openbox, PekWM, FVWM, etc.) and is distributed under the GNU General Public License v2."

−

[http://netdragon.sourceforge.net/ssuperkaramba.html Super Karamba]

+

* [http://pytyle.com PyTyle] "PyTyle is a manual tiling manager that can slide into any EWMH compliant window manager, inspired by XMonad. It will allow you to enable/disable tiling on a per screen per workspace basis, and continually tile your windows."

−

[http://adesklets.sourceforge.net/ adesklets]

+

* [http://rox.sourceforge.net/desktop/static.html ROX Desktop] "ROX is a fast, user friendly desktop which makes extensive use of drag-and-drop. The interface revolves around the file manager, or filer, following the traditional Unix view that `everything is a file' rather than trying to hide the filesystem beneath start menus, wizards, or druids. The aim is to make a system that is well designed and clearly presented. The ROX style favours using several small programs together instead of creating all-in-one mega-applications."

−

[http://conky.sourceforge.net/ conky]

+

* [http://www.screenlets.org/ Screenlets] "Screenlets are small owner-drawn applications (written in Python) that can be described as "the virtual representation of things lying/standing around on your desk". Sticknotes, clocks, rulers, ... the possibilities are endless."

−

[http://obpager.sourceforge.net/ ObPager]

+

* [http://ostatic.com/screenpager Screenpager] "Screenpager is a screenwise pager for X workstations running Xinerama. It works like a desktop pager, but acts at the level of screens. Instead of paging the desktop as a whole, it can page each screen independently, or move pages from screen to screen."

−

[http://bbtools.sourceforge.net/ bbtools]

+

* [http://icculus.org/openbox/tools/setlayout.c Set Layout] A small program to set your desktops into a grid if you do not use a pager.

−

[http://projects.l3ib.org/nitrogen/ nitrogen] - Background manager

+

* [http://stalonetray.sourceforge.net/ stalonetray] "Stalonetray is a stand-alone freedesktop.org and KDE system tray (notification area) for X Window System/X11 (e.g. X.Org or XFree86). It has full XEMBED support and minimal dependencies: an X11 lib only. Stalonetray works with virtually any EWMH-compliant window manager."

* [http://code.google.com/p/superswitcher/ SuperSwitcher] "SuperSwitcher is a (more feature-ful) replacement for the Alt-Tab window switching behavior and Ctrl-Alt-Left/Right/Up/Down workspace switching behavior that is currently provided by Metacity."

[http://icculus.org/openbox/tools/setlayout.c Set Layout] - small program to set your desktops into a grid if you do not use a pager

+

* [http://freshmeat.net/projects/wbar/ wbar] "wbar is a quick launch bar. It's developed with speed in mind and is highly tweakable."

+

* [http://tomas.styblo.name/wmctrl/ wmctrl] "wmctrl is a UNIX/Linux command line tool to interact with an EWMH/NetWM compatible X Window Manager". Example of changing number of desktops:<code><pre>wmctrl -n 4</pre></code>

−

You can find lots of dockapps at [http://www.dockapps.org dockapps.org].

+

* [http://www.xfce.org/ xfce4-panel] "The Xfce panel supports multiple panels, with many options for their position, appearance, transparency and behavior. There are many items available by default to customize your panels, like application launchers with detachable menus, a graphical pager, a tasklist, a clock, a system tray, a show/hide desktop switcher, and even more."

−

Some nice ones are wmCalClock, wmnd, wmix and wmpinboard.

+

−

There are other programs of interest in the [[Openbox:Community_portal|Community portal]].

+

* [http://www.x.org/archive/X11R7.5/doc/man/man1/xprop.1.html xprop] is utility for displaying and changing X server window and font properties. To change number of columns and rows of desktops grid layout run:

* [http://www.semicomplete.com/blog/projects/xdotool xdotool] "lets you simulate keyboard input and mouse activity, move and resize windows, etc. It does this using X11's XTEST extension and other Xlib functions".

+

<code><pre>

+

# focus and raise xterm window

+

xdotool \

+

search \

+

--maxdepth 2 \

+

--onlyvisible \

+

--all \

+

--name xterm \

+

windowfocus \

+

windowraise

+

+

# open Openbox menu, when mouse in top-left corner

+

# (Alt+F1 must be bind to open root-menu)

+

xdotool \

+

behave_screen_edge \

+

--delay 300 \

+

--quiesce 3000 \

+

top-left \

+

key "Alt_L+F1"

+

</pre></code>

+

+

* [https://github.com/ierton/xkb-switch xkb-switch] "is a C++ program that allows to query and change the XKB layout state". Example of using "Win+space" to switch keyboard layout:

+

<code><pre>

+

~/.config/openbox/rc.xml

+

+

<keybind key="W-space">

+

<action name="Execute">

+

<command>xkb-switch --next</command>

+

</action>

+

</keybind>

+

</pre></code>

+

+

You can find lots of dockapps at [http://dockapps.windowmaker.org/ dockapps.windowmaker.org]. Some nice ones are «wmCalClock», «wmnd», «wmix» and «wmpinboard».

+

+

There are other programs of interest in the [[Openbox:Community_portal|community portal]].

== Installing Openbox on Foresight Linux ==

== Installing Openbox on Foresight Linux ==

Line 148:

Line 218:

To install the latest version of Openbox on [http://www.foresightlinux.org Foresight Linux], from the command line, execute:

To install the latest version of Openbox on [http://www.foresightlinux.org Foresight Linux], from the command line, execute:

−

sudo conary update group-openbox

+

sudo conary update openbox obconf obmenu

−

Here's a nice user-contributed tutorial, which includes advice on setting up your Openbox desktop: [http://lindox.org/index.php?/archives/3-Installing-OpenBox-3.4.2-in-Foresight-Linux.html Installing Openbox in Foresight Linux]

+

Here's a nice user-contributed tutorial, which includes advice on setting up your Openbox desktop: [http://linux-blog.org/installing-openbox-on-foresight-linux/ Installing Openbox in Foresight Linux]

The upgrading to 3.4 guide walks through all the changes made since version 3.3, and there is a lot of them. Some of them mean new configuration options and features available to you, that you need to update your configuration to access.

Cool programs to run with Openbox

Power management

Menu Generation

Pipe menus are applications that dynamically generate your Openbox menu. They can provide a dynamic applications menu, system information, amongst other fun things. See here for more information, and to download them.

Panels, widgets, desktops, pagers, etc..

Besides the programs included in GNOME and KDE...

Avant Window Navigator "(AWN/Awn) is a dock-like navigation bar for the linux desktop that positions itself at the bottom of the screen. It can be used to keep track of open windows and behaves like a normal window list."

BBDock "BBDock is an application launcher for Blackbox (and others) that allows you to create application buttons in the slit/dock. It works with PNG files rather than XPM images. It supports alpha blending at 16, 24 and 32 bits color-depth. Also, the raise-window function is available to window managers which implement the EWMH specification." (untested. EWMH capable) Tested by CrossWind, Fully operational!

bbtools "BB-tools are a number of simple X-Window programs to display the status of different resources. The style and part of the code is copied from Blackbox a small and extremely fast X11-Windowmanager."

flauncher "The project is intendent to replace the common panels (top panel and bottom panel in Gnome). It gives speedup of application management reducing the distance of mouse movements." (An attempt to get the panel functionality into a separate window.)

gDesklets "gDesklets is a system for bringing mini programs (desklets), such as weather forecasts, news tickers, system information displays, or music player controls, onto your desktop, where they are sitting there in a symbiotic relationship of eye candy and usefulness. The possibilities are really endless and they are always there to serve you whenever you need them, just one key-press away. The system is not restricted to one desktop environment, but currently works on most of the modern Unix desktops (including GNOME, KDE, Xfce)."

iDesk "iDesk gives users of minimal wm's (fluxbox, blackbox, openbox, windowmaker...) icons on their desktop. The icon graphics are either from a png or svg (vector) file and support some eyecandy effects like transparency. Each icon can be confgured to run one or more shell commands and the actions which run those commands are completely configurable. In a nutshell if you want icons on your desktop and you don't have or dont't want KDE or gnome doing it, you can use iDesk."

nitrogen "Nitrogen is a background browser and setter for X windows. It is written in C++ using the gtkmm toolkit. It can be used in two modes: browser and recall. Nitrogen has been in development for over 2 years, due to real life and laziness. For more info, check out the features section."

ObPager "OBPager is a lightweight pager designed to be used with NetWM-compliant window managers like OpenBox. Unlike many other pagers out there, OBPager has very few dependencies, requiring only Xlib and glibc++ (no Gnome or KDE necessary)."

perlpanel "PerlPanel is an attempt to build a useable, lean panel program (like Gnome's gnome-panel and KDE's Kicker) in Perl, using GTK 2. It has an object-oriented design for easy customisation and extension, and an applet architecture that means that you can create an applet in a matter of minutes."

pypanel "PyPanel is a lightweight panel/taskbar written in Python and C for X11 window managers. It can be easily customized to match any desktop theme or taste. PyPanel works with EWMH compliant WMs (Openbox, PekWM, FVWM, etc.) and is distributed under the GNU General Public License v2."

PyTyle "PyTyle is a manual tiling manager that can slide into any EWMH compliant window manager, inspired by XMonad. It will allow you to enable/disable tiling on a per screen per workspace basis, and continually tile your windows."

ROX Desktop "ROX is a fast, user friendly desktop which makes extensive use of drag-and-drop. The interface revolves around the file manager, or filer, following the traditional Unix view that `everything is a file' rather than trying to hide the filesystem beneath start menus, wizards, or druids. The aim is to make a system that is well designed and clearly presented. The ROX style favours using several small programs together instead of creating all-in-one mega-applications."

Screenlets "Screenlets are small owner-drawn applications (written in Python) that can be described as "the virtual representation of things lying/standing around on your desk". Sticknotes, clocks, rulers, ... the possibilities are endless."

Screenpager "Screenpager is a screenwise pager for X workstations running Xinerama. It works like a desktop pager, but acts at the level of screens. Instead of paging the desktop as a whole, it can page each screen independently, or move pages from screen to screen."

Set Layout A small program to set your desktops into a grid if you do not use a pager.

stalonetray "Stalonetray is a stand-alone freedesktop.org and KDE system tray (notification area) for X Window System/X11 (e.g. X.Org or XFree86). It has full XEMBED support and minimal dependencies: an X11 lib only. Stalonetray works with virtually any EWMH-compliant window manager."

SuperSwitcher "SuperSwitcher is a (more feature-ful) replacement for the Alt-Tab window switching behavior and Ctrl-Alt-Left/Right/Up/Down workspace switching behavior that is currently provided by Metacity."

wbar "wbar is a quick launch bar. It's developed with speed in mind and is highly tweakable."

wmctrl "wmctrl is a UNIX/Linux command line tool to interact with an EWMH/NetWM compatible X Window Manager". Example of changing number of desktops:

wmctrl -n 4

xfce4-panel "The Xfce panel supports multiple panels, with many options for their position, appearance, transparency and behavior. There are many items available by default to customize your panels, like application launchers with detachable menus, a graphical pager, a tasklist, a clock, a system tray, a show/hide desktop switcher, and even more."

xprop is utility for displaying and changing X server window and font properties. To change number of columns and rows of desktops grid layout run: