OBApps
A graphical editor for Openbox application settings
    
To install:

    sudo python setup.py install, or Just put obapps somewhere on your path and make sure it's executable

Requires:

    wxPython (2.8.0+), python-xlib

Usage notes:

    OBApps uses ~/.config/openbox/rc.xml (or the config-file Openbox was started with) by default.
    You can specify another file as an argument, e.g. obapps.py .config/openbox/myrc.xml
    
    Enter or change the name, class, role, or type settings by clicking in their entries in the listbox.
    
    Using the Find button to get settings by clicking on a window changes the settings for the CURRENTLY SELECTED
    item in the listbox; it does not add a new entry unless nothing is highlighted. You'll usually want to use the New
    button to create a new item first.
    
    Blank entries for name/class/role/type are ignored. If you want any of those fields to be stored as literally blank
    attributes (e.g. to match only a window with a blank role), enter "" or '' in the field.
    
    Changes are written to the rc.xml file only when the apply button is used. Openbox will automatically be reconfigured
    when this is done (as of version 0.1.2)
    
Bugs/limitations:
    
    Since this code is very preliminary, make sure to back up your rc.xml file before using OBApps
    
Changelog:

    0.1.0 (2010-05-12) Initial release
    
    0.1.1 (2010-05-12) Added icons to buttons
    
    0.1.2 (2010-05-13) Automatically reconfigure Openbox when changes applied
            Removed internal constraint on radio box titles
            
    0.1.3 (2010-05-15) Changed to python-xlib for window picker. This removes dependency on
            python-wnck and allows picking to work across desktops. Added statusbar to indicate
            picking status because python-xlib doesn't seem to allow changing the cursor
            in a pointer grab
            
    0.1.4 (2010-05-15) Determine correct config file if not using the default. Blank name/class/role/type
            values are loaded properly. Added proper installation script and removed '.py' extension
            
    0.1.5 (2010-05-22) No longer crashes if root window is clicked on during find. Xlib-dependent code moved
            to separate module.
            
    0.1.6 (2010-06-03) Crosshair cursor for find; status bar removed
    
    0.1.7 (2010-07-09) Maximized setting of both in GUI now properly translates to "yes" in XML.
            Fixed locale-dependent error checking when locating config file.

Copyright (c) 2010 Eric Bohlman <ericbohlman@gmail.com>

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
