Allow non-interactive focus cycling. Adds an <interactive>bool</interactive> option to the NextWindow and PreviousWindow actions. When it is false, the action is not interactive and will immediately switch focus to whatever the next focus target is. Removing the "interactive" flag from the focus_cycle() method, as it was unused previously, and the new code does not make use of it either. In order to be non-interactive it simply starts a focus_cycle then immediately ends it when the action ends. The "interactive" flag in focus_cycle() forced a linear cycling order which may not be what you want, so the new method is preferrable anyhow.
Don't make desktop switching interactive when no mods used. (Fix bug #5203) Make mod state passing more consistent, and always give actions the full state instead of stripping sometimes. (They ended up expecting it stripped always).
Make "no" a valid choice for the dialog option in cyclewindows.c. It is the same as "none" for backward compatibility (it used to be a boolean).
add an option to next/previous window to only include hilited/flashing/urgent windows (feature req/bug #4341)
make keypad enter do the same thing as return
get the modifier mask for a modifier key that is pressed/released more accurately, using the table we built already for other purposes
more using g_slice_new() instead of g_new()
make control keys work in menus/dialogs/etc with the new obt code, using XLookup stuff
pass an input context to the interactive input function
don't strip the state for keyboard events this allows translation of keys not in the base keyboard layout
rename the obt_parse library to obt_xml (since it is very xml specific)
Make the relative desktop switching actions interactive The desktop popup can now be shown "permanently" in which case it stays until you tell it to hide.
Make it possible for an action name to choose whether it is interactive or not based on its options. This way we can use the same name with options for an interactive action and a non-interactive action. Shorten the names of the ObActionsInteractive* functions to ObActionsI* Add a ObActionsIPreFunc that is called for interactive actions before the interactivity (key/mouse grab) is started. Add a ObActionsIPostFunc that is called for interactive actions after the interactiviti (key/mouse grab) has ended.
Merge branch 'backport' into work Conflicts: obt/keyboard.c obt/keyboard.h openbox/event.c openbox/menuframe.c openbox/moveresize.c openbox/openbox.c openbox/screen.c
Allow the user to bind more than one keycode to a keysym for Ob Menus/Move/Resize If the user has escape bound to more than one keycode then they can use any of them to close a menu. This change applies to the hardcoded keys in openbox, which are used for the menus and for move/resize, and maybe other places.
Merge branch 'backport' into work Conflicts: obt/keyboard.c openbox/actions/cyclewindows.c openbox/actions/directionalwindows.c openbox/frame.c openbox/openbox.c
Don't run actions in focus cycling actions backwards either (as in 664b0b4e943ba4d410168817dcff953804b44253).
make the listmode alttab the default
don't crash when using <raise> and alt-tab and there are no windows to cycle between
combine the old focus cycle popup code with mika's new list-mode popup, and make an action option for it (the old <dialog> option)