don't queue focusing actions. so they don't hide the menu right away
This commit is contained in:
parent
fe99440c16
commit
10002eaa27
1 changed files with 8 additions and 8 deletions
|
@ -1151,13 +1151,9 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
|
||||||
{
|
{
|
||||||
/* interactive actions are not queued */
|
/* interactive actions are not queued */
|
||||||
a->func(&a->data);
|
a->func(&a->data);
|
||||||
} else if (c &&
|
} else if (a->func == action_focus ||
|
||||||
(context == OB_FRAME_CONTEXT_CLIENT ||
|
a->func == action_activate ||
|
||||||
(c->type == OB_CLIENT_TYPE_DESKTOP &&
|
a->func == action_showmenu)
|
||||||
context == OB_FRAME_CONTEXT_DESKTOP)) &&
|
|
||||||
(a->func == action_focus ||
|
|
||||||
a->func == action_activate ||
|
|
||||||
a->func == action_showmenu))
|
|
||||||
{
|
{
|
||||||
/* XXX MORE UGLY HACK
|
/* XXX MORE UGLY HACK
|
||||||
actions from clicks on client windows are NOT queued.
|
actions from clicks on client windows are NOT queued.
|
||||||
|
@ -1177,11 +1173,15 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
|
||||||
pointer. ugh.
|
pointer. ugh.
|
||||||
|
|
||||||
also with the menus, there is a race going on. if the
|
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
|
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
|
menu first. but not always. if we pop up our menu before
|
||||||
sending them the button press, then the result is
|
sending them the button press, then the result is
|
||||||
deterministic. yay.
|
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);
|
a->func(&a->data);
|
||||||
} else
|
} else
|
||||||
|
|
Loading…
Reference in a new issue