event_curtime is replaced (publicly) by event_time() This function never returns CurrentTime, which is nice, cuz using CurrentTime for XSetFocus always sucks. If the current XEvent did not have a timestamp, then event_time() will find one. It finds the first timestamp available in the X event queue, meaning the earliest timestamp >= the current (nontimestamped) event. All future events should have a timestamp >= event_time(), so using this in XSetFocus() should not mess up any future calls we make to it. This change seems to work well, as it appears to fix bug #3648.
make menu input work with the new obt keyboard stuff. create an Input Context for use during keyboard grabs, and use this to translate KeyPress events properly. make the menu respond to KeyPress events, since these are the only ones that can be translated properly, but still execute things from KeyRelease events
Merge branch 'backport' into work Conflicts: openbox/grab.c openbox/keyboard.c
Grab key bindings with GrabModeSync, so that if they lead to a keyboard grab, then no keyboard events will be lost between the initial keybinding and the keyboard grab.
make an obt_root() macro
change openbox to use the libotk's keyboard.[ch] stuff instead of the old modkeys.[ch] and some of translate.[ch]
s/ob_display/obt_display/ and remove ob_display
add prop.[ch] to the libobt, but they are not used yet. add a global obt_display which obt can use, and the application.
move the code for tracking what extensions are available on the display into the libobt
move the xerror handling into the libobt
ANSI function declarations, ie () -> (void)
remove debug print
only xungrabkeyboard when we actually have a passive grab on it
revert 7283 until we find out what version they are using
always ungrab the keyboard/mouse with current time because i dont know what else we can do with buggy x.org
add grab/ungrab macros so dont need to pass in 10 arguments to ungrab stuff. add a confine option to grab_pointer to confine the pointer to the screen, and use that for moveresize
watch for currenttime
make the modifier key code a lot better... 1) it can handle more user cases. 2) it can handle binding more modifier keys with their keysym names like Hyper and Super. W is a shortcut for Super, cuz the windows key is generally bound to it. 3) if you change your keymap bindings and reconfigure openbox it will learn your changes. and i dunno.. its just nice and stuff now.. you can actually read it I think..
playing a bit with grabs make mouse clicks cancel alt-tab and stuff if you arent dragging during the alt-tab
never mind on the hint idea, it was fun while it lasted. at least i know it is there now.