Adding debian version 3.5.0-4. debian/3.5.0-4
authorDaniel Baumann <daniel@debian.org>
Mon, 9 Jul 2012 16:34:21 +0000 (18:34 +0200)
committerDaniel Baumann <daniel@debian.org>
Mon, 9 Jul 2012 16:34:21 +0000 (18:34 +0200)
52 files changed:
debian/NEWS.Debian [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/docs/build.html [new file with mode: 0644]
debian/docs/config.html [new file with mode: 0644]
debian/docs/details.html [new file with mode: 0644]
debian/docs/toc.html [new file with mode: 0644]
debian/gdm-control.pod [new file with mode: 0644]
debian/gnome-panel-control.install [new file with mode: 0644]
debian/gnome-panel-control.manpages [new file with mode: 0644]
debian/gnome-panel-control.pod [new file with mode: 0644]
debian/kdetrayproxy.pod [new file with mode: 0644]
debian/libobrender27.docs [new file with mode: 0644]
debian/libobrender27.install [new file with mode: 0644]
debian/libobrender27.symbols [new file with mode: 0644]
debian/libobt0.docs [new file with mode: 0644]
debian/libobt0.install [new file with mode: 0644]
debian/libobt0.symbols [new file with mode: 0644]
debian/menu.xml [new file with mode: 0644]
debian/openbox-dev.dirs [new file with mode: 0644]
debian/openbox-dev.docs [new file with mode: 0644]
debian/openbox-dev.install [new file with mode: 0644]
debian/openbox.dirs [new file with mode: 0644]
debian/openbox.doc-base [new file with mode: 0644]
debian/openbox.docs [new file with mode: 0644]
debian/openbox.install [new file with mode: 0644]
debian/openbox.links [new file with mode: 0644]
debian/openbox.maintscript [new file with mode: 0644]
debian/openbox.manpages [new file with mode: 0644]
debian/openbox.menu [new file with mode: 0644]
debian/openbox.menu-method [new file with mode: 0644]
debian/openbox.pod [new file with mode: 0644]
debian/openbox.postinst [new file with mode: 0644]
debian/openbox.postrm [new file with mode: 0644]
debian/openbox.preinst [new file with mode: 0644]
debian/openbox.prerm [new file with mode: 0644]
debian/openbox.xpm [new file with mode: 0644]
debian/patches/01_rc.xml.patch [new file with mode: 0644]
debian/patches/02_fix_freedesktop_compliance.patch [new file with mode: 0644]
debian/patches/03_place_windows_in_quadrants.patch [new file with mode: 0644]
debian/patches/04_xsession.desktop_translation.patch [new file with mode: 0644]
debian/patches/05_simplify_gnome_session.patch [new file with mode: 0644]
debian/patches/07_fix_xml_load_file.patch [new file with mode: 0644]
debian/patches/666676_wrong_undecorated_window_placement.patch [new file with mode: 0644]
debian/patches/675991_fix_crash_from_gtk3_apps.patch [new file with mode: 0644]
debian/patches/90_fix_link_obt.patch [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/watch [new file with mode: 0644]

diff --git a/debian/NEWS.Debian b/debian/NEWS.Debian
new file mode 100644 (file)
index 0000000..a782468
--- /dev/null
@@ -0,0 +1,42 @@
+openbox (3.5.0-1) unstable; urgency=low
+
+  Be aware of the following changes when upgrading to openbox 3.5
+  or later:
+
+    - There is a new config file called environment that you should 
+      copy from /etc/xdg/openbox to ~/.config/openbox
+    - The config file previously called autostart.sh is now just called
+      autostart. You should rename yours to remove the .sh from the end
+      of the name.
+    - Some of the configuration grammar in rc.xml has changed. While Openbox
+      appears to understand the old options, it would be wise to compare
+      your configuration to the one in /etc/xdg/openbox and look for changes
+      that affect you. 
+
+ -- Nico Golde <nion@debian.org>  Sun, 31 Oct 2011 23:41:20 +0200
+
+openbox (3.4.2-1) unstable; urgency=low
+
+  - The 3.4.x release introduced quite a few changes and improvements
+    for users. Make sure to read:
+    http://icculus.org/openbox/index.php/Help:Upgrading_to_3.4
+    to take advantage of them.
+
+ -- Nico Golde <nion@debian.org>  Sun, 15 Jul 2007 23:17:28 +0200
+
+openbox (3.0-1) unstable; urgency=low
+
+  - Openbox 3 is rewritten from scratch in C, and is now licenced under the
+    GNU General Public Licence.  Prior versions of Openbox was written in
+    C++, and based on Blackbox 0.65.0 codebase.
+    
+    The format for configuration files, menu files, and theme files has
+    been changed, so if you're upgrading from Openbox 2, you will have to
+    convert your existing setup to the new formats.  The included script
+    /usr/share/openbox/themeupdate.py may be helpful when converting themes,
+    while configuration and menu files must be done manually.
+
+    You might want to postpone upgrading this package (or downgrade it
+    if you already have), if you do not want to do the conversion now.
+
+ -- Tore Anderson <tore@debian.org>  Tue, 18 Nov 2003 19:46:48 +0100
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..8ece5d6
--- /dev/null
@@ -0,0 +1,822 @@
+openbox (3.5.0-4) unstable; urgency=low
+
+  * Fix crash on unexpected NET_WM_MOVERESIZE_CANCEL messages
+    (675991_fix_crash_from_gtk3_apps.patch; Closes: #675991).
+  * Make undecorated windows place according to their undecorated
+    state (666676_wrong_undecorated_window_placement.patch; Closes: #666676)
+
+ -- Nico Golde <nion@debian.org>  Tue, 05 Jun 2012 07:18:19 +0200
+
+openbox (3.5.0-3) unstable; urgency=low
+
+  * Apply Ubuntu patches, thanks a lot! (Closes: #647852)
+  * debian/control:
+    - Remove libxft-dev and libxau-dev build-depends, not needed anymore.
+    - Add depends on libimlib2-dev for openbox-dev, needed to build against
+      openbox-dev.
+    - Build-depends on dh-autoreconf and autopoint.
+  * debian/openbox-dev.install:
+    - Install directly .so files.
+  * Bump policy versoin to 3.9.3.
+  * debian/openbox-dev.links:
+    - Remove since the .so files are installed.
+  * debian/openbox.install
+    - Install all locales and all themes.
+    - Install .desktop and pixmap files.
+    - Install menu.xml.
+  * debian/rules:
+    - Use CFLAGS += instead of CFLAGS =.
+    - Use dh_install --list-missing.
+    - Use --with autoreconf, needed by 90_fix_link_obt.patch.
+  * debian/patches:
+     - 90_fix_link_obt.patch : From upstream, fix linker issue with libobt.
+  * debian/*.symbols:
+     - Add symbols files.
+  * debian/README.source
+     - Remove, not needed with source format 3.0 (quilt).
+  * Remove broken symlink to libobparser.so.27.0.1 (Closes: #653119).
+  * Use maintscript support in dh_installdeb rather than writing out
+    dpkg-maintscript-helper commands by hand.  We now simply Pre-Depend on a
+    new enough version of dpkg rather than using 'dpkg-maintscript-helper
+    supports' guards, leading to more predictable behaviour on upgrades.
+    Thanks Colin Watson! (Closes: #659785)
+
+ -- Nico Golde <nion@debian.org>  Fri, 11 May 2012 06:00:28 +0200
+
+openbox (3.5.0-2) unstable; urgency=low
+
+  * Document changes to be made after upgrade to 3.5 (Closes: #644754).
+    - Ship new environment configuration file.
+    - Remove old autostart.sh conffile (Closes: #645441).
+    - Add notes in NEWS.Debian to state configuration changes to be made
+      with the new 3.5.0 release.
+    - Thanks Julien Valroff!
+  * Add 'set -e' to openbox preinst script.
+  * Drop useless build-dependency on quilt.
+  * Register HTML documentation via doc-base.
+  * openbox.menu-method: Add icon assignment statements into the
+    openbox menu (Closes: #645952).
+  * Add libimlib2-dev to build-dependencies to support icons in
+    menus (Closes: #645944).
+  * Fix loading of /var/lib/openbox/debian-menu.xml (Closes: #644756).
+    - remove debian-menu.xml from rc.xml and only load the file from
+      /var/lib/openbox to prevent confusing errors in xsessions-errors.
+
+ -- Nico Golde <nion@debian.org>  Sun, 31 Oct 2011 23:41:20 +0200
+
+openbox (3.5.0-1) unstable; urgency=low
+
+  [Nico Golde]
+  * New upstream release (Closes: #638783).
+    - Fix crashes in the menu code (Closes: #563891).
+  * Add Brazilian translation to openbox.desktop,
+    thanks Sérgio Cipolla (Closes: #627912).
+  * Remove 06_fix_swap_byte_order.patch, applied upstream.
+  * Bump debhelper dependency to >= 7.0.50~ due to override.
+  * Remove CHANGELOG from openbox.docs to prevent double installation.
+  * Add 02_fix_freedesktop_compliance.dpatch desktop file to
+    /usr/share/applications.
+
+  [Eugenio Paolantonio]
+  * debian/patches:
+    - Disabled 03_place_windows_in_quadrants.patch
+    - Updated 01_rc.xml.patch and 06_fix_swap_byte_order.patch
+    - Removed 04_fix_ftbfs_no-add-needed.patch and 20_24bits_support.patch
+  * debian/control:
+    - Added myself to the Uploaders.
+    - Build-Depends: removed libxau-dev, libxft-dev and python-xdg;
+      added libimlib2-dev
+    - openbox Suggests: added python-xdg
+    - libobrender21 renamed to libobrender27
+    - libobparser21 renamed to libobt0
+  * debian/rules:
+    - Rewrote using a simpler debhelper syntax
+    - Moved the install pass to openbox.install
+  * debian/*.{install,links,dirs}:
+    - Updated.
+  * debian/openbox.xsession:
+    - Removed. Openbox now ships it by default.
+
+ -- Nico Golde <nion@debian.org>  Sun, 03 Oct 2011 22:59:30 +0200
+
+openbox (3.4.11.2-2) unstable; urgency=low
+
+  * Remove gnome-panel-control files from openbox binary package
+    (Closes: #627812).
+
+ -- Nico Golde <nion@debian.org>  Wed, 25 May 2011 16:49:57 +0200
+
+openbox (3.4.11.2-1) unstable; urgency=low
+
+  * "New" upstream release (Closes: #599818).
+  * Fix FTBFS with ld --no-add-needed/gold (Closes: #609317)
+    - Link gdm-control against Xau.
+    - Build-depend on autoconf and automake1.9.
+    - Thanks to Felix Geyer!
+  * Update install files for libobparser/libobrender as the shared
+    library minor version changed.
+  * openbox-dev: Add libxml2-dev, libglib2.0-dev, libxft-dev, libpango1.0-dev
+    to Depends (Closes: #603305).
+  * Simplify gnome session script
+    (Closes: #604043; 05_simplify_gnome_session.patch).
+    - Thanks Jim Paris for the patch!
+  * Add hunk to 01_rc.xml.patch to fix double closed xml comment
+    (Closes: #592589).
+  * Change the unique id in openbox menu-methods to $section
+    (Closes: #586306).
+    - Thanks Bill Allombert!
+  * Given that the included documentation about configuring openbox is rather
+    bad, move obconf to Recommends from Suggests (Closes: #597972).
+  * Add python-xdg to depends, install xdg-autostart to
+    /usr/lib/openbox (Closes: #587283)
+  * Add upstream patch for 24 bit video support
+    (Closes: #606137; 20_24bits_support.patch).
+  * Fix incorrect loop in swap_byte_order (06_fix_swap_byte_order.patch).
+  * Split gnome-panel-control in its own binary package due to its nature
+    not necessary being bound to openbox (Closes: #602594).
+  * Do not install libobparser.la and libobrender.la files anymore as they
+    are not needed (Closes: #622425).
+  * Bump standards version, no changes needed.
+  * Change menu conflict of openbox to Breaks.
+  * Move BSD license text directly into debian/copyright as it may be removed
+    from base-files in the future.
+
+ -- Nico Golde <nion@debian.org>  Sun, 22 May 2011 19:27:57 +0200
+
+openbox (3.4.11.1-1) unstable; urgency=low
+
+  * New upstream release (Closes: #570441).
+    - removed wrong use of test command in openbox-gnome-session leading
+      to misbehaviour with gnome sessions (Closes: #566685).
+  * Add obxprop to the installed files (Closes: #564292).
+  * Removed 04_escape_session_names.dpatch/03_nextprev-xinerama.dpatch
+    completely from debian/, wasn't used anymore anyway.
+  * Bump standards version, no changes needed.
+  * Update install files for libobparser/libobrender and links in openbox-dev
+    as the shared library minor version changed.
+  * Update install paths of openbox-dev files to reflect upstream changes
+    and install all header files rather than pick them manually.
+  * Switch to regular paragraphs from asterisks in NEWS file.
+  * Change short description of openbox-dev to differ from openbox.
+  * Switch to dpkg-source 3.0 (quilt) format
+    - switch from dpatch to quilt patches.
+  * Adding ${misc:Depends} to openbox-dev.
+
+ -- Nico Golde <nion@debian.org>  Fri, 23 Apr 2010 16:26:22 +0200
+
+openbox (3.4.10-1) unstable; urgency=low
+
+  * New upstream release.
+  * Add ${misc:Depends} to Depends of libobparser21,libobrender and openbox.
+  * Add dummy README.source file.
+  * Update install files for libobparser/libobrender as the shared
+    library minor version changed.
+
+ -- Nico Golde <nion@debian.org>  Sat, 02 Jan 2010 14:55:54 +0100
+
+openbox (3.4.9-2) unstable; urgency=low
+
+  * Add libxau-dev to build-depends as it was previously only installed
+    as a transitive dependency by other dependencies (Closes: #555787).
+    Previous fix incomplete.
+
+ -- Nico Golde <nion@debian.org>  Sat, 02 Jan 2010 14:42:16 +0100
+
+openbox (3.4.9-1) unstable; urgency=low
+
+  * New upstream release
+    - Prevent focus from moving under the mouse after activating a window
+      with an openbox menu (Closes: #517038)
+    - NOTE: this release introduces a new tool named obprop. I did not
+      include this tool in the package yet as it has no manual page and it's
+      use is probably limited for most users.
+  * Add libx11-dev to build-depends as it was previously only installed
+    as a transitive dependency by other dependencies (Closes: #555787).
+  * Update install files for libobparser/libobrender as the shared
+    library minor version changed.
+
+ -- Nico Golde <nion@debian.org>  Fri, 01 Jan 2010 22:26:10 +0100
+
+openbox (3.4.8-1) unstable; urgency=low
+
+  * New upstream release (Closes: #561247).
+    + Drop 03_nextprev-xinerama.dpatch included upstream.
+    + Drop 04_escape_session_names.dpatch included upstream.
+    + Drop 05_fix_gnome_session.dpatch included upstream.
+    + Drop 06_resepect_xdg_home.dpatch included upstream.
+    + Show desktop switch box on every monitor (Closes: #487382).
+  * Categorize openbox.desktop in System, maybe remove that file
+    alltogether at a later point (Closes: #544839).
+  * Remove Anibal Avelar from uploaders, not active anyway. Thanks
+    for your previous work!
+  * Integrate patch my Marc Brockschmidt to make MoveResize understand
+    BelowCenter/AboveCente/LeftOfCenter/RightOfCenter, thanks!
+    (03_place_windows_in_quadrants; Closes: #544538).
+  * Update install files for libobparser/libobrender as the shared
+    library minor version changed.
+  * Bump standards version, no changes needed.
+  * Tighten library dependencies of openbox-dev.
+
+ -- Nico Golde <nion@debian.org>  Tue, 15 Dec 2009 16:03:25 +0100
+
+openbox (3.4.7.2-5) unstable; urgency=low
+
+  * Remove --choose-session option the openbox-gnome-session
+    script as gnome-session doesn't support this option anymore
+    and it's not needed anyway (Closes: #537294).
+  * Do not install kdetrayproxy manual anymore, we don't ship the
+    program since ages (Closes: #505161).
+  * Respect XDG_CONFIG_HOME in openbox-session script as described
+    in the XDG Base Directory Specification (Closes: #537621).
+  * Bump standards version to 3.8.2, no changes needed.
+
+ -- Nico Golde <nion@debian.org>  Sun, 09 Aug 2009 14:51:12 +0200
+
+openbox (3.4.7.2-4) unstable; urgency=low
+
+  * Bump policy version, no changes needed.
+  * Fix 02_fix_freedesktop_compliance.dpatch and install it as well
+    to /usr/share/applications to make the session manager work again.
+    Thanks Craig Sanders. (Closes: #533126, #531580)
+  * Fix unversioned links to license in copyright.
+  * Use dh_prep rather than dh_clean -k as it is deprecated.
+
+ -- Nico Golde <nion@debian.org>  Mon, 15 Jun 2009 12:32:07 +0200
+
+openbox (3.4.7.2-3) unstable; urgency=low
+
+  * Set priority of x-session-manager alternative (openbox-session) to 40
+    instead of 50 (Closes: #490392).
+  * Properly escape window and desktop name in session file when saving a
+    session (04_escape_session_names.dpatch; Closes: #488492).
+  * Bump to debhelper compatiblity leve 7 and adjust build dependency.
+  * Bump to policy version 3.8.0, no changes needed.
+
+ -- Nico Golde <nion@debian.org>  Mon, 14 Jul 2008 14:21:28 +0200
+
+openbox (3.4.7.2-2) unstable; urgency=low
+
+  * Add 03_nextprev-xinerama.dpatch to add the possibility to specify
+    <monitor>next</monitor> or prev to the MoveResizeTo action to
+    toggle a window from one monitor to the other without having
+    multiple keybindings or shift it for 3 or more monitors when used
+    with Xinerama.
+
+ -- Nico Golde <nion@debian.org>  Mon, 05 May 2008 22:45:09 +0200
+
+openbox (3.4.7.2-1) unstable; urgency=low
+
+  * New upstream release (Closes: #477841).
+  * Bump library SONAMES to 21, minor number to 2.
+  * Conflict and replace libobrender16/parser16 and depend on the new version.
+  * Update openbox.xpm image to fix new upstream icon.
+  * Adjust upstream copyright years in debian/copyright.
+  * Add the new gdm-control tool including a manpage to the package.
+  * Remove openbox.compress and explicit file listing for dh_compress in
+    rules and let debhelper do the magic.
+
+ -- Nico Golde <nion@debian.org>  Fri, 25 Apr 2008 19:35:37 +0200
+
+openbox (3.4.6.1-3) unstable; urgency=low
+
+  * Remove quotes around CFLAGS in rules to prevent FTBFS (Closes: #476061).
+  * Properly pass CFLAGS values to configure.
+
+ -- Nico Golde <nion@debian.org>  Mon, 14 Apr 2008 17:48:06 +0200
+
+openbox (3.4.6.1-2) unstable; urgency=low
+
+  * Install openbox-session as x-session-manager alternative rather
+    than x-window-manager, many thanks to Andrew Lee for providing
+    the patch! (CLoses: #472829).
+
+ -- Nico Golde <nion@debian.org>  Thu, 27 Mar 2008 11:00:15 +0100
+
+openbox (3.4.6.1-1) unstable; urgency=low
+
+  [Nico Golde]
+  * New upstream version.
+  * Switch to compat level 6 as it is the default now.
+
+  [Anibal Avelar]
+  * Added the field Vcs-Svn field instead the Vcs-Git field instead.
+    This fields should point to the control version for Debian package
+    not to the upstream source  code.
+  * Modified the Vcs-Browser value to the correct site due to the same
+    reason described above.
+  * Updated the soname minor number to 0.4 version in
+    libobparser16.install, libobrender16.install and openbox-dev.links
+
+ -- Nico Golde <nion@debian.org>  Sat, 01 Mar 2008 09:09:55 +0100
+
+openbox (3.4.5-1) unstable; urgency=low
+  [Anibal Avelar]
+  * New upstream version (Closes: #459790)
+  * Updated the soname minor number to 0.2 version in libobparser16.install,
+    libobrender16.install and openbox-dev.links
+  * Removed the patches 03_fix_crash-by-combined-client-list-menu.dpatch and
+    04_fixdepo.dpatch from the patches list due to were fixed in the upstream
+    version
+  * Bumped to new standards version 3.7.3
+  * Added the fields Vcs-Browser and Vcs-Git in the debian/control file.
+
+  [Nico Golde]
+  * Removed dependency on ttf-bitstream-vera in favour for the
+    ttf-dejavu fonts (Closes: #461277).
+  * Don't use deprecated `pwd` in rules while we have CURDIR.
+  * Fix incomplete GPL stub in copyright.
+
+ -- Anibal Avelar (Fixxxer) <aavelar@cofradia.org>  Sat, 19 Jan 2008 14:02:57 +0100
+
+openbox (3.4.4-3) unstable; urgency=low
+
+  * Included patch (04_fixdepo) by Peter Schwindt to fix minor issues
+    in the German translation (Closes: #439220).
+  * Switched from old Homepage tag to new Homepage control field.
+  * Recognize DEB_BUILD_OPTIONS in rules.
+  * Applied patch by Daniel Kahn Gillmor to fix outdated details.html
+    file (Closes: #446199).
+
+ -- Nico Golde <nion@debian.org>  Sun, 28 Oct 2007 15:40:57 +0100
+
+openbox (3.4.4-2) unstable; urgency=low
+
+  * Added openbox-themes to Recommends, thanks HE for the hint.
+  * Included patch by Mikael Magnusson to fix a crash caused by
+    combined client list with too many items (Closes: #445197).
+
+ -- Nico Golde <nion@debian.org>  Wed, 08 Aug 2007 17:22:47 +0200
+
+openbox (3.4.4-1) unstable; urgency=low
+
+  * New upstream release.
+  * Added watch file back.
+  * Switched from libobparser15 and libobrender15
+    to libobparser16 and libobrender16.
+  * Added dpatch to build-deps.
+  * Added patch to add Debian menu to rc.xml (01_rc.xml.dpatch):
+    + included patch by Aron Sisak to take screenshots on hotkey.
+  * Added patch to add Type tag to .desktop file
+    (02_fix_freedesktop_compliance.dpatch).
+  * Added Conflicts and Replaces fields for libobrender15 and
+    libobparser15.
+
+ -- Nico Golde <nion@debian.org>  Mon, 06 Aug 2007 13:59:14 +0200
+
+openbox (3.4.2-2) unstable; urgency=low
+
+  * Execute openbox-session instead of openbox via
+    a session manager (Closes: #434497).
+
+ -- Nico Golde <nion@debian.org>  Tue, 24 Jul 2007 13:35:30 +0200
+
+openbox (3.4.2-1) unstable; urgency=low
+
+  [Anibal Avelar]
+  * New mantainer, (Closes: #430663)
+  * New upstream version 
+  (Closes: #430663, #426279, #427465, #335726, #400575, #319098)
+  * Fixed the randr support (Closes: #425816)
+  * Support for keyboard shortcuts has been added (Closes: #361596)
+  * Added new packages for shared libs (libobparser15, libobrender15).
+  * Added new openbox-dev file headers.
+  * Added the openbox-dev.links file.
+  * Update standards version to 3.7.2
+
+  [Nico Golde]
+  * Added Openbox Maintainers as maintainer name and Anibal + myself
+    as Uploaders.
+  * Do not recommend but suggest obconf any longer since everything
+    can be configured with an editor as well.
+  * Added additional space in front of the Homepage tag in control.
+  * Fixed broken copyright file.
+  * Do not suppress output of make distclean in rules file.
+  * Added menu file.
+  * Point x-window-manager alternative to openbox-session for autostart
+    features rather than to openbox.
+  * Added NEWS entry about
+    http://icculus.org/openbox/index.php/Help:Upgrading_to_3.4
+  * Remove upstream debian files before building.
+
+ -- Nico Golde <nion@debian.org>  Mon, 16 Jul 2007 19:20:34 +0200
+
+openbox (3.3-2.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * High-urgency upload for RC bug fix.
+  * Revert erroneous Window-Managers to WindowManagers change
+    (Closes: #391917)
+
+ -- Faidon Liambotis <paravoid@debian.org>  Fri, 10 Nov 2006 23:31:07 +0200
+
+openbox (3.3-2) unstable; urgency=low
+
+  * Change WindowManagers to Window-Managers in openbox.menu.  
+    closes: 312193.
+  * Remove a couple of exclamation marks in the description and rephrase
+    "Fast as f$%k!" into "Very fast".  closes: 364123
+  * Add homepage URL to the end of the description.  closes: 323336
+  * Apply patch from upstream to not show border on the gnome panel.
+    closes: 385461.
+
+ -- Tollef Fog Heen <tfheen@debian.org>  Tue,  5 Sep 2006 07:01:21 +0200
+
+openbox (3.3-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Tollef Fog Heen <tfheen@debian.org>  Tue, 29 Aug 2006 20:23:13 +0200
+
+openbox (3.2-9) unstable; urgency=low
+
+  * Actually change the Maintainer field in debian/control as well.
+
+ -- Tollef Fog Heen <tfheen@debian.org>  Mon,  9 Jan 2006 10:42:36 +0100
+
+openbox (3.2-8) unstable; urgency=low
+
+  * Adopt package.  Thanks to Tore for his maintenance.
+  * Don't build-dep on xlibs-dev any more, closes: #347130.
+  * Build-depend on libxt-dev, libxinerama-dev.
+
+ -- Tollef Fog Heen <tfheen@debian.org>  Mon,  9 Jan 2006 09:29:33 +0100
+
+openbox (3.2-7) unstable; urgency=low
+
+  * openbox/prop.c:
+      - Fix prop_set32() and prop_set_array32() to work on AMD64,
+        closes: #295318.  Thanks to Tollef Fog Heen for the patch!
+
+ -- Tore Anderson <tore@debian.org>  Mon, 21 Feb 2005 23:58:27 +0100
+
+openbox (3.2-6) unstable; urgency=low
+
+  * debian/control:
+      - Suggest ttf-bitstream-vera, closes: #265441.
+      - Lowercase first letter in the synopsis.
+
+  * debian/*.pod:
+      - Fix "contributiors" typo.
+
+  * debian/copyright, debian/*.pod:
+      - Acknowledge Mikael Magnusson as the new upstream lead developer.
+
+  * openbox/event.c:
+      - Apply patch from Denis Barbier, remedying breakage stemming from recent
+        changes in XFree86' XKB behaviour.  Closes: #272214.  Thanks, Denis!
+
+ -- Tore Anderson <tore@debian.org>  Thu,  6 Jan 2005 00:04:16 +0100
+
+openbox (3.2-5) unstable; urgency=low
+
+  * debian/control:
+      - Suggest libxml-dev, as the developement headers provided in the
+        package need them.  Closes: #254580.
+
+  * debian/docs/*:
+      - Re-sync with upstream - fixes some minor errors, closes: #248657.
+
+  * debian/openbox.xsession (new), debian/rules:
+      - Register Openbox as an X session with the various diplay managers.
+        Thanks, William Lynch!  Closes: #255081.
+
+ -- Tore Anderson <tore@debian.org>  Thu,  8 Jul 2004 23:14:49 +0200
+
+openbox (3.2-4) unstable; urgency=low
+
+  * debian/openbox.menu-method:
+      - Ensure that ampersands are escaped into their respective XML entities,
+        before any of the other of the XML reserved characters are.
+
+  * debian/openbox.postinst:
+      - Eliminate kluge that removed any obsolete Debian menu in /etc.
+
+ -- Tore Anderson <tore@debian.org>  Mon,  3 May 2004 21:03:21 +0200
+
+openbox (3.2-3) unstable; urgency=low
+
+  * data/rc.xml.in: 
+      - Add back reference to the Debian system menu which dissapeared in the
+        3.2-1 upload, closes: #245286.
+
+ -- Tore Anderson <tore@debian.org>  Fri, 30 Apr 2004 17:23:28 +0200
+
+openbox (3.2-2) unstable; urgency=medium
+
+  * debian/control:
+      - Update menu conflict to << 2.1.12, to prevent triggering a bug in the
+        replace() menu function which caused an infinite loop, closes: #244671.
+
+ -- Tore Anderson <tore@debian.org>  Wed, 21 Apr 2004 16:54:26 +0200
+
+openbox (3.2-1) unstable; urgency=low
+
+  * New upstream release.
+      - Fixes a focus-related bug which froze Openbox solid, closes: #233549.
+      - Re-introduces the focusLast option, closes: #240039.
+
+  * debian/rules:
+      - Bump dh_makeshlibs version info to >= 3.2.
+
+  * debian/openbox.menu:
+      - Quote the value of the "needs" field.
+
+  * debian/openbox.menu-method:
+      - Use the new replace() function instead of my own char2entity() hack.
+
+  * debian/control:
+      - Add a conflict on menu << 2.1.10, closes: #223874.
+
+ -- Tore Anderson <tore@debian.org>  Sun, 18 Apr 2004 00:27:39 +0200
+
+openbox (3.1-3) unstable; urgency=low
+
+  * Enable XRandR support by linking to the XFree86 4.3.0 libraries.
+
+ -- Tore Anderson <tore@debian.org>  Sat, 28 Feb 2004 13:37:48 +0100
+
+openbox (3.1-2) unstable; urgency=low
+
+  * debian/docs/*.html (new), debian/openbox.docs:
+      - Include some additional documentation from the upstream web site at
+        <http://icculus.org/openbox/content/en/docs/>, closes: #228523.
+
+ -- Tore Anderson <tore@debian.org>  Sat, 31 Jan 2004 15:48:04 +0100
+
+openbox (3.1-1) unstable; urgency=low
+
+  * New upstream release, closes: #225414.
+
+  * debian/control:
+      - Slacken build dependency on debhelper from >= 4.1.45 to >= 4.
+
+  * debian/openbox.menu-method:
+      - Use title() instead of $title.
+      - Move the compat level declaration to below the menu.h inclusion.
+      - Enclose the threewalk declaration in double quotes.
+      - Change rootprefix to /var/lib/openbox/.
+
+  * debian/rules:
+      - Create /var/lib/openbox/ in the install target.
+
+  * debian/openbox.postinst, debian/openbox.postrm:
+      - Remove calls to the obsolete wm-menu-config program.
+
+  * debian/openbox.postinst:
+      - Remove /etc/xdg/openbox/debian-menu.xml, which now should be found in
+        /var/lib/openbox/ instead.
+
+  * debian/openbox.postrm:
+      - Do not attempt to delete /etc/xdg/openbox/debian-menu.xml on purge.
+
+  * debian/openbox.prerm:
+      - Delete /var/lib/openbox/debian-menu.xml on package removal.
+
+  * data/rc.xml.in:
+      - Attempt to read the menu file /var/lib/openbox/debian-menu.xml if it
+        exists.
+
+  * Thanks to Bill Allombert for pointing out and providing suggested fixes for
+    most of the above problems.
+
+ -- Tore Anderson <tore@debian.org>  Sat, 03 Jan 2004 17:16:24 +0100
+
+openbox (3.0-2) unstable; urgency=low
+
+  * debian/openbox.menu-method:
+      - Ascertain that the five XML reserved characters are translated into
+        their respective entities, closes: #221868.
+      - Set output encoding to UTF-8.
+      - Remove unused "openbox" supported type.
+
+  * debian/openbox.menu:
+      - Add an entry for the restart action, closes: #222900.
+
+ -- Tore Anderson <tore@debian.org>  Fri, 12 Dec 2003 14:59:21 +0100
+
+openbox (3.0-1) unstable; urgency=low
+
+  * New upstream release, closes: #216418:
+      - Does not have a toolbar any longer, closes: #214078 (sort-of).
+      - Uses Xft fonts only, closes: #212019, #204097.
+      - Epist is gone, closes: #171239 (sort-of).
+      - Removes the drop shadows under text option, closes: #186777 (sort-of).
+      - Brand new configuration file format, closes: #167802.  (Please refer
+        to /usr/share/doc/openbox/NEWS.Debian.gz if you're upgrading.)
+      - No longer hangs when apps change screen resolution, closes: #212128.
+      - Much improved compliance with varios WM protocols, closes: #181821.
+  
+  * debian/control:
+      - Removed the openbox-tools package section.  These tools are no longer
+        included in the upstream sources, so I'm removing them as well.
+      - Updated build dependencies for the new upstream release.
+      - Up Standards-Version to 3.6.1, no changes required.
+      - New description, stolen from the home page.
+
+  * debian/copyright:
+      - Change licence to the GNU GPL.
+  
+  * debian/NEWS.Debian (new), debian/openbox.docs:
+      - Inform about the changes in configuration file layout.
+    
+  * debian/rules, debian/openbox.menu, debian/openbox-menu-method,
+    openbox/docs:
+      - Updated for the new upstream release.
+
+  * debian/compat (new), debian/rules:
+      - Declare debhelper compability level in the file debian/compat instead
+        of a variable in debian/rules.  Up it to 4 as well.
+      
+  * debian/openbox.prerm (new):
+      - Unregister x-window-manager alternative when the package is removed.
+
+  * debian/openbox.postinst:
+      - Up x-window-manager alternative priority to 90, as we're now
+        compliant with freedesktop.org's WM spec.
+
+  * debian/openbox.postinst, debian/openbox.postrm:
+      - Some minor changes and updates for the new upstream release.
+
+  * debian/openbox.pod (new), debian/kdetrayproxy.pod (new),
+    debian/gnome-panel-control.pod (new), debian/openbox.manpages (new):
+      - Provide manual pages for all binaries, as required by policy.
+
+  * debian/openbox.links (new):
+      - Symlink /etc/X11/openbox to /etc/xdg/openbox, to comply with
+        both policy and the freedesktop.org spec.
+
+  * debian/menu.xml (new):
+      - Ship a small menu with entries for x-terminal-editor and
+        x-www-browser as default.  If the menu package is installed,
+        the automatic Debian menu will also be included.
+
+  * debian/openbox.conffiles (removed):
+      - Don't explicitly declare any conffiles;  let debhelper handle them.
+    
+  * debian/makefile-menu.patch (removed), debian/openbox.preinst (removed):
+      - Obsoleted by the new upstream release.
+
+  * data/rc.xml.in:
+      - Try to include the Debian menu, if it exists.
+
+ -- Tore Anderson <tore@debian.org>  Tue, 18 Nov 2003 19:46:48 +0100
+
+openbox (2.3.1-4) unstable; urgency=low
+
+  * Acknowledge NMUs:
+    - 2.3.1-1.1, closes: #216358, #216417.  Thanks, J.H.M. Dassen (Ray)!
+  * debian/copyright, debian/control:
+    - New maintainer, closes: #220658.
+  * debian/control:
+    - Improve description, closes: #220357.
+
+ -- Tore Anderson <tore@debian.org>  Sat, 15 Nov 2003 15:40:25 +0100
+
+openbox (2.3.1-3) unstable; urgency=high
+
+  * QA upload
+  * Reintroduced the fixes from my NMU 2.3.1-1.1: (Closes: #216417)
+    * [nls/convert.awk] Output "$ codeset=UTF-8" first to fix FTBFS processing
+      translations. (Closes: #216358)
+    * [debian/control] Build-Depends s/libxft2-dev/libxft-dev/ to fix new FTBFS.
+
+ -- J.H.M. Dassen (Ray) <jdassen@debian.org>  Sat, 15 Nov 2003 14:28:52 +0100
+
+openbox (2.3.1-2) unstable; urgency=low
+  * Orphaning the package.
+
+ -- Kyle McMartin <kyle@debian.org>  Thu, 13 Nov 2003 18:21:50 -0500
+
+openbox (2.3.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * FTBFS is fixed, <assert.h> was included in Configuration.cc in
+    latest upstream. (closes: #196654)
+  * Also included <assert.h> in util/epist/keytree.cc, as this also
+    causes FTBFS...
+
+ -- Kyle McMartin <kyle@debian.org>  Sun, 08 Jun 2003 16:30:10 -0400
+
+openbox (2.2.3-3) unstable; urgency=low
+
+  * Update to XFT2 and fontconfig.
+
+ -- Kyle McMartin <kyle@debian.org>  Sat, 11 Jan 2003 18:02:10 -0500
+
+openbox (2.2.3-2) unstable; urgency=low
+
+  * Fix where openbox looks for menu file, repoint it at the menu-methods
+    one. (closes: #174428)
+
+ -- Kyle McMartin <kyle@debian.org>  Sun, 29 Dec 2002 17:40:28 -0500
+
+openbox (2.2.3-1) unstable; urgency=low
+
+  * New upstream.
+  * The 2.2 series is now the stable branch.
+
+ -- Kyle McMartin <kyle@debian.org>  Tue, 24 Dec 2002 10:13:19 -0500
+
+openbox (2.2.2-1) unstable; urgency=low
+
+  * New upstream.
+
+ -- Kyle McMartin <kyle@debian.org>  Sun, 8 Dec 2002 13:54:52 -0500
+
+openbox (2.2.1-1) unstable; urgency=low
+
+  * New upstream.
+  * Not sure why this didn't get closed last go round. (closes: #160801)
+
+ -- Kyle McMartin <kyle@debian.org>  Wed, 20 Nov 2002 22:30:20 -0500
+
+openbox (2.2.0-2) unstable; urgency=low
+
+  * Fixed URL (damned pedants :) (closes #167991)
+  * Default epistrc behaviour fixed upstream. (closes #160801)
+  * Reference to menuFile removed from manpage. (closes #167802)
+
+ -- Kyle McMartin <kyle@debian.org>  Wed, 6 Nov 2002 18:39:02 -0500
+
+openbox (2.2.0-1) unstable; urgency=low
+
+  * New upstream release. [2.2 has been branched for testing]
+
+ -- Kyle McMartin <kyle@debian.org>  Sun, 6 Oct 2002 14:38:20 -0400
+
+openbox (2.1.1-1) unstable; urgency=low
+
+  * New upstream release. [2.1 series is now the stable]
+
+ -- Kyle McMartin <kyle@debian.org>  Sat, 28 Sep 2002 19:31:29 -0400
+
+openbox (2.1.0-3) unstable; urgency=low
+
+  * ugh, remove circular depends/provides on blackbox.
+  * create a new package containing bsetbg, bsetroot which openbox depends on
+    || blackbox || fluxbox, so that in no case are /usr/bin/bsetbg or
+    /usr/bin/bsetroot not installed. This should hopefully make sure everyone
+    gets their root window set from the styles.
+
+ -- Kyle McMartin <kyle@debian.org>  Sat, 21 Sep 2002 18:38:12 -0400
+
+openbox (2.1.0-2) unstable; urgency=low
+
+  * Depend blackbox to provide bsetbg/bsetroot namespace... They are
+    compatible so we'll worry about a proper solution later. (closes: #161142)
+
+ -- Kyle McMartin <kyle@debian.org>  Wed, 18 Sep 2002 15:34:10 -0400
+
+openbox (2.1.0-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Kyle McMartin <kyle@debian.org>  Thu, 12 Sep 2002 22:36:23 -0400
+
+openbox (2.0.0-1) unstable; urgency=low
+
+  * Initial full release from CVS.
+
+ -- Kyle McMartin <kyle@debian.org>  Thu, 16 Aug 2002 20:33:10 -0400
+
+openbox (0.20020811-1) unstable; urgency=low
+
+  * New checkout from CVS.
+
+ -- Kyle McMartin <kyle@debian.org>  Sun, 11 Aug 2002 15:41:10 -0400
+
+openbox (0.20020807-3) unstable; urgency=medium
+
+  * Really fix menu this time... ugh.
+
+ -- Kyle McMartin <kyle@debian.org>  Thu, 8 Aug 2002 15:14:59 -0400
+
+openbox (0.20020807-2) unstable; urgency=medium
+
+  * Fixed menu.
+  * Added build dependencies on bison and flex for epist.
+
+ -- Kyle McMartin <kyle@debian.org>  Thu, 8 Aug 2002 15:00:01 -0400
+
+openbox (0.20020807-1) unstable; urgency=low
+
+  * New checkout from CVS.
+  * Added menu entries and lintian fixes, and a manpage for epist (undoc)
+
+ -- Kyle McMartin <kyle@debian.org>  Thu, 8 Aug 2002 00:42:29 -0400
+
+openbox (0.20020721-1) unstable; urgency=low
+
+  * New checkout from CVS.
+  * Added post-install scripts to handle x-window-manager alternatives. 
+
+ -- Kyle McMartin <kyle@debian.org>  Sun, 21 Jul 2002 17:32:25 -0400
+
+openbox (0.20020717-1) unstable; urgency=low
+
+  * Checkout from CVS.
+  * Initial release. (closes: Bug#153407)
+
+ -- Kyle McMartin <kyle@debian.org>  Thu, 18 Jul 2002 00:00:01 -0400
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..6a22864
--- /dev/null
@@ -0,0 +1,119 @@
+Source: openbox
+Section: x11
+Priority: optional
+Maintainer: Nico Golde <nion@debian.org>
+Build-Depends: debhelper (>= 8.1.0~), gettext, libstartup-notification0-dev, libxrender-dev, pkg-config, libglib2.0-dev, libxml2-dev (>= 2.6.0), perl, libxt-dev, libxinerama-dev, libxrandr-dev, libpango1.0-dev, libx11-dev, autoconf, automake1.9, python-xdg, libimlib2-dev, dh-autoreconf, autopoint
+Standards-Version: 3.9.3
+Homepage: http://www.openbox.org
+Vcs-Browser: http://svn.debian.org/viewsvn/collab-maint/deb-maint/openbox/trunk
+Vcs-Svn: svn://svn.debian.org/svn/collab-maint/deb-maint/openbox
+
+Package: openbox
+Architecture: any
+Provides: x-window-manager, x-session-manager
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: openbox-themes, obconf
+Suggests: menu, ttf-dejavu, python, libxml2-dev
+Breaks: menu (<< 2.1.12)
+Description: standards compliant, fast, light-weight, extensible window manager
+ Openbox works with your applications, and makes your desktop easier to manage.
+ This is because the approach to its development was the opposite of what seems
+ to be the general case for window managers.  Openbox was written first to
+ comply with standards and to work properly.  Only when that was in place did
+ the team turn to the visual interface.
+ .
+ Openbox is fully functional as a stand-alone working environment, or can be
+ used as a drop-in replacement for the default window manager in the GNOME or
+ KDE desktop environments.
+ .
+ Openbox 3 is a completely new breed of window manager.  It is not based upon
+ any existing code base, although the visual appearance has been based upon
+ that of Blackbox.  Openbox 2 was based on the Blackbox 0.65.0 codebase.
+ .
+ Some of the things to look for in Openbox are:
+ .
+  * ICCCM and EWMH compliance!
+  * Very fast
+  * Chainable key bindings
+  * Customizable mouse actions
+  * Window resistance
+  * Multi-head Xinerama support!
+  * Pipe menus
+
+Package: gnome-panel-control
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: command line utility to invoke GNOME panel run dialog/menu
+ gnome-panel-control can be used to invoke the GNOME panel run or main
+ menu from the command line.  This is originally a helper utility of openbox
+ since gnome-panel is no longer managing its own key bindings.
+
+Package: libobt0
+Section: libs
+Architecture: any
+Conflicts: libobparser15, libobparser16
+Replaces: libobparser15, libobparser16
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: parsing library for openbox
+ Openbox works with your applications, and makes your desktop easier to manage.
+ This is because the approach to its development was the opposite of what seems
+ to be the general case for window managers.  Openbox was written first to
+ comply with standards and to work properly.  Only when that was in place did
+ the team turn to the visual interface.
+ .
+ Openbox is fully functional as a stand-alone working environment, or can be
+ used as a drop-in replacement for the default window manager in the GNOME or
+ KDE desktop environments.
+ .
+ Openbox 3 is a completely new breed of window manager.  It is not based upon
+ any existing code base, although the visual appearance has been based upon
+ that of Blackbox.  Openbox 2 was based on the Blackbox 0.65.0 codebase.
+ .
+ This package contains the libobt library files used by openbox
+ to load and parse configuration and theme files of openbox.
+
+Package: libobrender27
+Section: libs
+Architecture: any
+Conflicts: libobrender15, libobrender16
+Replaces: libobrender15, libobrender16
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: rendering library for openbox themes
+ Openbox works with your applications, and makes your desktop easier to manage.
+ This is because the approach to its development was the opposite of what seems
+ to be the general case for window managers.  Openbox was written first to
+ comply with standards and to work properly.  Only when that was in place did
+ the team turn to the visual interface.
+ .
+ Openbox is fully functional as a stand-alone working environment, or can be
+ used as a drop-in replacement for the default window manager in the GNOME or
+ KDE desktop environments.
+ .
+ Openbox 3 is a completely new breed of window manager.  It is not based upon
+ any existing code base, although the visual appearance has been based upon
+ that of Blackbox.  Openbox 2 was based on the Blackbox 0.65.0 codebase.
+ .
+ This package contains the libobrender library files used by openbox
+ for theme rendering.
+
+Package: openbox-dev
+Section: libdevel
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, libobrender27 (= ${binary:Version}), libobt0 (= ${binary:Version}), libxml2-dev, libglib2.0-dev, libpango1.0-dev, libimlib2-dev
+Description: development files for the openbox window manager
+ Openbox works with your applications, and makes your desktop easier to manage.
+ This is because the approach to its development was the opposite of what seems
+ to be the general case for window managers.  Openbox was written first to
+ comply with standards and to work properly.  Only when that was in place did
+ the team turn to the visual interface.
+ .
+ Openbox is fully functional as a stand-alone working environment, or can be
+ used as a drop-in replacement for the default window manager in the GNOME or
+ KDE desktop environments.
+ .
+ Openbox 3 is a completely new breed of window manager.  It is not based upon
+ any existing code base, although the visual appearance has been based upon
+ that of Blackbox.  Openbox 2 was based on the Blackbox 0.65.0 codebase.
+ .
+ This package contains the development headers for building openbox stuff.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..a5184d0
--- /dev/null
@@ -0,0 +1,68 @@
+Openbox was first packaged for Debian by Kyle McMartin <kyle@debian.org> on
+the 15th April 2002.  It was later adopted by Tore Anderson <tore@debian.org>
+on the 15th November 2003 and is now maintained by Nico Golde <nion@debian.org>
+and Anibal Avelar (Fixxxer) <aavelar@cofradia.org>.
+
+The source code was downloaded from: http://icculus.org/openbox.
+
+Upstream Authors: Mikael Magnusson <mikachu@comhem.se>, Dana Jansens <danakj@orodu.net>
+
+Copyright:
+
+  Copyright (c) 2003        Ben Jansens
+  Copyright (c) 2003        Derek Foreman
+  Copyright (c) 2006-2008   Mikael Magnusson
+  Copyright (c) 2003-2008   Dana Jansens
+
+License:
+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 dated June, 1991.
+
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this package; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301, USA.
+
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-2'.
+
+Copyright for the Debian-related build-scripts:
+
+ Copyright (C) 2002      Kyle McMartin <kyle@debian.org>
+ Copyright (C) 2003-2004 Tore Anderson <tore@debian.org>
+ Copyright (C) 2007-2009 Nico Golde <nion@debian.org>, Anibal Avelar (Fixxxer) <aavelar@cofradia.org>
+
+These scripts are placed under the BSD license:
+ Copyright (c) The Regents of the University of California.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the University nor the names of its contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
diff --git a/debian/docs/build.html b/debian/docs/build.html
new file mode 100644 (file)
index 0000000..17ba38e
--- /dev/null
@@ -0,0 +1,152 @@
+<a href="toc.html">Table of Contents</a>
+
+<h1>Building Openbox</h1>
+
+<h2><a name="compile"></a>Compiling</h2>
+
+<p>
+The following is what you will need to compile Openbox:
+</p>
+
+<p>
+  <ul>
+    <li>C compiler (such as <a href="http://gcc.gnu.org">GCC</a>).</li>
+    <li>Xlib headers and libraries (development package), distributed with
+        <a href="http://xfree86.org">XFree86</a>.</li>
+    <li><a href="http://fontconfig.org">Fontconfig</a> headers and libraries
+        (development package).</li>
+    <li><a href="http://www.gtk.org">Glib 2</a> headers and libraries
+        (development package)</li>
+    <li><em>Optional:</em> The FreeDesktop.org
+        <a href="http://www.freedesktop.org/software/startup-notification/">
+        Startup-Notification</a> library.</li>
+  </ul>
+</p>
+
+<p>
+Once you have the above dependancies installed, you are ready to build
+Openbox. Untar the Openbox archive and from inside the source tree, run:
+</p>
+
+<p>
+<blockquote>
+  % <b>./configure</b><br>
+  &nbsp;&nbsp;...configure detects the build evironment...<br>
+  % <b>make</b><br>
+  &nbsp;&nbsp;...openbox builds...<br>
+  % <b>make install</b><br>
+  &nbsp;&nbsp;...openbox installs...<br>
+</blockquote>
+</p>
+
+<p>
+If the configure command fails and the reason is not obvious, you should
+look in the <b>config.log</b> file to discover the cause of the problem.
+</p>
+
+<h2><a name="install"></a>Installing</h2>
+
+<p>
+You can install Openbox by <a href="#compile">compiling from source</a> or via
+binary packages. It is recommended that you get a package from your
+distribution if possible.
+</p>
+
+<p>
+Once you have Openbox on your system, you will need to set things up to use it.
+What to set up depends on how you run X.
+</p>
+
+<h3><a name="install-gnome"></a>
+    If you run the GNOME desktop environment:</h3>
+
+<p>
+The default window manager for the GNOME environment is <b>metacity</b>. To
+switch from metacity to Openbox, do the following:
+</p>
+
+<blockquote>
+% <b>openbox --replace</b>
+</blockquote>
+
+<p>
+Choose to save your session the next time you log out so that Openbox will be
+started for you when you log in again.
+</p>
+
+<p>
+<b>Note:</b> As of GNOME 2.4, gnome-panel no longer manages its own key bindings, and requires that the window manager provide its own key bindings for showing the Main Menu and Run dialog. Openbox does this through the bundled <b>gnome-panel-control</b> tool, which can be used in keybindings to access the gnome-panel. Use the <b>--main-menu</b> option to display gnome-panel's menu, and the <b>--run-dialog</b> to display its Run dialog.
+</p>
+
+<h3><a name="install-kde"></a>
+    If you run the K desktop environment:</h3>
+
+<p>
+The default window manager for the KDE environment is <b>kwin</b>. To switch
+from kwin to Openbox, set the following environment variable in your startup
+scripts:
+</p>
+
+<blockquote>
+% <b>export KDEWM=openbox</b>
+</blockquote>
+
+<p>
+When the <b>KDEWM</b> environment variable is set, Openbox will be used in
+place of kwin.
+</p>
+
+<p>
+<b>Note:</b> The current release of KDE is still using a non-standard,
+deprecated protocol for its system tray. This protocol requires interaction
+from the window manager. In place of that, Openbox includes the
+<b>kdetrayproxy</b> application. Once you run it, KDE system tray apps will
+work with window managers that don't support the legacy protocol, like Openbox.
+</p>
+
+<p>
+To run <b>kdetrayproxy</b> before running KDE, and if you are using the KDE
+login manager, it may be easiest to use the
+<a href="#install-xdm">display manager</a> method, and make a startup script
+something like:
+</p>
+
+<blockquote>
+  # Startup stuff for X<br />
+  <br />
+  # Make openbox the KDE window manager<br />
+  export KDEWM=openbox<br />
+  <br />
+  # Make KDE system tray apps work<br />
+  kdetrayproxy &<br />
+  <br />
+  # Start the KDE environment<br />
+  startkde
+</blockquote>
+
+<h3><a name="install-startx"></a>
+    If you run X via the <b>startx</b> command:</h3>
+
+<p>
+You need to edit your <b>$HOME/.xinitrc</b> file. This file is simply
+a shell script, so to lauch Openbox just make a file something like this:
+</p>
+
+<blockquote>
+  # Startup stuff for X<br />
+  <br />
+  exec openbox<br />
+</blockquote>
+
+<h3><a name="install-xdm"></a>
+    If you run X via a <b>display manager</b> (xdm, gdm, kdm, ...):</h3>
+
+<p>
+You may consult the documentation for your specific display manager regarding
+adding entries to it. Alternately, you can edit a <b>$HOME/.xsession</b> file.
+The file is a shell script and can be made identical to the <b>.xinitrc</b>
+example above. With this method, you would choose <b>default</b> as the login
+target in your display manager.
+</p>
+
+<a href="toc.html">Table of Contents</a>
diff --git a/debian/docs/config.html b/debian/docs/config.html
new file mode 100644 (file)
index 0000000..638f731
--- /dev/null
@@ -0,0 +1,161 @@
+<a href="toc.html">Table of Contents</a>
+
+<h1>Configuring Openbox</h1>
+
+<h2><a name="locations"></a>File locations</h2>
+
+<p>
+When looking for its configuration files (<b>rc.xml</b>, <b>menu.xml</b>), Openbox follows the <a href="http://www.freedesktop.org/standards/basedir-spec/">freedesktop.org base-dir specification</a>. You can read the short specification for all the details. However, the end default result will be as follows.
+</p>
+
+<p>
+First Openbox will try for your config files in <b>$HOME/.config/openbox/</b>. If it is unable to find them there, then it will try the system configuration dir (use <b>./configure --sysconfdir</b> to modify this when configuring the Openbox build. If you installed Openbox from a distribution package, then it will most likely be looking in <b>/etc/xdg/openbox/</b>. If you built Openbox yourself and do not specify --sysconfdir, then it will be looking in <b>/usr/local/etc/xdg/openbox</b>.
+</p>
+
+<h2><a name="options"></a>Options</h2>
+
+<p>
+Most users will want to use the ObConf tool to configure Openbox. You can
+launch the tool by running:
+</p>
+
+<blockquote>
+  % <b>obconf</b>
+</blockquote>
+
+<p>
+See <a href="http://openbox.org/obconf">the ObConf webpage</a> to get this handy tool.
+</p>
+
+<p>
+If you don't want/have ObConf, you can edit the configuration by hand. The
+recommended procedure for this is to copy the system config to
+<b>$HOME/.config/openbox/</b> and edit that to your liking.
+</p>
+
+<h2><a name="menus"></a>Menus</h2>
+
+<p>
+Menus are searched for in the directories given in the <a href="#locations">File locations</a> section.
+</p>
+
+<p>
+You can specify the names of the menu files to load in the <b>rc.xml</b>'s <b>menu</b> section. Absolute paths can also be used to look outside of the default search paths. For example:
+</p>
+
+<blockquote>
+  &lt;menu&gt;<br />
+  &nbsp;&nbsp;&lt;file&gt;mymenu.xml&lt;/file&gt;<br />
+  &nbsp;&nbsp;&lt;file&gt;myothermenu.xml&lt;/file&gt;<br />
+  &nbsp;&nbsp;&lt;file&gt;/etc/system/openboxmenu.xml&lt;/file&gt;<br />
+  &lt;/menu&gt;
+</blockquote>
+
+<p>
+If no menus are specified in the <b>rc.xml</b>, Openbox will look for <b>menu.xml</b>.
+</p>
+
+<h2><a name="themes"></a>Themes</h2>
+
+<p>
+First off, the theme format is not backwards compatible with Openbox2/Blackbox/Fluxbox themes. The <b>themeupdate.py</b> script included in the Openbox distribution can be used to aid in porting Openbox2/Blackbox/Fluxbox themes over.
+</p>
+
+<h3>Paths</h3>
+
+<p>
+Themes are searched for in the data directories specified in the <b>base-dir spec</b> mentioned in the <a href="#locations">File locations</a> section. In addition to these paths, Openbox also looks in <b>$HOME/.themes/</b> for backwards compatibility with existing applications. This means, by default, the following directories will be searched in order: <b>$HOME/.themes/</b>, <b>$HOME/.local/share/themes/</b>, <b>$PREFIX/share/themes/</b>. This means that Openbox themes can now be bundled with other themes (such as GTK+ themes).
+</p>
+
+<h3>Structure</h3>
+
+<p>
+Each theme is self-contained within its own directory. The theme file itself is a file named <b>themerc</b> inside the theme's <b>openbox-3</b> directory. So for a theme named "Foo", its directory layout might look like this:
+</p>
+<blockquote>
+        <b>Foo/openbox-3/themerc</b><br />
+        Foo/openbox-3/max.xbm<br />
+        Foo/openbox-3/close.xbm
+</blockquote>
+<p>
+  We'll get to the xbms later.
+</p>
+
+<h3>Fonts</h3>
+
+<p>
+Fonts are each specified through a single .font property. Different fonts can be specified for focused and unfocused windows. The available font properties are:
+</p>
+<ul>
+        <li>window.label.focus.font</li>
+        <li>window.label.unfocus.font</li>
+        <li>menu.title.font</li>
+        <li>menu.items.font</li>
+</ul>
+<p>
+This property is an Xft/Fontconfig font string. It is highly recommended that when specifying this, you specify the size of the font by pixelsize, not by pointsize. Some details on building the required font string can be found in this <a href="http://keithp.com/~keithp/render/Xft.tutorial">Xft tutorial</a>.
+</p>
+
+<p>
+There are a couple extensions to the font string's options for openbox:
+</p>
+<ul>
+  <li>shadow [boolean] (defaults to off)</li>
+  <li>shadowoffset [integer] (defaults to 1)</li>
+  <li>shadowtint [integer] (defaults to 25%)</li>
+</ul>
+
+<p>
+  Example:
+</p>
+<blockquote>
+        window.focus.font: arial,sans:bold:pixelsize=12:shadow=y
+</blockquote>
+
+<h3>Titlebar Button Bitmaps</h3>
+
+<p>
+A number of X Bitmap (xbm) files are used to specify the look of the titlebar buttons. These buttons are all found
+under the <b>Theme/openbox-3/</b> directory. The following names are looked for:
+</p>
+
+<ul>
+  <li>max.xbm - maximized button</li>
+  <li>max_toggled.xbm - maximized button toggled</li>
+  <li>max_disabled.xbm - maximized button disabled</li>
+  <li>max_hover.xbm - maximized button while being hovered over</li>
+  <li>max_pressed.xbm - maximized button while being pressed</li>
+  <li>iconify.xbm - iconify button</li>
+  <li>iconify_disabled.xbm - iconify button disabled</li>
+  <li>iconify_hover.xbm - iconify button while being hovered over</li>
+  <li>iconify_pressed.xbm - iconify button while being pressed</li>
+  <li>desk.xbm - all-desktops button</li>
+  <li>desk_toggled.xbm - all-desktops button toggled</li>
+  <li>desk_disabled.xbm - all-desktops button disabled</li>
+  <li>desk_hover.xbm - all-desktops button while being hovered over</li>
+  <li>desk_pressed.xbm - all-desktops button while being pressed</li>
+  <li>shade.xbm - shade button</li>
+  <li>shade_toggled.xbm - shade button toggled</li>
+  <li>shade_disabled.xbm - shade button disabled</li>
+  <li>shade_hover.xbm - shade button while being hovered over</li>
+  <li>shade_pressed.xbm - shade button while being pressed</li>
+  <li>close.xbm - close button</li>
+  <li>close_disabled.xbm - close button disabled</li>
+  <li>close_hover.xbm - close button while being hovered over</li>
+  <li>close_pressed.xbm - close button while being pressed</li>
+  <li>bullet.xbm - submenu bullet in menus</li>
+</ul>
+
+<h3>Background</h3>
+
+<p>
+Themes do not provide a means for setting the background. There are many tools around for setting the root image (xsetroot, Esetroot, Rox, Gnome, Kde, etc!) so there is no point in rewriting those for Openbox.
+</p>
+
+<h3>Etc</h3>
+
+<p>
+A more detailed description and list of all the theme elements will be forthcoming. In the meantime, examples found in the distribution can be used for documentation.
+</p>
+
+<a href="toc.html">Table of Contents</a>
diff --git a/debian/docs/details.html b/debian/docs/details.html
new file mode 100644 (file)
index 0000000..ce8fbd0
--- /dev/null
@@ -0,0 +1,962 @@
+<a href="toc.html">Table of Contents</a>
+
+<h1>Details of the Config Files</h1>
+
+<h2><a name="keybindings"></a>Key Bindings</h2>
+
+<h3>Introduction</h3>
+
+<p>
+Key bindings are used to bind <a href="#actions">actions</a> to key
+combinations. Whenever the combination is pressed, the actions bound to it will
+be executed.
+</p>
+
+<p>
+Key bindings are found in the <b>keyboard</b> section of the <b>rc.xml</b>
+file. Any key bindings outside of the keyboard section will be ignored.
+</p>
+
+<h3>Syntax</h3>
+
+<p>
+Key bindings are specified using the following:
+</p>
+
+<blockquote>
+&lt;keybind key="KEY COMBO"&gt;<br />
+&nbsp;&nbsp;ACTIONS<br />
+&lt;/keybind&gt;
+</blockquote>
+
+<p>
+Any number of <a href="#actions">actions</a> may appear in a keybind.
+</p>
+
+<p>
+<b>KEY COMBO</b> is the key combination to be bound. The key combo has the
+following syntax: <b>Modifier-Modifier-Key</b>. Any number of modifiers can
+be specified, following each one with a '-'. The available modifiers are:
+</p>
+
+<ul>
+<li><b>S</b> - the Shift key</li>
+<li><b>C</b> - the Control key</li>
+<li><b>A</b> - the Alt key</li>
+<li><b>W</b> - the Windows keys</li>
+<li><b>M</b> - Mod3, not set by default i think</li>
+</ul>
+
+<p>
+Mod1 though Mod5 may also be used as modifiers. The xmodmap tool is used to
+set these up. The A and W modifiers are merely aliases for Mod1 and Mod4.
+</p>
+
+<p>
+The Key is the name of the key, such as 'a' or 'F1' or '4'. You can find the
+name of a key by running <b>xev</b> in a terminal, pressing the key, and
+watching the output from xev in the terminal.
+</p>
+
+<p>
+<b>ACTIONS</b> is any number of <a href="#actions">actions</a> which will be
+executed when the key combination is pressed.
+</p>
+
+<h3>Chaining</h3>
+
+<p>
+Key-chains, as first seen in Emacs, are possible by simply nesting the key bindings. For example:
+</p>
+
+<blockquote>
+&lt;keybind key="C-f"&gt;<br />
+&nbsp;&nbsp;&lt;keybind key="x"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/keybind&gt;<br />
+&lt;/keybind&gt;
+</blockquote>
+
+<p>
+The actions bound in this example would be fired by first pressing "C-f" (Hold Control - Press f), and then releasing everything and pressing "x".
+</p>
+
+<p>
+If you begin a key-chain, you will be unable to type in your applications until you complete the chain. After a short wait the chain will time out, and be cancelled. You may also cancel out of a chain by using the "C-g" (Hold Control - Press g) key sequence (the same as is used in Emacs). The cancelling key sequence is configurable if desired.
+</p>
+
+<h2><a name="mousebindings"></a>Mouse Bindings</h2>
+
+<h3>Introduction</h3>
+
+<p>
+Mouse bindings are used to bind <a href="#actions">actions</a> to mouse interactions. These control most of Openbox's behavior, from what happens when you click the Close button in a window's titlebar to how you drag windows to move them around the screen.
+</p>
+
+<p>
+Mouse bindings are found in the <b>mouse</b> section of the <b>rc.xml</b> file. Any mouse bindings outside of the mouse section will be ignored.
+</p>
+
+<h3>Syntax</h3>
+
+<p>
+Mouse bindings are specified using the following:
+</p>
+
+<blockquote>
+&lt;context name="CONTEXT"&gt;<br />
+&nbsp;&nbsp;&lt;mousebind button="BUTTON" action="INTERACTION"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/mousebind&gt;<br />
+&lt;/context&gt;
+</blockquote>
+
+<p>
+Any number of mousebinds may appear in a context, and any number of <a href="#actions">actions</a> may appear in a mousebind.
+</p>
+
+<p>
+First, some definitions:
+</p>
+<ul>
+  <li>
+    <b>Decorations</b> - The decorations drawn by Openbox around your applications. This includes the
+    <b>Titlebar</b> displayed on the top of each window, with the title, and some buttons in it. It also includes
+    the <b>Handle</b> displayed on the bottom of each window.
+  </li>
+  <li>
+    <b>Client area</b> - The applications themselves. This is the section of the window inside the
+    <b>Decorations</b>.
+  </li>
+</ul>
+
+<p>
+<b>CONTEXT</b> is the context in which the mouse interaction is taking place. The possible contexts are:
+</p>
+<ul>
+  <li>
+    <b>Frame</b> - Includes the entirety of all windows. This includes on their decorations <i>and</i> in their
+    <b>Client area</b>. <b>Note:</b> When a button is bound in this context, the clicks <b>will not</b> be
+    passed through to the application. Use with care.
+  </li>
+  <li>
+    <b>Client</b> - The <b>Client area</b> of all windows. <b>Notes:</b> When a button is bound in this
+    context, the clicks <b>will</b> be passed through to the application. Because of how these are handled,
+       <b>Press</b> interactions are the only useful interactions for this context.
+  </li>
+  <li>
+    <b>Desktop</b> - The desktop or background. This works even when you are running a file manager such
+    as Nautilus.
+  </li>
+  <li>
+    <b>Titlebar</b> - The <b>Decorations</b> on the top of each window, containing the window's title.
+  </li>
+  <li>
+    <b>Handle</b> - The <b>Decorations</b> on the bottom of each window.
+  </li>
+  <li>
+    <b>TLCorner</b> - The top-left corner of the window's titlebar (the mouse cursor changes while over
+    this). Generally this is only used for resizing windows.
+  </li>
+  <li>
+    <b>TRCorner</b> - The top-right corner of the window's titlebar (the mouse cursor changes while over
+    this). Generally this is only used for resizing windows.
+  </li>
+  <li>
+    <b>BLCorner</b> - The bottom-left corner of the window's handle (the mouse cursor changes while over
+    this). Generally this is only used for resizing windows.
+  </li>
+  <li>
+    <b>BRCorner</b> - The bottom-right corner of the window's handle (the mouse cursor changes while over
+    this). Generally this is only used for resizing windows.
+  </li>
+  <li>
+    <b>Icon</b> - The window's icon in all window's titlebars.
+  </li>
+  <li>
+    <b>AllDesktops</b> - The All-Desktops (Omnipresent) button in all window's titlebars. This button is not
+    visible in the default settings. It is called the All-Desktop button because its default bindings toggle
+    omnipresence on the window.
+  </li>
+  <li>
+    <b>Shade</b> - The Shade button in all window's titlebars. This button is not visible in the default settings. It
+    is called the Shade button because its default bindings toggle shading on the window.
+  </li>
+  <li>
+    <b>Iconify</b> - The Iconify button in all window's titlebars. It is called the Iconify button because its default
+    bindings iconify the window.
+  </li>
+  <li>
+    <b>Maximize</b> - The Maximize button in all window's titlebars. It is called the Maximize button because its
+    default bindings maximize the window.
+  </li>
+  <li>
+    <b>Close</b> - The Close button in all window's titlebars. It is called the Close button because its
+    default bindings close the window.
+  </li>
+  <li>
+    <b>MoveResize</b> - Bindings under this context are available while moving or resizing a window.
+  </li>
+</ul>
+
+<p>
+<b>BUTTON</b> is the mouse button and keyboard modifiers being bound. The button has the following syntax: <b>Modifier-Modifier-Button</b>. Any number of modifiers can be specified, following each one with a '-'. The available modifiers are listed <a href=docs.php?page=details.html#keybindings>here</a><!--:
+</p>
+
+<ul>
+<li><b>S</b> - the Shift key</li>
+<li><b>C</b> - the Control key</li>
+<li><b>A</b> - the Alt key</li>
+<li><b>W</b> - the Windows keys</li>
+</ul>
+
+<p>
+Mod1 though Mod5 may also be used as modifiers. The xmodmap tool is used to
+set these up. The A and W modifiers are merely aliases for Mod1 and Mod4.
+-->
+</p>
+
+<p>
+The Button can be the button's number, such as <b>1</b> or <b>3</b>, or it can be a name. The available names are <b>Left</b>, <b>Middle</b>, <b>Right</b>, <b>Up</b>, and <b>Down</b>.
+</p>
+
+<p>
+<b>INTERACTION</b> specifies what you are doing with your mouse for the binding. It can be one of the following:
+</p>
+<ul>
+  <li><b>Press</b> - A mouse button is pressed.</li>
+  <li><b>Release</b> - A mouse button is released.</li>
+  <li><b>Click</b> - A mouse button is pressed and released.</li>
+  <li>
+    <b>DoubleClick</b> - A mouse button is pressed and released twice, quickly. The time delay in which
+    both clicks must occur is configurable.
+  </li>
+  <li><b>Drag</b> - A mouse button is pressed, and the mouse is moved while holding the button down.</li>
+</ul>
+
+<p>
+<b>ACTIONS</b> is any number of <a href="#actions">actions</a> which will be executed when the mouse interaction occurs in the given context.
+</p>
+
+<h3>Examples</h3>
+
+<blockquote>
+&lt;context name="Close"&gt;<br />
+&nbsp;&nbsp;&lt;mousebind button="Left" action="Press"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/mousebind&gt;<br />
+&lt;/context&gt;<br />
+&lt;context name="Titlebar"&gt;<br />
+&nbsp;&nbsp;&lt;mousebind button="Left" action="Press"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/mousebind&gt;<br />
+&nbsp;&nbsp;&lt;mousebind button="Left" action="Click"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/mousebind&gt;<br />
+&nbsp;&nbsp;&lt;mousebind button="Left" action="Drag"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/mousebind&gt;<br />
+&nbsp;&nbsp;&lt;mousebind button="Right" action="Press"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/mousebind&gt;<br />
+&lt;/context&gt;
+</blockquote>
+
+<h2><a name="menus"></a>Menus</h2>
+
+<h3>Introduction</h3>
+
+<p>
+Menus are not read out of the <b>rc.xml</b> file, but rather out of files specified in the <b>rc.xml</b>. By default, the <b>menu.xml</b> file is read to build the menus.
+</p>
+
+<p>
+Each menu is given an <b>ID</b> which is used in the bindings to specify which menu is being shown.
+</p>
+
+<p>
+Openbox provides a few default menus:
+</p>
+<ul>
+  <li><b>client-menu</b> - A menu for controlling a window.</li>
+  <li><b>client-send-to-menu</b> - A menu for sending windows to desktops.</li>
+  <li><b>client-layer-menu</b> - A menu for selecting stacking layers for windows (Always on top, etc).</li>
+  <li><b>client-list-menu</b> - A menu for selecting a window or desktop to use.</li>
+</ul>
+
+<h3>Syntax</h3>
+
+<p>
+A menu file must be entirely enclosed within:
+</p>
+
+<blockquote>
+&lt;openbox_menu&gt;<br />
+...<br />
+&lt;/openbox_menu&gt;<br />
+</blockquote>
+
+<p>
+Inside these, menus are specified as follows:
+</p>
+
+<blockquote>
+&lt;menu id="ID" label="TITLE"&gt;<br />
+<br />
+&nbsp;&nbsp;&lt;item label="LABEL"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/item&gt;<br />
+<br />
+&nbsp;&nbsp;&lt;separator /&gt;<br />
+<br />
+&nbsp;&nbsp;&lt;menu id="ID" /&gt;<br />
+<br />
+&nbsp;&nbsp;&lt;separator /&gt;<br />
+<br />
+&nbsp;&nbsp;&lt;menu id="ID" label="TITLE" /&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&lt;item label="LABEL"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&lt;/item&gt;<br />
+&nbsp;&nbsp;&lt;/menu&gt;<br />
+<br />
+&nbsp;&nbsp;&lt;separator /&gt;<br />
+<br />
+&nbsp;&nbsp;&lt;item label="LABEL"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/item&gt;<br />
+<br />
+&lt;/menu&gt;<br />
+</blockquote>
+
+<p>
+The syntax example above shows how to put entries into a menu (items) and two methods to add submenus to a menu. It also shows how to put separators into the menu to group items visibly.
+</p>
+
+<p>
+Submenus can be simply referenced, and defined outside the parent menu (as the first submenu in the example would be). Submenus can also be nested directly into the containing menu, and still be referenced elsewhere.
+</p>
+
+<p>
+<b>ID</b> is a unique identifier used to reference the menu. The value of the ID can be used in a <b>ShowMenu</b> <a href="#actions">action</a> to use the menu.
+</p>
+
+<p>
+<b>TITLE</b> is the title displayed on the menu.
+</p>
+
+<p>
+<b>LABEL</b> is the text displayed in the menu item
+</p>
+
+<p>
+<b>ACTIONS</b> is any number of <a href="#actions">actions</a> which will be executed when the menu item is selected.
+</p>
+
+<h3>Pipe menus</h3>
+
+<p>
+Openbox allows for dynamic menus, built on-the-fly from scripts. These are referred to as "Pipe menus" since the script's output is piped back to Openbox and used for the menu.
+</p>
+
+<p>
+A Pipe menu can be created by placing the following into a menu file:
+</p>
+
+<blockquote>
+&lt;menu id="ID" label="TITLE" execute="COMMAND" /&gt;<br />
+</blockquote>
+
+<p>
+The generated Pipe menu can be referenced just like any other menu.
+</p>
+
+<p>
+<b>COMMAND</b> is a command which is executed. The output from this command is parsed and turned into the menu. The output from the script should be a menu, something like:
+</p>
+
+<blockquote>
+&lt;openbox_pipe_menu&gt;<br />
+&nbsp;&nbsp;&lt;item label="LABEL"&gt;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;ACTIONS<br />
+&nbsp;&nbsp;&lt;/item&gt;<br />
+&lt;/openbox_pipe_menu&gt;<br />
+</blockquote>
+
+<h2><a name="actions"></a>Actions</h2>
+
+<h3>Introduction</h3>
+
+<p>
+Actions are used to specify the behavior of Openbox. Any place where
+you can use actions, you can place more than one in a row to cause them all
+to execute one after the other.
+</p>
+
+<h3>Syntax</h3>
+
+<h4>Basic Syntax</h4>
+
+<p>
+Actions are specified using the following:
+</p>
+
+<blockquote>
+&lt;action name="NAME"&gt;PARAMETERS&lt;/action&gt;
+</blockquote
+
+<p>
+<b>NAME</b> is the name of the action, specifying which action to execute.
+</p>
+
+<p>
+<b>PARAMETERS</b> is any possible inner tags to change how the action
+will behave. For example, the <b>Execute</b> action has an inner execute
+parameter specifying what will be run:
+</p>
+
+<blockquote>
+&lt;action name="Execute"&gt;&lt;execute&gt;xterm&lt;/execute&gt;&lt;/action&gt;
+</blockquote>
+
+<p>
+As another example, the <b>DesktopRight</b> action has an inner wrap parameter
+which specifies if the action should wrap around to the beginning when trying
+to go past the end:
+</p>
+
+<blockquote>
+&lt;action name="DesktopRight"&gt;&lt;wrap&gt;no&lt;/wrap&gt;&lt;/action&gt;
+</blockquote>
+
+<h4>Syntax of Parameters</h4>
+
+<p>
+There are 3 types of parameters:
+</p>
+
+<ul>
+  <li>Strings</li>
+  <li>Numbers</li>
+  <li>Booleans (True/False)</li>
+</ul>
+
+<p>
+The format of Strings and Numbers is pretty obvious. <b>foo</b> would be a valid
+String, and <b>23</b> would be a valid Number.
+</p>
+
+<p>
+Booleans can be specied with one of: <b>true</b>, <b>false</b>, <b>yes</b>,
+<b>no</b>, <b>on</b>, or <b>off</b>.
+</p>
+
+<h4>Actions on Windows</h4>
+
+<p>
+Some actions will be performed globally, but some must be associated with a
+window, and cause the action to be applied to that window. When binding
+actions to mouse clicks, the window clicked on will have all the bound actions
+performed on it as applicable. When binding actions to keys, the actions will
+be associated with the currently focused window.
+</p>
+
+<h3>Available actions</h3>
+
+<h4>Global Actions</h4>
+
+<table class="docs">
+<tr>
+  <th>Name</th>
+  <th>Parameters (default value in brackets)</th>
+</tr>
+
+<tr>
+  <td><b>Execute</b> - run an executable</td>
+  <td><b>command</b> () - specifies the executable to be run along with any
+      arguments to pass it. The tilde ('~') character will be expanded in this
+         string to your home directory, but no other shell expansions or
+         scripting syntax can be used in the command.
+  </td>
+</tr>
+
+<tr>
+  <td><b>DirectionalFocusNorth</b> - cycles focus to the window north of the
+         currently focused window.</td>
+  <td><b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>DirectionalFocusEast</b> - cycles focus to the window east of the
+         currently focused window.</td>
+  <td><b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>DirectionalFocusSouth</b> - cycles focus to the window south of the
+         currently focused window.</td>
+  <td><b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>DirectionalFocusWest</b> - cycles focus to the window west of the
+         currently focused window.</td>
+  <td><b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>DirectionalFocusNorthEast</b> - cycles focus to the window northeast
+         of the currently focused window.</td>
+  <td><b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>DirectionalFocusSouthEast</b> - cycles focus to the window southeast
+         of the currently focused window.</td>
+  <td><b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>DirectionalFocusSouthWest</b> - cycles focus to the window southwest
+         of the currently focused window.</td>
+  <td><b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>DirectionalFocusNorthWest</b> - cycles focus to the window northwest
+         of the currently focused window.</td>
+  <td><b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>NextWindow</b> - cycles focus to the next window.</td>
+  <td><b>linear</b> (no) - when true, windows are always cycled in the order
+      in which they appeared; otherwise, they are cycled in order of
+         recent use.
+        <b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>PreviousWindow</b> - cycles focus to the previous window.</td>
+  <td><b>linear</b> (no) - when true, windows are always cycled in the order
+      in which they appeared; otherwise, they are cycled in order of
+         recent use.
+        <b>dialog</b> (yes) - display the focus cycling dialog while switching focus.</td>
+</tr>
+
+<tr>
+  <td><b>Desktop</b> - changes the currently visible desktop.</td>
+  <td><b>desktop</b> (1) - the number of the desktop (starting at 1) to make
+          visible.
+        <b>dialog</b> (no) - display the desktop dialog (with pager) while switching desktops. This will only
+        work in keyboard bindings; otherwise, it is disabled.</td>
+</tr>
+<tr>
+  <td><b>AddDesktopLast</b> - Adds a new desktop at the end of the list of current desktops.</td>
+</tr>
+<tr>
+  <td><b>RemoveDesktopLast</b> - Removes the last of the current desktops.</td> 
+</tr>
+<tr>
+  <td><b>AddDesktopCurrent</b> - Adds a new desktop at the current location in the list of desktops.</td>
+</tr>
+<tr>
+  <td><b>RemoveDesktopCurrent</b> - Removes the current desktop.</td> 
+</tr>
+
+<tr>
+  <td><b>DesktopNext</b> - makes the next desktop visible.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the first desktop when
+         going past the last.<br />
+        <b>dialog</b> (yes) - display the desktop dialog (with pager) while switching desktops. This will only
+        work in keyboard bindings; otherwise, it is disabled.</td>
+</tr>
+
+<tr>
+  <td><b>DesktopPrevious</b> - makes the previous desktop visible.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the last desktop when
+         going past the first.<br />
+        <b>dialog</b> (yes) - display the desktop dialog (with pager) while switching desktops. This will only
+        work in keyboard bindings; otherwise, it is disabled.</td>
+</tr>
+
+<tr>
+  <td><b>DesktopRight</b> - makes visible the desktop to the right of the
+         currrently visible desktop.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the first desktop when
+         going past the last.<br />
+        <b>dialog</b> (yes) - display the desktop dialog (with pager) while switching desktops. This will only
+        work in keyboard bindings; otherwise, it is disabled.</td>
+</tr>
+
+<tr>
+  <td><b>DesktopLeft</b> - makes visible the desktop to the left of the
+         currently visible desktop.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the last desktop when
+         going past the first.<br />
+        <b>dialog</b> (yes) - display the desktop dialog (with pager) while switching desktops. This will only
+        work in keyboard bindings; otherwise, it is disabled.</td>
+</tr>
+
+<tr>
+  <td><b>DesktopDown</b> - makes visible the desktop beneath the currently
+      visible desktop.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the first desktop when
+         going past the last.<br />
+        <b>dialog</b> (yes) - display the desktop dialog (with pager) while switching desktops. This will only
+        work in keyboard bindings; otherwise, it is disabled.</td>
+</tr>
+
+<tr>
+  <td><b>DesktopUp</b> - makes visible the desktop above the currently
+      visible desktop.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the last desktop when
+         going past the first.<br />
+        <b>dialog</b> (yes) - display the desktop dialog (with pager) while switching desktops. This will only
+        work in keyboard bindings; otherwise, it is disabled.</td>
+</tr>
+
+<tr>
+  <td><b>ToggleShowDesktop</b> - toggles between <a>ShowDesktop</a> and
+      <a>UnshowDesktop</a>.</td>
+</tr>
+
+<tr>
+  <td><b>DesktopLast</b> - makes the most recently visible desktop visible
+      again. Only one desktop is remembered, so using this twice will simply
+         flip between two desktops.</td>
+</tr>
+
+<tr>
+  <td><b>ShowMenu</b> - shows a menu by name</td>
+  <td><b>menu</b> () - the name of the menu to show. The names of menus are
+      specified in the <b>id</b> attribute of their <b>menu</b> tag.</td>
+</tr>
+
+<tr>
+  <td><b>Reconfigure</b> - reloads the config file, menu, and theme.</td>
+</tr>
+
+<tr>
+  <td><b>Restart</b> - restarts Openbox. This starts a new copy of Openbox,
+      and can be used to upgrade to a newly installed version.</td>
+  <td><b>command</b> () - when this is used, the executable specified within
+      will be run instead of Openbox. This can be used to switch to another
+         window manager if desired.</td>
+</tr>
+
+<tr>
+  <td><b>Exit</b> - exits Openbox.</td>
+</tr>
+
+</table>
+
+<h4>Actions for Windows</h4>
+
+<table class="docs">
+<tr>
+  <th>Name</th>
+  <th>Parameters (default value in brackets)</th>
+</tr>
+
+<tr>
+  <td><b>Activate</b> - activates the window. This is the same process that
+      occurs when focus cycling to a window, or selecting it in the
+         client-list-menu.</td>
+</tr>
+
+<tr>
+  <td><b>Focus</b> - give focus to the window.</td>
+</tr>
+
+<tr>
+  <td><b>Unfocus</b> - remove focus from the window.</td>
+</tr>
+
+<tr>
+  <td><b>Iconify</b> - iconify the window. This causes the window to
+      not be shown on screen. The window can be found again with focus cycling
+         or with the client-list-menu.</td>
+</tr>
+
+<tr>
+  <td><b>RaiseLower</b> - raise the window to the forefront if it is obscured
+      behind anything; lower it to the back if it is already at the front.</td>
+</tr>
+
+<tr>
+  <td><b>Raise</b> - raise the window to the forefront.</td>
+</tr>
+
+<tr>
+  <td><b>Lower</b> - lower the window to the back.</td>
+</tr>
+
+<tr>
+  <td><b>Close</b> - request the window to close.</td>
+</tr>
+
+<tr>
+  <td><b>Kill</b> - forcibly disconnect the window's application from the
+      X server.</td>
+</tr>
+
+<tr>
+  <td><b>ShadeLower</b> - <a>Shade</a> the window; if the window is already
+      shaded, then <a>Lower</a> it.</td>
+</tr>
+
+<tr>
+  <td><b>UnshadeRaise</b> - <a>Unshade</a> the window; if the window is
+      already unshaded, then <a>Raise</a> it.</td>
+</tr>
+
+<tr>
+  <td><b>Shade</b> - shade the window. This hides everything of the window
+      except the titlebar. This concept has also been known as "rolling up" the
+         window into the titlebar.</td>
+</tr>
+
+<tr>
+  <td><b>Unshade</b> - unshade the window. This shows the entire window if it
+      was previously shaded.</td>
+</tr>
+
+<tr>
+  <td><b>ToggleShade</b> - toggles the shaded state of the window, firing the
+      <a>Shade</a> and <a>Unshade</a> actions appropriately.</td>
+</tr>
+
+<tr>
+  <td><b>ToggleOmnipresent</b> - toggles between moving the client to all
+      desktops (omnipresent) and to the currently visible desktop.</td>
+</tr>
+
+<tr>
+  <td><b>MoveRelative</b> - moves the window</td>
+  <td><b>x</b> (0) - the number of pixels to move the window horizontally. A positive
+      value moves to the right, a negative value moves to the left.<br/>
+  <b>y</b> (0) - the number of pixels to move the window vertically. A positive
+      value moves down, a negative value moves up.</td>
+</tr>
+
+<tr>
+  <td><b>ResizeRelative</b> - resizes the window</td>
+  <td><b>top</b> or <b>up</b> (0) - the amount to move the top edge of the window. A positive
+         value makes the window taller, a negative value makes it shorter.<br/>
+  <b>bottom</b> or <b>down</b> (0) - the amount to move the bottom edge of the window. A positive
+         value makes the window taller, a negative value makes it shorter.<br/>
+  <b>left</b> (0) - the amount to move the left edge of the window. A positive
+         value makes the window wider, a negative value makes it narrower.<br/>
+  <b>right</b> (0) - the amount to move the right edge of the window. A positive
+         value makes the window wider, a negative value makes it narrower.</td>
+</tr>
+
+<tr>
+  <td><b>MaximizeFull</b> - maximizes a window to fill the entire screen.</td>
+</tr>
+
+<tr>
+  <td><b>UnmaximizeFull</b> - restores a window to its original size.</td>
+</tr>
+
+<tr>
+  <td><b>ToggleMaximizeFull</b> - toggles between <a>MaximizeFull</a> and
+         <a>UnmaximizeFull</a>.</td>
+</tr>
+
+<tr>
+  <td><b>MaximizeHorz</b> - maximizes a window to fill the entire screen
+         horizontally, but not vertically.</td>
+</tr>
+
+<tr>
+  <td><b>UnmaximizeHorz</b> - restores a window to its original size.</td>
+</tr>
+
+<tr>
+  <td><b>ToggleMaximizeHorz</b> - toggles between <a>MaximizeHorz</a> and
+         <a>UnmaximizeHorz</a>.</td>
+</tr>
+
+<tr>
+  <td><b>MaximizeVert</b> - maximizes a window to fill the entire screen
+      vertically, but not horizontally.</td>
+</tr>
+
+<tr>
+  <td><b>UnmaximizeVert</b> - restores a window to its original size.</td>
+</tr>
+
+<tr>
+  <td><b>ToggleMaximizeVert</b> - toggles between <a>MaximizeHorz</a> and
+      <a>UnmaximizeVert</a>.</td>
+</tr>
+
+<tr>
+  <td><b>SendToDesktop</b> - sends the window to the specified desktop</td>
+  <td><b>desktop</b> (1) - the number of the desktop (starting at 1) to
+      send the window to.<br />
+         <b>follow</b> (yes) - whether to change to the desktop while moving
+         the window.</td>
+</tr>
+
+<tr>
+  <td><b>SendToDesktopNext</b> - sends the window to the next desktop.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the first desktop when
+         going past the last.<br />
+         <b>follow</b> (yes) - whether to change to the desktop while moving
+         the window.</td>
+</tr>
+
+<tr>
+  <td><b>SendToDesktopPrevious</b> - sends the window to the previous
+         desktop.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the last desktop when
+         going past the first.<br />
+         <b>follow</b> (yes) - whether to change to the desktop while moving
+         the window.</td>
+</tr>
+
+<tr>
+  <td><b>SendToDesktopRight</b> - sends the window to the desktop to the
+         right of the currently visible desktop.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the first desktop when
+         going past the last.<br />
+         <b>follow</b> (yes) - whether to change to the desktop while moving
+         the window.</td>
+</tr>
+
+<tr>
+  <td><b>SendToDesktopLeft</b> - sends the window to the desktop to the
+         left of the currently visible desktop.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the last desktop when
+         going past the first.<br />
+         <b>follow</b> (yes) - whether to change to the desktop while moving
+         the window.</td>
+</tr>
+
+<tr>
+  <td><b>SendToDesktopDown</b> - sends the window to the desktop beneath the
+      currently visible desktop.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the first desktop when
+      going past the last.<br />
+         <b>follow</b> (yes) - whether to change to the desktop while moving
+         the window.</td>
+</tr>
+
+<tr>
+  <td><b>SendToDesktopUp</b> - sends the window to the desktop above the
+      currently visible desktops.</td>
+  <td><b>wrap</b> (yes) - whether to wrap around to the last desktop when
+         going past the first.<br />
+         <b>follow</b> (yes) - whether to change to the desktop while moving
+         the window.</td>
+</tr>
+
+<tr>
+  <td><b>ToggleDecorations</b> - toggles if the window is given decorations.
+      Decorations are the the titlebar and handle that are shown around most
+         windows.</td>
+</tr>
+
+<tr>
+  <td><b>Move</b> - begins an interactive move. The move will complete when the
+      mouse button is released, if it is bound to one. The Enter key will also
+         complete the move, and the Escape key will cancel it.</td>
+</tr>
+
+<tr>
+  <td><b>Resize</b> - begins an interactive resize. The resize will complete
+      when the mouse button is released, if it is bound to one. The Enter
+         key will also complete the resize, and the Escape key will cancel
+         it.</td>
+</tr>
+
+<tr>
+  <td><b>SendToTopLayer</b> - makes the window always-on-top.</td>
+</tr>
+
+<tr>
+  <td><b>SendToNormalLayer</b> - make the window not always-on-top or
+      always-on-bottom.</td>
+</tr>
+
+<tr>
+  <td><b>SendToBottomLayer</b> - makes the window always-on-bottom.</td>
+</tr>
+
+<tr>
+  <td><b>ToggleAlwaysOnTop</b> - toggles between <a>SendToTopLayer</a> and
+      <a>SendToNormalLayer</a>.</td>
+</tr>
+
+<tr>
+  <td><b>ToggleAlwaysOnBottom</b> - toggles between <a>SendToBottomLayer</a>
+      and <a>SendToNormalLayer</a>.</td>
+</tr>
+
+<tr>
+  <td><b>MoveToEdgeNorth</b> - moves the window to the nearest edge to
+         the north of it.</td>
+</tr>
+
+<tr>
+  <td><b>MoveToEdgeSouth</b> - moves the window to the nearest edge to
+         the south of it.</td>
+</tr>
+
+<tr>
+  <td><b>MoveToEdgeEast</b> - moves the window to the nearest edge to
+         the east of it.</td>
+</tr>
+
+<tr>
+  <td><b>MoveToEdgeWest</b> - moves the window to the nearest edge to
+      the west of it.</td>
+</tr>
+
+<tr>
+  <td><b>GrowToEdgeNorth</b> - resizes the window up to the nearest edge to
+         the north of it.</td>
+</tr>
+
+<tr>
+  <td><b>GrowToEdgeSouth</b> - resizes the window up to the nearest edge to
+         the south of it.</td>
+</tr>
+
+<tr>
+  <td><b>GrowToEdgeEast</b> - resizes the window up to the nearest edge to
+         the east of it.</td>
+</tr>
+
+<tr>
+  <td><b>GrowToEdgeWest</b> - resizes the window up to the nearest edge to
+      the west of it.</td>
+</tr>
+
+</table>
+
+<h3>Examples</h3>
+
+<blockquote>
+&lt;action name="Raise"/&gt;<br />
+&lt;action name="Focus"/&gt;
+</blockquote>
+
+<blockquote>
+&lt;action name="ShowMenu"&gt;&lt;menu&gt;root-menu&lt;/menu&gt;&lt;/action&gt;
+</blockquote>
+
+<blockquote>
+&lt;action name="MoveRelativeVert"&gt;&lt;delta&gt;5&lt;/delta&gt;&lt;/action&gt;
+</blockquote>
+
+<blockquote>
+&lt;action name="SendToDesktopNext"&gt<br />
+&nbsp;&nbsp;&lt;wrap&gt;no&lt;/wrap&gt;<br />
+&nbsp;&nbsp;&lt;follow&gt;no&lt;/follow&gt;<br />
+&lt;/action&gt;
+</blockquote>
+
+<a href="toc.html">Table of Contents</a>
diff --git a/debian/docs/toc.html b/debian/docs/toc.html
new file mode 100644 (file)
index 0000000..245fb2f
--- /dev/null
@@ -0,0 +1,38 @@
+<h1>Openbox</h1>
+
+<ol class="toc">
+    <li><a href="build.html">Building Openbox</a></li>
+  
+    <ol class="toc">
+        <li><a href="build.html#compile">Compiling</a></li>
+        <li><a href="build.html#install">Installing</a></li>
+        <ol class="toc">
+           <li><a href="build.html#install-gnome">
+               Using with GNOME</a></li>
+            <li><a href="build.html#install-kde">
+                Using with KDE</a></li>
+            <li><a href="build.html#install-startx">
+                Using with startx</a></li>
+            <li><a href="build.html#install-xdm">
+                Using with xdm/xgm/kdm</a></li>
+        </ol>
+    </ol>
+
+    <li><a href="config.html">Configuring Openbox</a></li>
+
+    <ol class="toc">
+        <li><a href="config.html#locations">File locations</a></li>
+        <li><a href="config.html#options">Options</a></li>
+        <li><a href="config.html#menus">Menus</a></li>
+        <li><a href="config.html#themes">Themes</a></li>
+    </ol>
+
+       <li><a href="details.html">Details of the Config Files</a></li>
+
+       <ol class="toc">
+               <li><a href="details.html#keybindings">Key Bindings</a></li>
+               <li><a href="details.html#mousebindings">Mouse Bindings</a></li>
+               <li><a href="details.html#menus">Menus</a></li>
+               <li><a href="details.html#actions">Actions</a></li>
+       </ol>
+</ol>
diff --git a/debian/gdm-control.pod b/debian/gdm-control.pod
new file mode 100644 (file)
index 0000000..21d8921
--- /dev/null
@@ -0,0 +1,64 @@
+=head1 NAME
+
+Openbox - standards compliant, fast, light-weight, extensible window manager.
+
+=head1 SYNOPSIS
+
+gdm-control <option>
+
+=head1 DESCRIPTION
+
+gdm-control lets you control gdm from within an X session.
+It enables you to change GDM's behaviour for when you end the current sesson.
+For instance, you can tell GDM to reboot, and then immediately log out
+of the current session, and the computer will be rebooted.
+
+=head1 OPTIONS
+
+=over 5
+
+=item B<< --help >>
+
+Display some help and exit.
+
+=item B<< --none >>
+
+Do nothing special when the current session ends.
+
+=item B<< --shutdown >>
+
+Shutdown the computer when the current session ends.
+
+=item B<< --reboot >>
+
+eboot the computer when the current session ends.
+
+=item B<< --suspend >>
+
+Suspend the computer when the current session ends.
+
+=item B<< --switch-user >>
+
+Log in as a new user (this works immediately).
+
+=back
+
+=head1 AUTHORS
+
+Openbox was written by Mikael Magnusson <mangosoft@comhem.se> and Dana Jansens
+<danakj@orodu.net>, aided by several contributors; for a full list read the
+file AUTHORS.
+
+This manual page was written by Nico Golde <nion@debian.org>
+
+=head1 COPYRIGHT
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+=cut
diff --git a/debian/gnome-panel-control.install b/debian/gnome-panel-control.install
new file mode 100644 (file)
index 0000000..a14f1c3
--- /dev/null
@@ -0,0 +1 @@
+usr/bin/gnome-panel-control
diff --git a/debian/gnome-panel-control.manpages b/debian/gnome-panel-control.manpages
new file mode 100644 (file)
index 0000000..a8f3428
--- /dev/null
@@ -0,0 +1 @@
+gnome-panel-control.1
diff --git a/debian/gnome-panel-control.pod b/debian/gnome-panel-control.pod
new file mode 100644 (file)
index 0000000..19dd481
--- /dev/null
@@ -0,0 +1,54 @@
+=head1 NAME
+
+Openbox - standards compliant, fast, light-weight, extensible window manager.
+
+=head1 SYNOPSIS
+
+gnome-panel-control <option>
+
+=head1 DESCRIPTION
+
+As of GNOME 2.4, gnome-panel no longer manages its own key bindings, and
+requires that the window manager provide its own key bindings for showing the
+Main Menu and Run dialog. Openbox does this through the bundled
+B<< gnome-panel-control >> tool, which can be used in keybindings to access the
+gnome-panel. Use the B<< --main-menu >> option to display gnome-panel's menu,
+and the B<< --run-dialog >> to display its Run dialog. 
+
+=head1 OPTIONS
+
+=over 5
+
+=item B<< --help >>
+
+Display some help and exit.
+
+=item B<< --main-menu >>
+
+Show the main menu.
+
+=item B<< --run-dialog >>
+
+Show the run dialog.
+
+=back
+
+=head1 AUTHORS
+
+Openbox was written by Mikael Magnusson <mangosoft@comhem.se> and Ben Jansens
+<ben@openbox.org>, aided by several contributors; for a full list read the
+file AUTHORS.
+
+This manual page was written by Tore Anderson <tore@debian.org>.
+
+=head1 COPYRIGHT
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+=cut
diff --git a/debian/kdetrayproxy.pod b/debian/kdetrayproxy.pod
new file mode 100644 (file)
index 0000000..7a65c59
--- /dev/null
@@ -0,0 +1,35 @@
+=head1 NAME
+
+Openbox - standards compliant, fast, light-weight, extensible window manager.
+
+=head1 SYNOPSIS
+
+kdetrayproxy &
+
+=head1 DESCRIPTION
+
+The current release of KDE is still using a non-standard, deprecated protocol
+for its system tray. This protocol requires interaction from the window
+manager. In place of that, Openbox includes the B<< kdetrayproxy >> 
+application. Once you run it, KDE system tray apps will work with window
+managers that don't support the legacy protocol, like Openbox. 
+
+=head1 AUTHORS
+
+Openbox was written by Mikael Magnusson <mangosoft@comhem.se> and Ben Jansens
+<ben@openbox.org>, aided by several contributors; for a full list read the
+file AUTHORS.
+
+This manual page was written by Tore Anderson <tore@debian.org>.
+
+=head1 COPYRIGHT
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+=cut
diff --git a/debian/libobrender27.docs b/debian/libobrender27.docs
new file mode 100644 (file)
index 0000000..6f12db5
--- /dev/null
@@ -0,0 +1,2 @@
+AUTHORS
+README
diff --git a/debian/libobrender27.install b/debian/libobrender27.install
new file mode 100644 (file)
index 0000000..e82f734
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/libobrender.so.27.0.1
+usr/lib/libobrender.so.27
diff --git a/debian/libobrender27.symbols b/debian/libobrender27.symbols
new file mode 100644 (file)
index 0000000..63c0773
--- /dev/null
@@ -0,0 +1,75 @@
+libobrender.so.27 libobrender27 #MINVER#
+ DrawRGBA@Base 3.5.0
+ RrAppearanceAddTextures@Base 3.5.0
+ RrAppearanceClearTextures@Base 3.5.0
+ RrAppearanceCopy@Base 3.5.0
+ RrAppearanceFree@Base 3.5.0
+ RrAppearanceNew@Base 3.5.0
+ RrAppearanceRemoveTextures@Base 3.5.0
+ RrBlueMask@Base 3.5.0
+ RrBlueOffset@Base 3.5.0
+ RrBlueShift@Base 3.5.0
+ RrColorAllocateGC@Base 3.5.0
+ RrColorBlue@Base 3.5.0
+ RrColorFree@Base 3.5.0
+ RrColorGC@Base 3.5.0
+ RrColorGreen@Base 3.5.0
+ RrColorHash@Base 3.5.0
+ RrColorNew@Base 3.5.0
+ RrColorParse@Base 3.5.0
+ RrColorPixel@Base 3.5.0
+ RrColorRed@Base 3.5.0
+ RrColormap@Base 3.5.0
+ RrDepth@Base 3.5.0
+ RrDisplay@Base 3.5.0
+ RrFontClose@Base 3.5.0
+ RrFontDraw@Base 3.5.0
+ RrFontHeight@Base 3.5.0
+ RrFontMeasureString@Base 3.5.0
+ RrFontOpen@Base 3.5.0
+ RrFontOpenDefault@Base 3.5.0
+ RrFontRef@Base 3.5.0
+ RrGreenMask@Base 3.5.0
+ RrGreenOffset@Base 3.5.0
+ RrGreenShift@Base 3.5.0
+ RrImageAddFromData@Base 3.5.0
+ RrImageCacheNew@Base 3.5.0
+ RrImageCacheRef@Base 3.5.0
+ RrImageCacheUnref@Base 3.5.0
+ RrImageDrawImage@Base 3.5.0
+ RrImageDrawRGBA@Base 3.5.0
+ RrImageNewFromData@Base 3.5.0
+ RrImageNewFromName@Base 3.5.0
+ RrImagePicHash@Base 3.5.0
+ RrImageRef@Base 3.5.0
+ RrImageSetDestroyFunc@Base 3.5.0
+ RrImageSetMergeSets@Base 3.5.0
+ RrImageUnref@Base 3.5.0
+ RrIncreaseDepth@Base 3.5.0
+ RrInstanceFree@Base 3.5.0
+ RrInstanceNew@Base 3.5.0
+ RrMargins@Base 3.5.0
+ RrMinHeight@Base 3.5.0
+ RrMinSize@Base 3.5.0
+ RrMinWidth@Base 3.5.0
+ RrPaint@Base 3.5.0
+ RrPaintPixmap@Base 3.5.0
+ RrPickColor@Base 3.5.0
+ RrPixmapMaskCopy@Base 3.5.0
+ RrPixmapMaskDraw@Base 3.5.0
+ RrPixmapMaskFree@Base 3.5.0
+ RrPixmapMaskNew@Base 3.5.0
+ RrPixmapToRGBA@Base 3.5.0
+ RrPseudoBPC@Base 3.5.0
+ RrPseudoColors@Base 3.5.0
+ RrRedMask@Base 3.5.0
+ RrRedOffset@Base 3.5.0
+ RrRedShift@Base 3.5.0
+ RrReduceDepth@Base 3.5.0
+ RrRender@Base 3.5.0
+ RrRootWindow@Base 3.5.0
+ RrScreen@Base 3.5.0
+ RrThemeFree@Base 3.5.0
+ RrThemeNew@Base 3.5.0
+ RrVisual@Base 3.5.0
+ hashword@Base 3.5.0
diff --git a/debian/libobt0.docs b/debian/libobt0.docs
new file mode 100644 (file)
index 0000000..6f12db5
--- /dev/null
@@ -0,0 +1,2 @@
+AUTHORS
+README
diff --git a/debian/libobt0.install b/debian/libobt0.install
new file mode 100644 (file)
index 0000000..4d21dcc
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib/libobt.so.0.0.1
+usr/lib/libobt.so.0
diff --git a/debian/libobt0.symbols b/debian/libobt0.symbols
new file mode 100644 (file)
index 0000000..6bb2d35
--- /dev/null
@@ -0,0 +1,111 @@
+libobt.so.0 libobt0 #MINVER#
+ callbacks@Base 3.5.0
+ gid_cmp@Base 3.5.0
+ obt_ddparse_file@Base 3.5.0
+ obt_ddparse_group_keys@Base 3.5.0
+ obt_display@Base 3.5.0
+ obt_display_close@Base 3.5.0
+ obt_display_error_occured@Base 3.5.0
+ obt_display_extension_randr@Base 3.5.0
+ obt_display_extension_randr_basep@Base 3.5.0
+ obt_display_extension_shape@Base 3.5.0
+ obt_display_extension_shape_basep@Base 3.5.0
+ obt_display_extension_sync@Base 3.5.0
+ obt_display_extension_sync_basep@Base 3.5.0
+ obt_display_extension_xinerama@Base 3.5.0
+ obt_display_extension_xinerama_basep@Base 3.5.0
+ obt_display_extension_xkb@Base 3.5.0
+ obt_display_extension_xkb_basep@Base 3.5.0
+ obt_display_ignore_errors@Base 3.5.0
+ obt_display_open@Base 3.5.0
+ obt_keyboard_context_new@Base 3.5.0
+ obt_keyboard_context_ref@Base 3.5.0
+ obt_keyboard_context_renew@Base 3.5.0
+ obt_keyboard_context_unref@Base 3.5.0
+ obt_keyboard_keyevent_to_modkey@Base 3.5.0
+ obt_keyboard_keyevent_to_modmask@Base 3.5.0
+ obt_keyboard_keypress_to_keysym@Base 3.5.0
+ obt_keyboard_keypress_to_unichar@Base 3.5.0
+ obt_keyboard_keysym_to_keycode@Base 3.5.0
+ obt_keyboard_modkey_to_modmask@Base 3.5.0
+ obt_keyboard_only_modmasks@Base 3.5.0
+ obt_keyboard_reload@Base 3.5.0
+ obt_keyboard_shutdown@Base 3.5.0
+ obt_link_app_categories@Base 3.5.0
+ obt_link_from_ddfile@Base 3.5.0
+ obt_link_ref@Base 3.5.0
+ obt_link_unref@Base 3.5.0
+ obt_paths_autostart_dirs@Base 3.5.0
+ obt_paths_cache_home@Base 3.5.0
+ obt_paths_config_dirs@Base 3.5.0
+ obt_paths_config_home@Base 3.5.0
+ obt_paths_data_dirs@Base 3.5.0
+ obt_paths_data_home@Base 3.5.0
+ obt_paths_expand_tilde@Base 3.5.0
+ obt_paths_mkdir@Base 3.5.0
+ obt_paths_mkdir_path@Base 3.5.0
+ obt_paths_new@Base 3.5.0
+ obt_paths_ref@Base 3.5.0
+ obt_paths_try_exec@Base 3.5.0
+ obt_paths_unref@Base 3.5.0
+ obt_prop_atom@Base 3.5.0
+ obt_prop_erase@Base 3.5.0
+ obt_prop_get32@Base 3.5.0
+ obt_prop_get_array32@Base 3.5.0
+ obt_prop_get_array_text@Base 3.5.0
+ obt_prop_get_text@Base 3.5.0
+ obt_prop_message@Base 3.5.0
+ obt_prop_message_to@Base 3.5.0
+ obt_prop_set32@Base 3.5.0
+ obt_prop_set_array32@Base 3.5.0
+ obt_prop_set_array_text@Base 3.5.0
+ obt_prop_set_text@Base 3.5.0
+ obt_prop_startup@Base 3.5.0
+ obt_signal_add_callback@Base 3.5.0
+ obt_signal_listen@Base 3.5.0
+ obt_signal_remove_callback@Base 3.5.0
+ obt_signal_stop@Base 3.5.0
+ obt_xml_attr_bool@Base 3.5.0
+ obt_xml_attr_contains@Base 3.5.0
+ obt_xml_attr_int@Base 3.5.0
+ obt_xml_attr_string@Base 3.5.0
+ obt_xml_close@Base 3.5.0
+ obt_xml_doc@Base 3.5.0
+ obt_xml_find_node@Base 3.5.0
+ obt_xml_instance_new@Base 3.5.0
+ obt_xml_instance_ref@Base 3.5.0
+ obt_xml_instance_unref@Base 3.5.0
+ obt_xml_load_config_file@Base 3.5.0
+ obt_xml_load_data_file@Base 3.5.0
+ obt_xml_load_file@Base 3.5.0
+ obt_xml_load_mem@Base 3.5.0
+ obt_xml_load_theme_file@Base 3.5.0
+ obt_xml_node_bool@Base 3.5.0
+ obt_xml_node_contains@Base 3.5.0
+ obt_xml_node_int@Base 3.5.0
+ obt_xml_node_string@Base 3.5.0
+ obt_xml_register@Base 3.5.0
+ obt_xml_root@Base 3.5.0
+ obt_xml_save_file@Base 3.5.0
+ obt_xml_tree@Base 3.5.0
+ obt_xml_tree_from_root@Base 3.5.0
+ prop_atoms@Base 3.5.0
+ prop_started@Base 3.5.0
+ signals_fired@Base 3.5.0
+ xqueue_add_callback@Base 3.5.0
+ xqueue_destroy@Base 3.5.0
+ xqueue_exists@Base 3.5.0
+ xqueue_exists_local@Base 3.5.0
+ xqueue_init@Base 3.5.0
+ xqueue_listen@Base 3.5.0
+ xqueue_match_type@Base 3.5.0
+ xqueue_match_window@Base 3.5.0
+ xqueue_match_window_message@Base 3.5.0
+ xqueue_match_window_type@Base 3.5.0
+ xqueue_next@Base 3.5.0
+ xqueue_next_local@Base 3.5.0
+ xqueue_peek@Base 3.5.0
+ xqueue_peek_local@Base 3.5.0
+ xqueue_pending_local@Base 3.5.0
+ xqueue_remove_callback@Base 3.5.0
+ xqueue_remove_local@Base 3.5.0
diff --git a/debian/menu.xml b/debian/menu.xml
new file mode 100644 (file)
index 0000000..7582bb1
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<openbox_menu xmlns="http://openbox.org/"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://openbox.org/
+                file:///usr/share/openbox/menu.xsd">
+
+<menu id="root-menu" label="Openbox 3">
+  <item label="Terminal emulator">
+    <action name="Execute"><execute>x-terminal-emulator</execute></action>
+  </item>
+  <item label="Web browser">
+    <action name="Execute"><execute>x-www-browser</execute></action>
+  </item>
+  <!-- This requires the presence of the 'menu' package to work -->
+  <menu id="/Debian" />
+  <separator />
+  <menu id="client-list-menu" />
+  <separator />
+  <item label="ObConf">
+    <action name="Execute"><execute>obconf</execute></action>
+  </item>
+  <item label="Reconfigure">
+    <action name="Reconfigure" />
+  </item>
+  <item label="Restart">
+    <action name="Restart" />
+  </item>
+  <separator />
+  <item label="Exit">
+    <action name="Exit" />
+  </item>
+</menu>
+
+</openbox_menu>
diff --git a/debian/openbox-dev.dirs b/debian/openbox-dev.dirs
new file mode 100644 (file)
index 0000000..e43b95c
--- /dev/null
@@ -0,0 +1 @@
+usr/include
diff --git a/debian/openbox-dev.docs b/debian/openbox-dev.docs
new file mode 100644 (file)
index 0000000..6f12db5
--- /dev/null
@@ -0,0 +1,2 @@
+AUTHORS
+README
diff --git a/debian/openbox-dev.install b/debian/openbox-dev.install
new file mode 100644 (file)
index 0000000..5860093
--- /dev/null
@@ -0,0 +1,7 @@
+usr/lib/libobt.a
+usr/lib/libobrender.a
+usr/lib/pkgconfig/obrender-3.5.pc
+usr/lib/pkgconfig/obt-3.5.pc
+usr/include/openbox/3.5/*
+usr/lib/libobt.so
+usr/lib/libobrender.so
diff --git a/debian/openbox.dirs b/debian/openbox.dirs
new file mode 100644 (file)
index 0000000..d47cb7d
--- /dev/null
@@ -0,0 +1,3 @@
+usr/share/pixmaps
+usr/share/applications
+var/lib/openbox
diff --git a/debian/openbox.doc-base b/debian/openbox.doc-base
new file mode 100644 (file)
index 0000000..aff1882
--- /dev/null
@@ -0,0 +1,7 @@
+Document: openbox
+Title: Openbox
+Section: Window Managers
+
+Format: HTML
+Index: /usr/share/doc/openbox/toc.html
+Files: /usr/share/doc/openbox/*.html      
diff --git a/debian/openbox.docs b/debian/openbox.docs
new file mode 100644 (file)
index 0000000..8b7a8f2
--- /dev/null
@@ -0,0 +1,5 @@
+AUTHORS
+COMPLIANCE
+README
+debian/NEWS.Debian
+debian/docs/*
diff --git a/debian/openbox.install b/debian/openbox.install
new file mode 100644 (file)
index 0000000..cb1805c
--- /dev/null
@@ -0,0 +1,41 @@
+usr/share/applications/openbox.desktop
+usr/share/pixmaps/openbox.png
+usr/share/locale/
+usr/share/themes/
+usr/share/doc/openbox/menu.xsd
+usr/share/doc/openbox/xbm/bullet.xbm
+usr/share/doc/openbox/xbm/close.xbm
+usr/share/doc/openbox/xbm/desk_toggled.xbm
+usr/share/doc/openbox/xbm/desk.xbm
+usr/share/doc/openbox/xbm/iconify.xbm
+usr/share/doc/openbox/xbm/max_toggled.xbm
+usr/share/doc/openbox/xbm/max.xbm
+usr/share/doc/openbox/xbm/shade_toggled.xbm
+usr/share/doc/openbox/xbm/shade.xbm
+usr/share/doc/openbox/rc.xsd
+usr/share/doc/openbox/rc-mouse-focus.xml
+usr/share/gnome/wm-properties/openbox.desktop
+usr/share/man/man1/openbox.1
+usr/share/man/man1/obxprop.1
+usr/share/man/man1/openbox-session.1
+usr/share/man/man1/openbox-gnome-session.1
+usr/share/man/man1/openbox-kde-session.1
+usr/share/xsessions/openbox-gnome.desktop
+usr/share/xsessions/openbox-kde.desktop
+usr/share/xsessions/openbox.desktop
+usr/bin/openbox
+usr/bin/obxprop
+usr/bin/openbox-session
+usr/bin/openbox-gnome-session
+usr/bin/openbox-kde-session
+usr/bin/gdm-control
+etc/xdg/openbox/rc.xml
+etc/xdg/openbox/menu.xml
+etc/xdg/openbox/autostart
+etc/xdg/openbox/environment
+usr/lib/openbox/openbox-xdg-autostart
+usr/lib/openbox/openbox-autostart
+
+debian/menu.xml etc/xdg/openbox
+debian/openbox.xpm usr/share/pixmaps/
+usr/share/xsessions/openbox.desktop usr/share/applications/
diff --git a/debian/openbox.links b/debian/openbox.links
new file mode 100644 (file)
index 0000000..104d097
--- /dev/null
@@ -0,0 +1 @@
+etc/xdg/openbox etc/X11/openbox
diff --git a/debian/openbox.maintscript b/debian/openbox.maintscript
new file mode 100644 (file)
index 0000000..dea59dd
--- /dev/null
@@ -0,0 +1 @@
+rm_conffile /etc/xdg/openbox/autostart.sh 3.5.0-1
diff --git a/debian/openbox.manpages b/debian/openbox.manpages
new file mode 100644 (file)
index 0000000..e99eb31
--- /dev/null
@@ -0,0 +1,2 @@
+openbox.1
+gdm-control.1
diff --git a/debian/openbox.menu b/debian/openbox.menu
new file mode 100644 (file)
index 0000000..70a308b
--- /dev/null
@@ -0,0 +1,3 @@
+?package(openbox):needs="wm" section="Window Managers" \
+  title="Openbox" command="/usr/bin/openbox" \
+  icon="/usr/share/pixmaps/openbox.xpm"
diff --git a/debian/openbox.menu-method b/debian/openbox.menu-method
new file mode 100644 (file)
index 0000000..f9c1d45
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/install-menu
+
+!include menu.h
+
+compat="menu-1"
+
+outputencoding="UTF-8"
+genmenu="debian-menu.xml"
+rootprefix="/var/lib/openbox/"
+userprefix=".config/openbox/"
+treewalk="(M)"
+
+function xml_escape($s) = replace(replace(replace(replace(replace($s, \
+                               "&",  "&amp;"), \
+                               ">",  "&gt;"), \
+                               "<",  "&lt;"), \
+                               "'",  "&apos;"), \
+                               "\"", "&quot;")
+
+supported
+    x11=     nstring(level(), "  ") "<item label='" xml_escape(title()) "'" ifnempty(icon(), " icon='" xml_escape(icon()) "'") ">\n" \
+             nstring(level(), "  ") "  <action name='Execute'><execute>" xml_escape($command) "</execute></action>\n" \
+             nstring(level(), "  ") "</item>\n"
+    text=    nstring(level(), "  ") "<item label='" xml_escape(title()) "'" ifnempty(icon(), " icon='" xml_escape(icon()) "'") ">\n" \
+             nstring(level(), "  ") "  <action name='Execute'><execute>" xml_escape(term()) "</execute></action>\n" \
+             nstring(level(), "  ") "</item>\n"
+    wm=      nstring(level(), "  ") "<item label='" xml_escape(title()) "'" ifnempty(icon(), " icon='" xml_escape(icon()) "'") ">\n" \
+             nstring(level(), "  ") "  <action name='Restart'><execute>" xml_escape($command) "</execute></action>\n" \
+             nstring(level(), "  ") "</item>\n"
+endsupported
+
+startmenu=   nstring(level(), "  ")  "<menu id='" xml_escape($section) "' label='" xml_escape(title()) "'>\n"
+endmenu=     nstring(level(), "  ")  "</menu>\n"
+
+preoutput=   "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!-- Automatically generated file. Do not edit (see /usr/share/doc/menu/html) -->\n\n<openbox_menu xmlns=\"http://openbox.org/\"\n        xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n        xsi:schemaLocation=\"http://openbox.org/\n                file:///usr/share/openbox/menu.xsd\">\n\n"
+postoutput=  "\n</openbox_menu>\n"
diff --git a/debian/openbox.pod b/debian/openbox.pod
new file mode 100644 (file)
index 0000000..4e2005b
--- /dev/null
@@ -0,0 +1,81 @@
+=head1 NAME
+
+Openbox - standards compliant, fast, light-weight, extensible window manager.
+
+=head1 SYNOPSIS
+
+openbox [options]
+
+=head1 DESCRIPTION
+
+Openbox works with your applications, and makes your desktop easier to manage.
+This is because the approach to its development was the opposite of what seems
+to be the general case for window managers. Openbox was written first to comply
+with standards and to work properly. Only when that was in place did the team
+turn to the visual interface.
+
+Openbox is fully functional as a stand-alone working environment, or can be
+used as a drop-in replacement for the default window manager in the GNOME or
+KDE desktop environments. 
+
+Openbox 3 is a completely new breed of window manager. It is not based upon any
+existing code base, although the visual appearance has been based upon that of
+Blackbox. Openbox 2 was based on the Blackbox 0.65.0 codebase.
+
+=head1 OPTIONS
+
+=over 5
+
+=item B<< --sm-disable >>
+
+Disable connection to session manager.
+
+=item B<< --sm-client-id <ID> >>
+
+Specify session management ID.
+
+=item B<< --sm-save-file <FILE> >>
+
+Specify file to load a saved session from.
+
+=item B<< --replace >>
+
+Replace the currently running window manager.
+
+=item B<< --help >>
+
+Display some help and exit.
+
+=item B<< --version >>
+
+Display the version and exit.
+
+=item B<< --sync >>
+
+Run in synchronous mode (this is slow and meant for debugging X routines).
+
+=item B<< --debug >>
+
+Display debugging output.
+
+=back
+
+=head1 AUTHORS
+
+Openbox was written by Mikael Magnusson <mangosoft@comhem.se> and Ben Jansens
+<ben@openbox.org>, aided by several contributors; for a full list read the
+file AUTHORS.
+
+This manual page was written by Tore Anderson <tore@debian.org>.
+
+=head1 COPYRIGHT
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option) any
+later version.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+=cut
diff --git a/debian/openbox.postinst b/debian/openbox.postinst
new file mode 100644 (file)
index 0000000..176678d
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+       configure)
+               update-alternatives --install /usr/bin/x-window-manager \
+                       x-window-manager /usr/bin/openbox 90 --slave \
+                       /usr/share/man/man1/x-window-manager.1.gz \
+                       x-window-manager.1.gz /usr/share/man/man1/openbox.1.gz
+               update-alternatives --install /usr/bin/x-session-manager \
+                        x-session-manager /usr/bin/openbox-session 40 --slave \
+                        /usr/share/man/man1/x-session-manager.1.gz \
+                        x-session-manager.1.gz /usr/share/man/man1/openbox-session.1.gz
+
+                       if [ -x /usr/bin/update-menus ]; then update-menus; fi
+               ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/openbox.postrm b/debian/openbox.postrm
new file mode 100644 (file)
index 0000000..958fcb4
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+set -e
+
+# workaround for bug #198522
+delete_dir_if_empty() {
+       if [ ! -d "$1" ]; then
+               return 0;
+       fi
+       rmdir --ignore-fail-on-non-empty $1;
+}
+
+case "$1" in
+       purge)
+               delete_dir_if_empty /etc/xdg/openbox
+               delete_dir_if_empty /etc/xdg
+               ;;
+esac
+
+if [ -x /usr/bin/update-menus ]; then update-menus ; fi
+
+#DEBHELPER#
diff --git a/debian/openbox.preinst b/debian/openbox.preinst
new file mode 100644 (file)
index 0000000..9bb74fd
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = upgrade ]; then
+    update-alternatives --remove x-window-manager /usr/bin/openbox-session
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/openbox.prerm b/debian/openbox.prerm
new file mode 100644 (file)
index 0000000..3446267
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+    remove)
+       update-alternatives --remove x-window-manager /usr/bin/openbox
+       update-alternatives --remove x-session-manager /usr/bin/openbox-session
+       rm -f /var/lib/openbox/debian-menu.xml
+       ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/openbox.xpm b/debian/openbox.xpm
new file mode 100644 (file)
index 0000000..a0edad4
--- /dev/null
@@ -0,0 +1,278 @@
+/* XPM */
+static char * openbox_xpm[] = {
+"32 32 243 2",
+"      c None",
+".     c #3B6197",
+"+     c #4F74A7",
+"@     c #4C72A6",
+"#     c #4D72A6",
+"$     c #4C72A5",
+"%     c #4C71A5",
+"&     c #4B71A5",
+"*     c #4B71A6",
+"=     c #4E73A7",
+"-     c #345B93",
+";     c #5376A7",
+">     c #658DC0",
+",     c #5580B9",
+"'     c #5480B9",
+")     c #547FB9",
+"!     c #537FB9",
+"~     c #648CBF",
+"{     c #466B9F",
+"]     c #4F73A6",
+"^     c #5380BB",
+"/     c #4073B4",
+"(     c #5381BB",
+"_     c #42699F",
+":     c #5482BE",
+"<     c #4376B8",
+"[     c #5382BE",
+"}     c #40679E",
+"|     c #486FA4",
+"1     c #5584C1",
+"2     c #477ABC",
+"3     c #3E659E",
+"4     c #476EA4",
+"5     c #5686C3",
+"6     c #497DBF",
+"7     c #4A7EC0",
+"8     c #5586C4",
+"9     c #3B649D",
+"0     c #466DA5",
+"a     c #5A8AC7",
+"b     c #4F83C3",
+"c     c #4F82C3",
+"d     c #4F83C4",
+"e     c #5889C7",
+"f     c #3A649D",
+"g     c #3E649C",
+"h     c #668CBD",
+"i     c #648ABC",
+"j     c #638ABC",
+"k     c #6389BC",
+"l     c #6289BC",
+"m     c #6288BC",
+"n     c #6288BB",
+"o     c #6188BB",
+"p     c #6188BA",
+"q     c #6389BB",
+"r     c #375F98",
+"s     c #5F7CA7",
+"t     c #E4E6EA",
+"u     c #E2E4E9",
+"v     c #E2E4E8",
+"w     c #E2E4E7",
+"x     c #E1E4E8",
+"y     c #E1E3E7",
+"z     c #E0E3E6",
+"A     c #E0E2E6",
+"B     c #DFE2E6",
+"C     c #DFE1E5",
+"D     c #DEE1E5",
+"E     c #DEE0E4",
+"F     c #DEE1E4",
+"G     c #DFE2E5",
+"H     c #5E7BA5",
+"I     c #627FA9",
+"J     c #EBEBEB",
+"K     c #E8E8E9",
+"L     c #E8E8E8",
+"M     c #E8E8E7",
+"N     c #E7E7E7",
+"O     c #E7E6E6",
+"P     c #E6E6E6",
+"Q     c #E5E6E6",
+"R     c #E6E5E6",
+"S     c #E5E5E5",
+"T     c #E5E4E4",
+"U     c #E4E4E5",
+"V     c #E4E5E4",
+"W     c #E4E4E4",
+"X     c #617EA7",
+"Y     c #627FA8",
+"Z     c #E9E8E8",
+"`     c #E4E5E5",
+" .    c #E4E3E3",
+"..    c #E3E3E3",
+"+.    c #E3E2E3",
+"@.    c #E2E2E3",
+"#.    c #E2E2E2",
+"$.    c #E2E1E2",
+"%.    c #E1E1E1",
+"&.    c #E7E6E7",
+"*.    c #E2E3E3",
+"=.    c #E1E0E1",
+"-.    c #E0E0E0",
+";.    c #E0DFE0",
+">.    c #DFE0E0",
+",.    c #DFDFDF",
+"'.    c #E1E0E0",
+").    c #E0DFDF",
+"!.    c #DFDFDE",
+"~.    c #DEDEDF",
+"{.    c #DEDEDE",
+"].    c #DDDEDE",
+"^.    c #DDDDDD",
+"/.    c #DDDCDD",
+"(.    c #DCDCDC",
+"_.    c #E0E0E1",
+":.    c #DFDEDE",
+"<.    c #DEDDDD",
+"[.    c #DDDDDE",
+"}.    c #DDDDDC",
+"|.    c #DCDCDD",
+"1.    c #DBDCDC",
+"2.    c #DBDBDB",
+"3.    c #DBDADB",
+"4.    c #DADADA",
+"5.    c #617FA8",
+"6.    c #DADBDB",
+"7.    c #DBDADA",
+"8.    c #D9D9DA",
+"9.    c #DAD9DA",
+"0.    c #D9D9D9",
+"a.    c #D9D9D8",
+"b.    c #D8D9D9",
+"c.    c #D8D8D8",
+"d.    c #D7D8D8",
+"e.    c #D8D7D7",
+"f.    c #D7D7D7",
+"g.    c #D7D7D6",
+"h.    c #D6D7D7",
+"i.    c #D6D6D6",
+"j.    c #D5D6D6",
+"k.    c #D6D5D5",
+"l.    c #D5D5D5",
+"m.    c #DADADB",
+"n.    c #D5D6D5",
+"o.    c #D5D4D4",
+"p.    c #D4D4D4",
+"q.    c #D4D3D3",
+"r.    c #D3D3D3",
+"s.    c #D2D2D3",
+"t.    c #D2D2D2",
+"u.    c #D3D4D3",
+"v.    c #D3D2D2",
+"w.    c #D2D1D1",
+"x.    c #D1D1D1",
+"y.    c #D0D0D1",
+"z.    c #D0D0D0",
+"A.    c #D1D0D1",
+"B.    c #D1D0D0",
+"C.    c #D0D0CF",
+"D.    c #CFD0D0",
+"E.    c #CFCFCF",
+"F.    c #CFCFCE",
+"G.    c #CECFCE",
+"H.    c #CECECE",
+"I.    c #CECDCE",
+"J.    c #CECECD",
+"K.    c #CDCDCD",
+"L.    c #CECECF",
+"M.    c #CFCECE",
+"N.    c #CDCECD",
+"O.    c #CDCDCC",
+"P.    c #CCCDCC",
+"Q.    c #CCCCCC",
+"R.    c #CCCBCC",
+"S.    c #CCCCCB",
+"T.    c #CBCBCB",
+"U.    c #D3D3D4",
+"V.    c #617EA8",
+"W.    c #CBCCCC",
+"X.    c #CACACA",
+"Y.    c #C9C9C9",
+"Z.    c #C8C8C9",
+"`.    c #C9C8C9",
+" +    c #C8C8C8",
+".+    c #D2D1D2",
+"++    c #C9CACA",
+"@+    c #C7C7C7",
+"#+    c #C6C6C7",
+"$+    c #C6C6C6",
+"%+    c #C7C6C7",
+"&+    c #C6C7C7",
+"*+    c #C5C5C6",
+"=+    c #C5C5C5",
+"-+    c #C5C4C5",
+";+    c #C4C4C5",
+">+    c #C4C4C4",
+",+    c #C4C3C4",
+"'+    c #C3C3C3",
+")+    c #C4C5C5",
+"!+    c #C3C3C4",
+"~+    c #C2C2C2",
+"{+    c #C2C1C2",
+"]+    c #C1C1C1",
+"^+    c #4D6E9C",
+"/+    c #AEBBCD",
+"(+    c #ACB9CC",
+"_+    c #A8B6C9",
+":+    c #ABB9CC",
+"<+    c #ABB9CB",
+"[+    c #ABB8CB",
+"}+    c #AAB8CB",
+"|+    c #AAB8CA",
+"1+    c #AAB7CA",
+"2+    c #A9B7CA",
+"3+    c #A6B4C7",
+"4+    c #4C6C9B",
+"5+    c #2E5690",
+"6+    c #4B78B3",
+"7+    c #4A77B2",
+"8+    c #38649F",
+"9+    c #4A78B3",
+"0+    c #4978B3",
+"a+    c #4977B3",
+"b+    c #4977B2",
+"c+    c #4877B2",
+"d+    c #4876B2",
+"e+    c #4776B2",
+"f+    c #36639F",
+"g+    c #4775B1",
+"h+    c #4675B1",
+"i+    c #2B548E",
+"j+    c #24487B",
+"k+    c #35588B",
+"l+    c #345689",
+"m+    c #345688",
+"n+    c #335588",
+"o+    c #2B4F83",
+"p+    c #335688",
+"q+    c #335587",
+"r+    c #335687",
+"s+    c #34578A",
+"t+    c #234678",
+"                                                                ",
+"                                                                ",
+"  . + @ @ @ @ @ @ @ @ @ @ @ @ @ # # @ @ $ $ $ % & & & & * = -   ",
+"  ; > , , , , , , , , , , , , , , , , , , , ' ' ' ) ) ! ! ~ {   ",
+"  ] ^ / / / / / / / / / / / / / / / / / / / / / / / / / / ( _   ",
+"  % : < < < < < < < < < < < < < < < < < < < < < < < < < < [ }   ",
+"  | 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 3   ",
+"  4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 8 9   ",
+"  0 a b b b b b b b b b b b c b b d d d d d d d d d d d d e f   ",
+"  g h i i i j j j k k l l l l l m n n n n n n o p p p p p q r   ",
+"  s t u v v w x y y y y y z z z A A B B C C C D D E E F F G H   ",
+"  I J K L L M L N N N N N O P P P P Q R S S S S S T U V W N X   ",
+"  Y Z S S S ` U W W W W W W  .........+.@.#.#.#.$.#.#.%.%.W X   ",
+"  Y &.......*.@.#.#.#.#.#.#.%.%.%.=.%.=.-.-.-.-.;.>.-.,.,.+.X   ",
+"  Y ` '.-.-.-.).,.,.,.!.,.,.~.{.{.{.{.].^.^.^.^.^./.(.(.(._.X   ",
+"  Y ..:.{.{.{.<.[.^.^.}.^.^.|.(.(.(.(.1.2.2.2.2.2.3.4.4.4.,.X   ",
+"  5._.2.2.6.6.7.4.4.4.4.4.8.9.0.0.a.b.b.a.c.c.c.c.d.e.f.f.(.X   ",
+"  5.,.0.0.b.b.c.c.c.c.c.c.f.f.f.f.g.h.h.i.i.i.i.i.j.k.l.l.m.X   ",
+"  5./.i.i.i.i.i.n.l.l.l.l.o.p.p.p.p.p.q.r.r.r.r.r.s.t.t.t.0.X   ",
+"  Y 2.p.p.p.p.p.u.r.r.r.r.v.t.t.t.t.t.w.x.x.x.x.x.y.z.z.z.f.X   ",
+"  Y 0.x.x.x.x.A.B.z.z.z.z.C.D.E.E.E.E.F.G.H.H.H.I.J.K.K.K.l.X   ",
+"  Y f.E.E.E.E.L.M.H.H.H.H.J.N.K.K.K.K.O.P.Q.Q.Q.R.S.T.T.T.U.V.  ",
+"  Y l.Q.Q.Q.Q.W.T.T.T.T.X.X.X.X.X.X.X.Y.Y.Y.Y.Y.Y.Z.`. + +.+5.  ",
+"  I p.X.X.X.++++Y.Y.Y.Y. + + + + + + +@+@+@+@+@+@+#+#+$+$+z.5.  ",
+"  I t.@+@+@+%+#+&+$+$+$+$+$+*+=+=+=+=+-+;+>+>+>+>+,+,+'+'+H.I   ",
+"  I z.=+=+=+-+=+)+>+>+>+>+>+!+'+'+'+'+'+~+~+~+~+~+{+{+]+]+K.Y   ",
+"  ^+/+(+(+(+(+_+(+:+:+:+:+<+[+<+[+[+}+}+|+1+1+2+3+2+2+2+2+:+4+  ",
+"  5+6+6+6+6+7+8+9+0+0+0+a+b+b+b+b+b+c+c+c+c+d+e+f+g+e+e+e+h+i+  ",
+"  j+k+l+m+m+n+o+n+m+m+m+m+m+p+q+q+q+q+q+q+q+q+q+o+q+q+r+r+s+t+  ",
+"                                                                ",
+"                                                                ",
+"                                                                "};
diff --git a/debian/patches/01_rc.xml.patch b/debian/patches/01_rc.xml.patch
new file mode 100644 (file)
index 0000000..e65510b
--- /dev/null
@@ -0,0 +1,49 @@
+by Nico Golde <nion@debian.org>
+updated for 3.5.0 by Eugenio Paolantonio <me@medesimo.eu>
+
+add screenshot support using gnome-screenshot;
+ensure that the Debian system menu is listed in <menu>
+Index: openbox-3.4.11.1/data/rc.xml
+===================================================================
+--- a/data/rc.xml
++++ b/data/rc.xml
+@@ -245,6 +245,10 @@
+   <keybind key="A-space">
+     <action name="ShowMenu"><menu>client-menu</menu></action>
+   </keybind>
++  <!-- Take a screenshot of the current window with gnome-screenshot when Alt+Print are pressed -->
++  <keybind key="A-Print">
++    <action name="Execute"><command>gnome-screenshot -w</command></action>
++  </keybind>
+   <!-- Keybindings for window switching -->
+   <keybind key="A-Tab">
+@@ -308,6 +312,10 @@
+       <command>kfmclient openProfile filemanagement</command>
+     </action>
+   </keybind>
++  <!-- Launch gnome-screenshot when Print is pressed -->
++  <keybind key="Print">
++    <action name="Execute"><command>gnome-screenshot</command></action>
++  </keybind>
+ </keyboard>
+ <mouse>
+@@ -621,6 +629,8 @@
+        just don't make menu ids clash or, well, it'll be kind of pointless -->
+   <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
++  <!-- system menu files on Debian systems -->
++  <file>/var/lib/openbox/debian-menu.xml</file>
+   <file>menu.xml</file>
+   <hideDelay>200</hideDelay>
+   <!-- if a press-release lasts longer than this setting (in milliseconds), the
+@@ -634,7 +645,7 @@
+        submenu will not be shown until it is clicked on -->
+   <submenuHideDelay>400</submenuHideDelay>
+   <!-- time to delay before hiding a submenu when selecting another
+-       entry in parent menu -->
++       entry in parent menu
+        if this is a negative value, then the delay is infinite and the
+        submenu will not be hidden until a different submenu is opened -->
+   <applicationIcons>yes</applicationIcons>
diff --git a/debian/patches/02_fix_freedesktop_compliance.patch b/debian/patches/02_fix_freedesktop_compliance.patch
new file mode 100644 (file)
index 0000000..c772375
--- /dev/null
@@ -0,0 +1,23 @@
+by Nico Golde <nion@debian.org>
+the freedesktop standard requires some additional attributes in the desktop files
+which are added here to fix #533126, #531580
+Index: openbox-3.4.11.1/data/gnome-wm-properties/openbox.desktop
+===================================================================
+--- openbox-3.4.11.1.orig/data/gnome-wm-properties/openbox.desktop     2010-04-23 16:47:53.000000000 +0200
++++ openbox-3.4.11.1/data/gnome-wm-properties/openbox.desktop  2010-04-23 16:48:08.000000000 +0200
+@@ -2,10 +2,15 @@
+ Type=Application
+ Name=Openbox
+ Exec=openbox
++Type=Application
++Categories=System;
+ # name we put on the WM spec check window
+ X-GNOME-WMName=Openbox
++X-GNOME-Provides=windowmanager
++NoDisplay=true
++
+ # our config tool
+ ConfigExec=obconf
diff --git a/debian/patches/03_place_windows_in_quadrants.patch b/debian/patches/03_place_windows_in_quadrants.patch
new file mode 100644 (file)
index 0000000..e2a83d5
--- /dev/null
@@ -0,0 +1,111 @@
+patch by Marc Brockschmidt to allow placing windows in certain screen
+quadrants using key bindings - #544538
+Index: openbox-3.4.11.1/data/rc.xsd
+===================================================================
+--- openbox-3.4.11.1.orig/data/rc.xsd  2010-04-23 16:49:08.000000000 +0200
++++ openbox-3.4.11.1/data/rc.xsd       2010-04-23 16:49:56.000000000 +0200
+@@ -171,8 +171,8 @@
+         <xsd:element minOccurs="0" name="manageDesktops" type="ob:bool"/>
+     </xsd:complexType>
+     <xsd:complexType name="window_position">
+-        <xsd:element name="x" type="ob:center_or_int"/>
+-        <xsd:element name="y" type="ob:center_or_int"/>
++        <xsd:element name="x" type="ob:horizontal_center_or_int"/>
++        <xsd:element name="y" type="ob:vertical_center_or_int"/>
+       <xsd:element name="monitor" type="ob:mouse_or_int"/>    
+         <xsd:element minOccurs="0" name="head" type="xsd:string"/>
+         <xsd:attribute name="force" type="ob:bool"/>
+@@ -365,6 +365,20 @@
+             <xsd:pattern value="center|0|[1-9][0-9]*"/>
+         </xsd:restriction>
+     </xsd:simpleType>
++    <xsd:simpleType name="horizontal_center_or_int">
++        <xsd:restriction base="xsd:string">
++            <!-- ob: atoi($_) unless $_ eq 'center'; -->
++            <!-- I think the regexp DTRT WRT atoi. -->
++            <xsd:pattern value="(Below|Above)?center|0|[1-9][0-9]*"/>
++        </xsd:restriction>
++    </xsd:simpleType>
++    <xsd:simpleType name="vertical_center_or_int">
++        <xsd:restriction base="xsd:string">
++            <!-- ob: atoi($_) unless $_ eq 'center'; -->
++            <!-- I think the regexp DTRT WRT atoi. -->
++            <xsd:pattern value="(LeftOf|RightOf)?center|0|[1-9][0-9]*"/>
++        </xsd:restriction>
++    </xsd:simpleType>
+     <xsd:simpleType name="mouse_or_int">
+         <xsd:restriction base="xsd:string">
+             <!-- ob: atoi($_) unless $_ eq 'center'; -->
+Index: openbox-3.4.11.1/openbox/actions/moveresizeto.c
+===================================================================
+--- openbox-3.4.11.1.orig/openbox/actions/moveresizeto.c       2010-04-23 16:49:24.000000000 +0200
++++ openbox-3.4.11.1/openbox/actions/moveresizeto.c    2010-04-23 16:49:56.000000000 +0200
+@@ -14,6 +14,10 @@
+ typedef struct {
+     gboolean xcenter;
+     gboolean ycenter;
++    gboolean rightofcenter;
++    gboolean leftofcenter;
++    gboolean abovecenter;
++    gboolean belowcenter;
+     gboolean xopposite;
+     gboolean yopposite;
+     gint x;
+@@ -44,12 +48,22 @@
+ }
+ static void parse_coord(xmlDocPtr doc, xmlNodePtr n, gint *pos,
+-                        gboolean *opposite, gboolean *center)
++                        gboolean *opposite, gboolean *rightofcenter,
++                        gboolean *leftofcenter, gboolean *abovecenter,
++                        gboolean *belowcenter, gboolean *center)
+ {
+     gchar *s = parse_string(doc, n);
+     if (g_ascii_strcasecmp(s, "current") != 0) {
+         if (!g_ascii_strcasecmp(s, "center"))
+             *center = TRUE;
++        else if (!g_ascii_strcasecmp(s, "rightofcenter"))
++            *rightofcenter = TRUE;
++        else if (!g_ascii_strcasecmp(s, "leftofcenter"))
++            *leftofcenter = TRUE;
++        else if (!g_ascii_strcasecmp(s, "belowcenter"))
++            *belowcenter = TRUE;
++        else if (!g_ascii_strcasecmp(s, "abovecenter"))
++            *abovecenter = TRUE;
+         else {
+             if (s[0] == '-')
+                 *opposite = TRUE;
+@@ -75,10 +89,14 @@
+     o->monitor = CURRENT_MONITOR;
+     if ((n = parse_find_node("x", node)))
+-        parse_coord(doc, n, &o->x, &o->xopposite, &o->xcenter);
++        parse_coord(doc, n, &o->x, &o->xopposite, 
++                    &o->rightofcenter, &o->leftofcenter,
++                    &o->abovecenter, &o->belowcenter, &o->xcenter);
+     if ((n = parse_find_node("y", node)))
+-        parse_coord(doc, n, &o->y, &o->yopposite, &o->ycenter);
++        parse_coord(doc, n, &o->y, &o->yopposite,
++                    &o->rightofcenter, &o->leftofcenter,
++                    &o->abovecenter, &o->belowcenter, &o->ycenter); 
+     if ((n = parse_find_node("width", node))) {
+         gchar *s = parse_string(doc, n);
+@@ -182,12 +200,16 @@
+         x = o->x;
+         if (o->xcenter) x = (area->width - w) / 2;
++        else if (o->leftofcenter) x = (area->width / 2) - w;
++        else if (o->rightofcenter) x = area->width / 2;
+         else if (x == G_MININT) x = c->frame->area.x - carea->x;
+         else if (o->xopposite) x = area->width - w - x;
+         x += area->x;
+         y = o->y;
+         if (o->ycenter) y = (area->height - h) / 2;
++        else if (o->abovecenter) y = (area->height / 2) - h;
++        else if (o->belowcenter) y = area->height / 2;
+         else if (y == G_MININT) y = c->frame->area.y - carea->y;
+         else if (o->yopposite) y = area->height - h - y;
+         y += area->y;
diff --git a/debian/patches/04_xsession.desktop_translation.patch b/debian/patches/04_xsession.desktop_translation.patch
new file mode 100644 (file)
index 0000000..1bb2fdf
--- /dev/null
@@ -0,0 +1,14 @@
+by Séio Cipolla <secipolla@gmail.com>
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627912
+Index: openbox-3.5.0/data/xsession/openbox.desktop.in
+===================================================================
+--- openbox-3.5.0.orig/data/xsession/openbox.desktop.in        2011-10-03 14:37:25.000000000 +0200
++++ openbox-3.5.0/data/xsession/openbox.desktop.in     2011-10-03 14:38:17.000000000 +0200
+@@ -2,6 +2,7 @@
+ Encoding=UTF-8
+ Name=Openbox
+ Comment=Log in using the Openbox window manager (without a session manager)
++Comment[pt_BR]=Use esta sessãpara executar o Openbox como o seu ambiente de trabalho
+ Exec=@bindir@/openbox-session
+ TryExec=@bindir@/openbox-session
+ Icon=openbox.png
diff --git a/debian/patches/05_simplify_gnome_session.patch b/debian/patches/05_simplify_gnome_session.patch
new file mode 100644 (file)
index 0000000..acfdc6d
--- /dev/null
@@ -0,0 +1,63 @@
+Simplify gnome-session as per Bug#604043.
+The horrible hacks present in openbox upstream may have been necessary for
+gnome upstream, but the simple method of just setting WINDOW_MANAGER has
+always worked in Debian and should continue to work reliably.
+
+Jim Paris <jim@jtan.com>
+
+Index: openbox-3.4.11.1/data/xsession/openbox-gnome-session.in
+===================================================================
+--- openbox-3.4.11.1.orig/data/xsession/openbox-gnome-session.in       2010-12-10 17:23:42.000000000 -0500
++++ openbox-3.4.11.1/data/xsession/openbox-gnome-session.in    2010-12-10 17:23:31.000000000 -0500
+@@ -12,49 +12,5 @@
+       -remove _NET_DESKTOP_NAMES \
+       -remove _NET_CURRENT_DESKTOP 2> /dev/null
+-VER=$(gnome-session --version 2>/dev/null | \
+-      sed -e 's/[^0-9.]*\([0-9.]\+\)/\1/')
+-
+-MAJOR=$(echo $VER | cut -d . -f 1)
+-MINOR=$(echo $VER | cut -d . -f 2)
+-
+-# run GNOME with Openbox as its window manager
+-
+-if test $MAJOR -lt 2 || (test $MAJOR = 2 && test $MINOR -le 22); then
+-  # old gnome-session was easy to work with
+-  export WINDOW_MANAGER="@bindir@/openbox"
+-  exec gnome-session --choose-session=openbox-session "$@"
+-else
+-  # new gnome-session requires openbox to be set in gconf and an
+-  # openbox.desktop to be installed in the applications directory
+-
+-  SPATH=/desktop/gnome/session
+-
+-  # get the current default session
+-  SESSION=$(gconftool-2 -g $SPATH/default_session 2> /dev/null)
+-
+-  # make sure openbox is going to be run
+-  if test -z "$SESSION"; then
+-      # if its empty then just run openbox
+-      SESSION="[openbox]"
+-  elif ! echo "$SESSION" | grep -q openbox; then
+-      # if openbox isn't in the session then append it
+-      SESSION="${SESSION%]},openbox]"
+-  fi
+-
+-  # get the current GNOME/Openbox session
+-  OB_SESSION=$(gconftool-2 -g $SPATH/openbox_session 2> /dev/null)
+-
+-  # update the GNOME/Openbox session if needed
+-  if test x$OB_SESSION != x$SESSION; then
+-      # the default session changed or we didn't run GNOME/Openbox before
+-      gconftool-2 -t list --list-type=strings -s $SPATH/openbox_session \
+-        "$SESSION" 2> /dev/null
+-  fi
+-
+-  # run GNOME/Openbox
+-  exec gnome-session --default-session-key $SPATH/openbox_session "$@"
+-fi
+-
+-
+-
++export WINDOW_MANAGER=openbox
++exec gnome-session
diff --git a/debian/patches/07_fix_xml_load_file.patch b/debian/patches/07_fix_xml_load_file.patch
new file mode 100644 (file)
index 0000000..30c1702
--- /dev/null
@@ -0,0 +1,25 @@
+by Nico Golde <nion@debian.org>, slightly modified version
+from Eugenio Paolantonio <me@medesimo.eu>
+Do not build filename if a working full path is given.
+Fixes #644756.
+Index: openbox-3.5.0/obt/xml.c
+===================================================================
+--- openbox-3.5.0.orig/obt/xml.c       2011-10-30 14:13:07.000000000 +0100
++++ openbox-3.5.0/obt/xml.c    2011-10-30 14:13:10.000000000 +0100
+@@ -127,10 +127,13 @@
+         gchar *path;
+         struct stat s;
+-        if (!domain && !filename) /* given a full path to the file */
++        if (!domain && !filename){ /* given a full path to the file */
+             path = g_strdup(it->data);
+-        else
++        } else if(filename && filename[0] == '/' && stat(filename, &s) >= 0) {
++            path = g_strdup(filename);
++        } else {
+             path = g_build_filename(it->data, domain, filename, NULL);
++        }
+         if (stat(path, &s) >= 0) {
+             /* XML_PARSE_BLANKS is needed apparently, or the tree can end up
+
diff --git a/debian/patches/666676_wrong_undecorated_window_placement.patch b/debian/patches/666676_wrong_undecorated_window_placement.patch
new file mode 100644 (file)
index 0000000..91be7b0
--- /dev/null
@@ -0,0 +1,133 @@
+From: Dana Jansens <danakj@orodu.net>
+Date: Fri, 14 Oct 2011 22:54:32 +0000 (-0400)
+Subject: make undecorated windows place according to their undecorated state (bug #5179)
+X-Git-Url: http://git.openbox.org/?p=dana%2Fopenbox.git;a=commitdiff_plain;h=a0d14c7d4468b6348d906a68bb5dfe3acce0ad64;hp=332280daf9a4bc410544ae7d267092a11ab8c945
+
+make undecorated windows place according to their undecorated state (bug #5179)
+
+splits client_setup_decor_and_functions() into 3 functions.
+
+1. add client_setup_default_decor_and_functions()
+- called from client_get_all() to get the maximum decor/functions that will
+  be available for use by the client.
+2. add client_setup_decor_undecorated()
+- sets up the client's undecorarted decor if the flag is set by the per-app
+  settings or session state.
+- we do this before setting up the frame so the frame reflects the window as it
+  should be when getting placed.
+3. client_setup_decor_and_functions()
+- calls the above 2 to perform the same functions as before.
+- added to client_apply_startup_state() so that we can ensure it was run fully
+  at least once in the mapping process, since it is not called in
+  client_get_all() anymore.
+
+--- openbox-3.5.0.orig/openbox/client.c
++++ openbox-3.5.0/openbox/client.c
+@@ -112,6 +112,8 @@ static gboolean client_can_steal_focus(O
+                                        gboolean allow_other_desktop,
+                                        gboolean request_from_user,
+                                        Time steal_time, Time launch_time);
++static void client_setup_default_decor_and_functions(ObClient *self);
++static void client_setup_decor_undecorated(ObClient *self);
+ void client_startup(gboolean reconfig)
+ {
+@@ -238,6 +240,18 @@ void client_manage(Window window, ObProm
+        that needs to be freed with g_free(). */
+     settings = client_get_settings_state(self);
++    /* the session should get the last say though */
++    client_restore_session_state(self);
++
++    /* the per-app settings/session may have changed the decorations for
++       the window, so we setup decorations for that here.  this is a special
++       case because we want to place the window according to these decoration
++       changes.
++       we do this before setting up the frame so that it will reflect the
++       decorations of the window as it will be placed on screen.
++    */
++    client_setup_decor_undecorated(self);
++
+     /* specify that if we exit, the window should not be destroyed and
+        should be reparented back to root automatically, unless we are managing
+        an internal ObPrompt window  */
+@@ -253,9 +267,6 @@ void client_manage(Window window, ObProm
+        time now */
+     grab_server(FALSE);
+-    /* the session should get the last say though */
+-    client_restore_session_state(self);
+-
+     /* tell startup notification that this app started */
+     launch_time = sn_app_started(self->startup_id, self->class, self->name);
+@@ -1156,11 +1167,8 @@ static void client_get_all(ObClient *sel
+     client_get_type_and_transientness(self);
+     client_update_normal_hints(self);
+-    /* set up the decor/functions before getting the state.  the states may
+-       affect which functions are available, but we want to know the maximum
+-       decor/functions are available to this window, so we can then apply them
+-       in client_apply_startup_state() */
+-    client_setup_decor_and_functions(self, FALSE);
++    /* set up the maximum possible decor/functions */
++    client_setup_default_decor_and_functions(self);
+     client_get_state(self);
+@@ -1704,7 +1712,7 @@ void client_update_normal_hints(ObClient
+         ob_debug("Normal hints: not set");
+ }
+-void client_setup_decor_and_functions(ObClient *self, gboolean reconfig)
++static void client_setup_default_decor_and_functions(ObClient *self)
+ {
+     /* start with everything (cept fullscreen) */
+     self->decorations =
+@@ -1837,6 +1845,23 @@ void client_setup_decor_and_functions(Ob
+         self->functions &= ~OB_CLIENT_FUNC_MAXIMIZE;
+         self->decorations &= ~OB_FRAME_DECOR_MAXIMIZE;
+     }
++}
++
++/*! Set up decor for a client based on its undecorated state. */
++static void client_setup_decor_undecorated(ObClient *self)
++{
++    /* If the user requested no decorations, then remove all the decorations,
++       except the border.  But don't add a border if there wasn't one. */
++    if (self->undecorated)
++        self->decorations &= (config_theme_keepborder ?
++                              OB_FRAME_DECOR_BORDER : 0);
++}
++
++void client_setup_decor_and_functions(ObClient *self, gboolean reconfig)
++{
++    client_setup_default_decor_and_functions(self);
++
++    client_setup_decor_undecorated(self);
+     if (self->max_horz && self->max_vert) {
+         /* once upon a time you couldn't resize maximized windows, that is not
+@@ -1846,12 +1871,6 @@ void client_setup_decor_and_functions(Ob
+         self->decorations &= ~(OB_FRAME_DECOR_HANDLE | OB_FRAME_DECOR_GRIPS);
+     }
+-    /* finally, the user can have requested no decorations, which overrides
+-       everything (but doesnt give it a border if it doesnt have one) */
+-    if (self->undecorated)
+-        self->decorations &= (config_theme_keepborder ?
+-                              OB_FRAME_DECOR_BORDER : 0);
+-
+     /* if we don't have a titlebar, then we cannot shade! */
+     if (!(self->decorations & OB_FRAME_DECOR_TITLEBAR))
+         self->functions &= ~OB_CLIENT_FUNC_SHADE;
+@@ -2783,6 +2802,9 @@ static void client_apply_startup_state(O
+     if (fullscreen)
+         client_fullscreen(self, TRUE);
++    /* make sure client_setup_decor_and_functions() is called at least once */
++    client_setup_decor_and_functions(self, FALSE);
++
+     /* if the window hasn't been configured yet, then do so now, in fact the
+        x,y,w,h may _not_ be the same as the area rect, which can end up
+        meaning that the client isn't properly moved/resized by the fullscreen
diff --git a/debian/patches/675991_fix_crash_from_gtk3_apps.patch b/debian/patches/675991_fix_crash_from_gtk3_apps.patch
new file mode 100644 (file)
index 0000000..d20a578
--- /dev/null
@@ -0,0 +1,20 @@
+From 339c19d1b3a7a5139aed8b59bad755ddd0e518ff Mon Sep 17 00:00:00 2001
+From: Mikael Magnusson <mikachu@gmail.com>
+Date: Sun, 3 Jun 2012 20:18:48 +0200
+Subject: [PATCH] Fix crash on unexpected NET_WM_MOVERESIZE_CANCEL messages
+
+gtk+ 3.4 apparently sends these randomly when you select text in a
+GtkEntry. This also fixes bug #5460.
+
+--- openbox-3.5.0.orig/openbox/event.c
++++ openbox-3.5.0/openbox/event.c
+@@ -1488,7 +1488,8 @@ static void event_handle_client(ObClient
+             }
+             else if ((Atom)e->xclient.data.l[2] ==
+                      OBT_PROP_ATOM(NET_WM_MOVERESIZE_CANCEL))
+-                moveresize_end(TRUE);
++                if (moveresize_client)
++                    moveresize_end(TRUE);
+         } else if (msgtype == OBT_PROP_ATOM(NET_MOVERESIZE_WINDOW)) {
+             gint ograv, x, y, w, h;
diff --git a/debian/patches/90_fix_link_obt.patch b/debian/patches/90_fix_link_obt.patch
new file mode 100644 (file)
index 0000000..687eabe
--- /dev/null
@@ -0,0 +1,22 @@
+From: Fryderyk Dziarmagowski <fdziarmagowski@gmail.com>
+Date: Fri, 14 Oct 2011 21:41:43 +0000 (-0400)
+Subject: Link libobt into libobrender, as it uses things from libobt (bug #5150)
+X-Git-Url: http://git.openbox.org/?p=dana%2Fopenbox.git;a=commitdiff_plain;h=b1039d6142865e3141c831ce75cd9799ce3ceab7
+
+Link libobt into libobrender, as it uses things from libobt (bug #5150)
+
+libobrender uses ObtPaths stuff, so it needs to link in libobt.
+---
+
+Index: openbox-3.5.0/Makefile.am
+===================================================================
+--- openbox-3.5.0.orig/Makefile.am     2011-08-01 22:14:58.000000000 +0200
++++ openbox-3.5.0/Makefile.am  2012-06-05 07:03:32.000000000 +0200
+@@ -79,6 +79,7 @@
+ obrender_libobrender_la_LDFLAGS = \
+       -version-info $(RR_CURRENT):$(RR_REVISION):$(RR_AGE)
+ obrender_libobrender_la_LIBADD = \
++      obt/libobt.la \
+       $(X_LIBS) \
+       $(PANGO_LIBS) \
+       $(GLIB_LIBS) \
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..8fc33ce
--- /dev/null
@@ -0,0 +1,9 @@
+#03_place_windows_in_quadrants.patch ## Needs to be ported on 3.5.0
+04_xsession.desktop_translation.patch
+02_fix_freedesktop_compliance.patch
+01_rc.xml.patch
+05_simplify_gnome_session.patch
+07_fix_xml_load_file.patch
+90_fix_link_obt.patch
+675991_fix_crash_from_gtk3_apps.patch
+666676_wrong_undecorated_window_placement.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..7283172
--- /dev/null
@@ -0,0 +1,40 @@
+#!/usr/bin/make -f
+
+#export DH_VERBOSE=
+
+CFLAGS +=-Wall -g -fPIC
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+        CFLAGS += -O0
+else
+        CFLAGS += -O2
+endif
+
+VERSION=$(shell awk '/^PACKAGE_VERSION/ { print $$2 }' "FS='" configure)
+
+%:
+       dh $@ --with autoreconf
+
+override_dh_auto_build:
+       pod2man --section=1 --release=$(VERSION) --center \
+               "Openbox documentation" debian/openbox.pod > openbox.1
+       #pod2man --section=1 --release=$(VERSION) --center \
+       #       "Openbox documentation" debian/kdetrayproxy.pod > kdetrayproxy.1
+       pod2man --section=1 --release=$(VERSION) --center \
+               "Openbox documentation" debian/gnome-panel-control.pod > \
+               gnome-panel-control.1
+       pod2man --section=1 --release=$(VERSION) --center \
+               "Openbox documentation" debian/gdm-control.pod > \
+               gdm-control.1
+       
+       dh_auto_build
+
+override_dh_install:
+       dh_install --list-missing
+
+override_dh_auto_clean:
+       rm -f openbox.1
+       #rm -f kdetrayproxy.1
+       rm -f gnome-panel-control.1
+       rm -f gdm-control.1
+       
+       dh_auto_clean
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..5342db9
--- /dev/null
@@ -0,0 +1,2 @@
+version=3
+http://icculus.org/openbox/releases (?:.*/)?openbox-?_?([\d+\.]+|\d+)\.tar.* debian uupdate