Add _OB_VERSION property on the root window.
Change _OB_ROLE/CLASS/NAME to _OB_APP_*.
Add _OB_APP_TYPE which has a string for the type chosen for the window on
mapping by Openbox.
Adjust the rc.xml to match these changes.
The themeing options (sic) for inactive osd labels added in
cfdbe23e0d had the fallback to inactive
label before that was read in, so fallback failed to pick up some
things.
This changes how the imagecache works, you can load an image into it directly,
or you can load it by name (then it will load it from a file on disk).
NOTE: The name part is incomplete, as it needs to use the freedesktop.org icon
spec to search for the right file. Also to resize it should look for another
icon on disk with the same name but different size (icon themes).
Image loading is done using the Imlib2 library.
I chose Imlib2 because it's pretty fast, it's easy to use, supports many file
formats (tested xpm, gif, jpeg, png) and doesn't introduce too much bloat (it
depends :)).
I ported the patch to 3.4.7-pre3 and added some enhancements. Caching is much
better now, and icons can be disabled at compile time using --disable-imlib2
option.
What's new?
Syntax of configuration files (namely rc.xml and menu.xml) has been changed
slightly to allow users to associate icons to menu entries. This is done by
specifying path to icon file in the new "icon" attribute in "<item>" element,
e.g:
<item label="Vim" icon="/usr/share/pixmaps/vim-32.xpm">
<action name="Execute"><execute>x-terminal-emulator -T Vim -e
vim</execute></action>
</item>
If user doesn't want to display any icons in his user-defined menus, he/she can
disable icons in rc.xml, inside "<menu>" section:
<menu>
...
<showIcons>no</showIcons>
...
</menu>
Default value is "yes".
(New boolean variable "config_menu_user_show_icons" has been added to source
code.)
An icon is loaded (using menu_item_attach_icon()) when a new entry of menu is
created. Fortunately, I haven't notice any performance problems because of this
:).
The look-around things are fixed-width but the [stuff] is 1 char, and
the $ is 0 so it didn't work. I already used that trick for the ^,
maybe it used to work due to a bug or smth.
Also, be more careful about making the prompt buttons look pressed, don't make them pressed from a motion notify event if they didnt first handle the press.
Make 'left' key in a menu close it's visible child menu and move to the parent
properly.
Make clicking on a menu item in a menu close any of its grandchildren and
remove focus from its children, effectively focusing the menu item you
clicked on.
When nothing in a menu is selected, go back to selecting the open submenu.
Adjust the LeaveNotify event handling to only respond when there is not a
EnterNotify coming for the same menu frame.
Change the default submenu show/hide delays.
Have the default values for submenu show/hide match the default rc.xml
Old < 3.4.8 Openbox versions would stop focus cycling when focus moved. Now that is not the case, but you should be able to stop it by Choosing a window explicitly still.