Help:Contents

From Openbox

(Difference between revisions)
Jump to: navigation, search
(Panels, Widgets, Desktops, Pagers, etc..)
(Undo revision 3875 by Spoiledbroth (talk))
(15 intermediate revisions by one user not shown)
Line 3: Line 3:
 
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]].
 
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 ==
+
==rc.xml==
 +
===[[Help:Configuration|Configuration]]===
 +
*The configuration documentation has details on the various options you can set in ''rc.xml''.
 +
===[[Help:Applications| Application settings]]===
 +
*Customize properties such as borders, geometry, workspace presence, layering etc. on a per-application basis.
 +
=== Mouse & keybindings ===
 +
====[[Help:Bindings| Binding documentation]]====
 +
*Improve productivity and customize the function of your desktop by binding actions to key/mouse buttons (commonly called hot keys).
 +
====[[Help:Actions| Actions]]====
 +
*Comprehensive documentation of all actions available for key and mouse bindings and the options which can affect their behavior.
 +
== Menus ==
 +
=== [[Help:Menus|Menu documentation]]===
 +
*Describes how to set up your own menus in Openbox.
 +
===[[Help:Actions#Introduction|Actions]]===
 +
*The actions documentation lists all of the actions available for use in Openbox menus.
 +
===[[Help:Menus#Pipe_menus|Pipe menus]]===
 +
*Documentation of the pipe menu function. If you're looking for scripts there are a number of pipe menus available [[Openbox:Pipemenus|on the community page]].
 +
===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#Application_Menus|this section]] for a complete list.
  
[[Help:Compiling|The compiling guide]] details what you need to build the latest version of Openbox, and how to install it correctly.
+
== Themes ==
 +
===[[Help:Themes|Theme specification]]===
 +
*Comprehensive detail and documentation all of the elements found in an Openbox theme.
 +
===[[Help:Upgrading_to_3.4#Themes|Openbox 3.4 theme file changes]]===
 +
*Details differences between 3.3->3.4 theme files
 +
*A tool to help with [http://icculus.org/openbox/tools/themeupdate.py converting blackbox/fluxbox themes] to Openbox themes. (For non-xpm-based themes.)
  
[[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.
+
== Desktop Environments ==
 +
=== [[Help:Using Openbox in GNOME|Openbox in GNOME]]===
 +
*Instructions for running Openbox in the GNOME desktop environment and getting things to work how you want.
 +
===[[Help:Using Openbox in KDE|Openbox in KDE]]===
 +
*Instructions for running Openbox in K Desktop Environment.
 +
===[[Help:XFCE/Openbox|Openbox in XFCE]]===
 +
*Instructions for running Openbox in the XFCE desktop enviroment.
  
[[Help:Using Openbox in KDE|This guide to using Openbox in KDE]] has instructions for running Openbox in K Desktop Environment.
+
== No Desktop Environment ==
 +
===[[Help:Openbox-session|openbox-session]]===
 +
*Running Openbox outside of common desktop environments and community maintained list of applications/widgets to enhance functionality of Openbox.
 +
===[[Help:Autostart|Autostart]]===
 +
*The autostart documentation gives instructions on how to launch programs with Openbox at startup (when not running Openbox inside a full desktop environment like XFCE or KDE).
  
[[Help:XFCE/Openbox|This guide to using Openbox in XFCE]] has instructions for running Openbox in the XFCE desktop enviroment.
+
== Miscellaneous ==
 +
=== rc.xml Configuration examples ===
 +
*[[Help:DefaultConfiguration|rc.xml Configuration reference]] - Lists all default key bindings and default configuration.
 +
*[[Help:MouseFocusExample| Focus-follows-mouse]] - This configuration is similar to the default configuration, but has more suitable mouse bindings for focus-follows-mouse that won't interfere with your windows' stacking order.
 +
*[[Help:ClaysViStyleSpatial|Vi-styled bindings]] - Two examples of Vi-style keybindings (by [[User:Rcbarnes|Clay Barnes]]).
 +
*[[Help:WindowsInteractionWithWindowsKey| "Windows"/Super key control]] - Example of using the "Windows" AKA. Super key to control windows (by [[User:Deters|Deters]]).
 +
*[[Help:IrssiStyleFocus|Irssi-style window switching]]
  
[[Help:DefaultConfiguration|The details of the default configuration]] page lists all the default key bindings.
+
===[[Help:Features|Feature list]]===
 +
*A list of features found in the Openbox windowmanager.
  
[[Help:Features|A list of some features]] found in Openbox.
+
===[[Help:FAQ| Frequently asked questions]]===
  
[[Help:UsingGit|This guide to using Git]] shows how to get the latest and greatest Openbox code for testing or developing with.
+
===[[Help:Compiling|Compiling from source]]===
 +
*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:UsingGit|Using Git]]===
 +
*Explains how to get bleeding-edge Openbox code for testing or developing with.
  
== FAQ ==
+
===[[ObConf:About| ObConf]]===
[[Help:FAQ| Frequently asked questions]].
+
*Obconf provides a simple graphical user interface to ease configuration for new Openbox users.
  
== Configuration ==
+
=== [[Help:Upgrading to 3.4|Upgrading to 3.4]] ===
 
+
*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: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.
+
 
+
[[Help:Autostart| The autostart guide]] gives instructions on how to launch programs with Openbox at startup (when not running Openbox inside KDE or GNOME).
+
 
+
[[Help:Bindings| The key and mouse bindings guide]] shows how to bind actions to keys and mouse buttons.
+
 
+
[[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.
+
 
+
=== Examples ===
+
 
+
[[Help:MouseFocusExample| A configuration file for focus-follows-mouse]]. This configuration is similar to the default configuration, but has more suitable mouse bindings for focus-follows-mouse that won't interfere with your windows' stacking order.
+
 
+
[[Help:ClaysViStyleSpatial| A configuration file for vi-styled bindings]] (by [[User:Rcbarnes|Clay Barnes]]).
+
 
+
[[Help:WindowsInteractionWithWindowsKey| Manipulating windows with the "Windows" key (aka "Super" key)]] (by [[User:Deters|Deters]]).
+
 
+
How to use [[Help:IrssiStyleFocus|Irssi-style window switching]].
+
<!--
+
A [[Help:ClaysViStyleTraditional|second configuration file for vi-styled bindings]] that is less spatially-oriented and which follows traditional vi-bindings much more closely (by [[User:Rcbarnes|Clay Barnes]]).-->
+
 
+
== Themes ==
+
[[Help:Themes|The complete theme specification]] details all of the elements found in an Openbox theme.
+
 
+
[[Help:Upgrading_to_3.4#Themes|Theme file changes in Openbox 3.4]].
+
 
+
A tool to help with [http://icculus.org/openbox/tools/themeupdate.py converting blackbox/fluxbox themes] to Openbox themes. (For non-xpm-based themes.)
+
 
+
== Menus ==
+
[[Help:Menus|The menu documentation]] decribes how to set up your own menus in Openbox.
+
 
+
[[Help:Actions#Introduction|The actions documentation]] lists all of the actions available for use in Openbox menus.
+
 
+
[[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 ===
+
 
+
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.
+
*[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.
+
 
+
See [[Openbox:Community portal|community portal]] for other community resources and '''related projects'''.
+
 
+
== Cool programs to run with Openbox ==
+
 
+
=== Power management ===
+
 
+
Tips for [[Power_management| Power management]] and [[Suspend_and_hibernate| Suspend and Hibernate]].
+
 
+
=== Menu Generation ===
+
 
+
[[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.. ===
+
 
+
Besides the programs included in GNOME and KDE...
+
 
+
* [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://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://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://code.google.com/p/bmpanel2/ bmpanel2] "Nice NETWM-compatible panel for X11."
+
 
+
* [http://conky.sourceforge.net/ conky] "Conky is a free, light-weight system monitor for X, that displays any information on your desktop. Conky is licensed under the GPL and runs on Linux and BSD."
+
 
+
* [http://fbpanel.sourceforge.net/ fbpanel] "fbpanel is a lightweight, NETWM compliant desktop panel. It works with any NETWM compliant window manager (e.g. xfwm4, sawfish, openbox, metacity, kde wm)"
+
 
+
* [http://linuxbrit.co.uk/feh/ feh] An image viewer with many features.
+
 
+
* [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://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://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://www.kde-look.org/content/show.php?content=12097 kooldock] "A kool dock for KDE. It attemps to resemble the Mac OSX dock."
+
 
+
* [http://wiki.lxde.org/en/LXPanel LXPanel]
+
 
+
* [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://code.google.com/p/oboinus/ Oboinus] "X11 background previewer and setter."
+
 
+
* [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://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://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://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://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://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://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://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://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://netdragon.sourceforge.net/ssuperkaramba.html Super Karamba] "SuperKaramba is, in simple terms, a tool that allows you to easily create interactive eye-candy on your KDE desktop."
+
 
+
* [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://code.google.com/p/tint2/ tint2 panel/taskbar] "tint2 is a simple panel/taskbar unintrusive and light (memory / cpu / aestetic)."
+
 
+
* [http://code.l3ib.org/?p=visibility-python.git;a=summary visibility-python] "gtk2 x11 pager / window list." (click snapshot to download a .tar.gz)
+
 
+
* [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>
+
 
+
* [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."
+
 
+
* [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:
+
<code><pre>xprop \
+
  -root \
+
  -format _NET_DESKTOP_LAYOUT 32c \
+
  -set _NET_DESKTOP_LAYOUT &lt;orientation&gt;,&lt;columns&gt;,&lt;rows&gt;,&lt;starting_corner&gt;</pre></code>
+
: where <orientation> is «0» or «1»; <starting_corner> is «0», «1», «2» or «3»; <columns>, <rows> - number of columns and rows respectively ([http://standards.freedesktop.org/wm-spec/1.3/ar01s03.html more]). Example:
+
<code><pre>xprop \
+
  -root \
+
  -format _NET_DESKTOP_LAYOUT 32c \
+
  -set _NET_DESKTOP_LAYOUT 0,2,2,0</pre></code>
+
 
+
* [https://github.com/hanschen/ksuperkey ksuperkey] (daemon) uses XTEST extension to bind the modifier key (like ctrl, alt (meta), windows (super)) to any shortcut (like Alt+F1).
+
<code><pre>
+
~/.config/openbox/rc.xml
+
 
+
<keybind key="A-F1">
+
  <action name="ShowMenu">
+
      <menu>root-menu</menu>
+
  </action>
+
</keybind>
+
 
+
~/.config/openbox/autostart
+
 
+
ksuperkey -e 'Super_L=Alt_L|F1' &
+
</pre></code>
+
: This allow you to open Openbox menu using super (windows) key.
+
 
+
* [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».
+
*Many Openbox questions have been answered in forums around the internet. Trying a search may be fruitful.
  
There are other programs of interest in the [[Openbox:Community_portal|community portal]].
+
*See [[Openbox:Community portal|community portal]] for other community resources and '''related projects'''.
  
 +
<!-- ??? is this necessary? - Spoiledbroth
 
== Installing Openbox on Foresight Linux ==
 
== Installing Openbox on Foresight Linux ==
  
Line 227: Line 91:
  
 
  apt-get install openbox
 
  apt-get install openbox
 +
-->

Revision as of 20:39, 2 March 2018

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 RequestWriteAccess.

Contents

rc.xml

Configuration

  • The configuration documentation has details on the various options you can set in rc.xml.

Application settings

  • Customize properties such as borders, geometry, workspace presence, layering etc. on a per-application basis.

Mouse & keybindings

Binding documentation

  • Improve productivity and customize the function of your desktop by binding actions to key/mouse buttons (commonly called hot keys).

Actions

  • Comprehensive documentation of all actions available for key and mouse bindings and the options which can affect their behavior.

Menus

Menu documentation

  • Describes how to set up your own menus in Openbox.

Actions

  • The actions documentation lists all of the actions available for use in Openbox menus.

Pipe menus

  • Documentation of the pipe menu function. If you're looking for scripts there are a number of pipe menus available on the community page.

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 this section for a complete list.

Themes

Theme specification

  • Comprehensive detail and documentation all of the elements found in an Openbox theme.

Openbox 3.4 theme file changes

Desktop Environments

Openbox in GNOME

  • Instructions for running Openbox in the GNOME desktop environment and getting things to work how you want.

Openbox in KDE

  • Instructions for running Openbox in K Desktop Environment.

Openbox in XFCE

  • Instructions for running Openbox in the XFCE desktop enviroment.

No Desktop Environment

openbox-session

  • Running Openbox outside of common desktop environments and community maintained list of applications/widgets to enhance functionality of Openbox.

Autostart

  • The autostart documentation gives instructions on how to launch programs with Openbox at startup (when not running Openbox inside a full desktop environment like XFCE or KDE).

Miscellaneous

rc.xml Configuration examples

Feature list

  • A list of features found in the Openbox windowmanager.

Frequently asked questions

Compiling from source

  • Details what you need to build the latest version of Openbox, and how to install it correctly.

Using Git

  • Explains how to get bleeding-edge Openbox code for testing or developing with.

ObConf

  • Obconf provides a simple graphical user interface to ease configuration for new Openbox users.

Upgrading to 3.4

  • 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.

Other resources

  • 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.


Personal tools