| Age | Commit message (Collapse) | Author |
|
action on the focused window
update it at the end of running actions instead of multiple times (once for
each action)
|
|
|
|
It also caused the slightest cursor movement to activate the entry under
the cursor when navigating via the keyboard.
|
|
|
|
This reverts commit aa3685d16af4a565eecdc39047ee8d140ef5cd99.
Mika's commit using a GSource to handle X Events fixes this problem, so this
commit is not needed
|
|
|
|
GMainLoop doesn't cause an flush to occur after handling a timeout.
|
|
|
|
client's decor or functions
|
|
openbox
adds a function event_reset_time() that forces event_time() to look for a new (future) timestamp
|
|
|
|
|
|
1) a ConfigureNotify must always follow a Sync notification
2) determine the final size of the window with its position else struts are not applied properly for (partly) maximized windows
3) set the sync counter to a value when managing a new window
|
|
|
|
was just going to get ignored the next time around cuz the window wouldnt be in our list of clients
|
|
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.
|
|
Get the first timestamp from the event queue, rather than (potentially) the
last.
also treat it as the actual event_curtime, meaning it is used when focusing a
newly mapped window etc.
|
|
transient for the group when it shouldn't be (fixes bug #4586)
|
|
|
|
|
|
"oldschool fullscreen window" or not. use this throughout. and allow oldschool fullscreen windows to move to 0,0 even with a strut there.
|
|
move it to inside the strut instead (unless it is an oldschool fullscreen app)
|
|
if we decide to focus the window, do not use their provided timestamp.
chromium gives a very old timestamp, which means we think we're focusing the
window but it never actually gets focus, leading to inconsistent behaviour by
openbox. use the timestamp for making decisions about passing focus if you
want (we dont right now), but not for the XSetInputFocus call.
|
|
|
|
|
|
XLookup 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
|
|
handle input from the non-base group and composed input
|
|
this allows translation of keys not in the base keyboard layout
|
|
|
|
|
|
use the state from keyrelease events directly, rather than query the state (which is not as accurate!)
the xkb state (as opposed to the normally sent compat state) contains extra info like the keyboard group, the pointer buttons, etc. so we can just strip that stuff out. (See section 2.2.2 of the XKB proto document)
|
|
is related to a press we received on the root window, then process the event (Fixes bug #3702)
|
|
Conflicts:
configure.ac
data/rc.xml
openbox/client.c
openbox/event.c
openbox/focus_cycle.c
openbox/focus_cycle_popup.c
openbox/openbox.c
openbox/prop.c
openbox/prop.h
openbox/screen.c
parser/parse.c
version.h.in
|
|
binding/menu instead.
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.
|
|
Conflicts:
Makefile.am
openbox/actions/focus.c
openbox/config.c
openbox/event.c
openbox/menuframe.c
|
|
|
|
|
|
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
|
|
This reverts commit 828c095c8b5a2df96a38faaeb8a0df504e68e70f.
|
|
This reverts commit 1fb198410e9d3ca660d91d1049249db0f2f47732.
|
|
|
|
It fixes this:
(Mikachu) dana: i think his issue was if you have a menu with two
submenus s1 and s2, open the s1 submenu, then point to s2 and
go into s1, then after the delay, s1 is hidden despite you
being inside it still, because s2 was never unselected
|
|
pointer leaves it
This uses the same delay to unfocus as is used for focusing on enter
|
|
Conflicts:
openbox/screen.c
|
|
kill them now
|
|
Conflicts:
obt/keyboard.c
obt/keyboard.h
openbox/event.c
openbox/menuframe.c
openbox/moveresize.c
openbox/openbox.c
openbox/screen.c
|
|
This allows users to move to the submenu across other menu items (the same
as they already could across other menu items that were submenus).
This uses the same config delay for hiding submenus as it does for showing
new ones.
Based off the ideas in bug #3762.
|
|
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.
|