all repos — openbox @ 1e5d8ce0a84424bb0ec97b027f48c975c9578de1

openbox fork - make it a bit more like ryudo

when undermouse is off, ignore enter events from windows lowering/raising themsvelves (or from a pager restacking them)
Dana Jansens danakj@orodu.net
commit

1e5d8ce0a84424bb0ec97b027f48c975c9578de1

parent

350be88d3ce6aff4e9714d1f29adfd884772644e

2 files changed, 13 insertions(+), 1 deletions(-)

jump to
M data/rc.xmldata/rc.xml

@@ -26,7 +26,7 @@ <!-- when followMouse is enabled, the mouse must be inside the window for

this many milliseconds (1000 = 1 sec) before moving focus to it --> <raiseOnFocus>no</raiseOnFocus> <!-- when followMouse is enabled, and a window is given focus by moving the - mouse into it, also raise the window --> +s mouse into it, also raise the window --> </focus> <placement>
M openbox/event.copenbox/event.c

@@ -1064,6 +1064,7 @@

if (e->xconfigurerequest.value_mask & CWStackMode) { ObClient *sibling = NULL; + gulong ignore_start; /* get the sibling */ if (e->xconfigurerequest.value_mask & CWSibling) {

@@ -1075,9 +1076,13 @@ sibling = WINDOW_AS_CLIENT(win);

} /* activate it rather than just focus it */ + if (!config_focus_under_mouse) + ignore_start = event_start_ignore_all_enters(); stacking_restack_request(client, sibling, e->xconfigurerequest.detail, TRUE); + if (!config_focus_under_mouse) + event_end_ignore_all_enters(ignore_start); /* if a stacking change moves the window without resizing */ move = TRUE;

@@ -1420,9 +1425,16 @@ e->xclient.data.l[2] == Above ||

e->xclient.data.l[2] == TopIf || e->xclient.data.l[2] == Opposite) { + gulong ignore_start; + + if (!config_focus_under_mouse) + ignore_start = event_start_ignore_all_enters(); /* just raise, don't activate */ stacking_restack_request(client, sibling, e->xclient.data.l[2], FALSE); + if (!config_focus_under_mouse) + event_end_ignore_all_enters(ignore_start); + /* send a synthetic ConfigureNotify, cuz this is supposed to be like a ConfigureRequest. */ client_reconfigure(client);