all repos — openbox @ 10002eaa2738a4c3bba86f082a483d5c4138adc7

openbox fork - make it a bit more like ryudo

don't queue focusing actions. so they don't hide the menu right away
Dana Jansens danakj@orodu.net
commit

10002eaa2738a4c3bba86f082a483d5c4138adc7

parent

fe99440c1666db533eeed102a3860d3c0c191f4e

1 files changed, 8 insertions(+), 8 deletions(-)

jump to
M openbox/action.copenbox/action.c

@@ -1151,13 +1151,9 @@ a->func == action_resize || a->func == action_showmenu)

{ /* interactive actions are not queued */ a->func(&a->data); - } else if (c && - (context == OB_FRAME_CONTEXT_CLIENT || - (c->type == OB_CLIENT_TYPE_DESKTOP && - context == OB_FRAME_CONTEXT_DESKTOP)) && - (a->func == action_focus || - a->func == action_activate || - a->func == action_showmenu)) + } else if (a->func == action_focus || + a->func == action_activate || + a->func == action_showmenu) { /* XXX MORE UGLY HACK actions from clicks on client windows are NOT queued.

@@ -1177,11 +1173,15 @@ if it is a focusing action that can be used with the mouse

pointer. ugh. also with the menus, there is a race going on. if the - desktop wants to pop up a menu, and we do to, we send them + desktop wants to pop up a menu, and we do too, we send them the button before we pop up the menu, so they pop up their menu first. but not always. if we pop up our menu before sending them the button press, then the result is deterministic. yay. + + XXX further more. focus actions are not queued at all, + because if you bind focus->showmenu, the menu will get + hidden to do the focusing */ a->func(&a->data); } else