cancel focus delays when the user runs a focus (or focus cycle) action, and when focusing new windows
This commit is contained in:
parent
8e34732b3a
commit
bb52941999
2 changed files with 19 additions and 1 deletions
|
@ -994,6 +994,10 @@ void action_activate(union ActionData *data)
|
|||
|
||||
void action_focus(union ActionData *data)
|
||||
{
|
||||
/* if using focus_delay, stop the timer now so that focus doesn't go moving
|
||||
on us */
|
||||
event_halt_focus_delay();
|
||||
|
||||
client_focus(data->client.any.c);
|
||||
}
|
||||
|
||||
|
@ -1380,6 +1384,10 @@ void action_showmenu(union ActionData *data)
|
|||
|
||||
void action_cycle_windows(union ActionData *data)
|
||||
{
|
||||
/* if using focus_delay, stop the timer now so that focus doesn't go moving
|
||||
on us */
|
||||
event_halt_focus_delay();
|
||||
|
||||
focus_cycle(data->cycle.forward, data->cycle.linear,
|
||||
data->cycle.dialog,
|
||||
data->cycle.inter.final, data->cycle.inter.cancel);
|
||||
|
@ -1387,6 +1395,10 @@ void action_cycle_windows(union ActionData *data)
|
|||
|
||||
void action_directional_focus(union ActionData *data)
|
||||
{
|
||||
/* if using focus_delay, stop the timer now so that focus doesn't go moving
|
||||
on us */
|
||||
event_halt_focus_delay();
|
||||
|
||||
focus_directional_cycle(data->interdiraction.direction,
|
||||
data->interdiraction.dialog,
|
||||
data->interdiraction.inter.final,
|
||||
|
|
|
@ -359,7 +359,13 @@ void client_manage(Window window)
|
|||
a window maps since its not based on an action from the user like
|
||||
clicking a window to activate is. so keep the new window out of the way
|
||||
but do focus it. */
|
||||
if (activate) client_focus(self);
|
||||
if (activate) {
|
||||
/* if using focus_delay, stop the timer now so that focus doesn't go
|
||||
moving on us */
|
||||
event_halt_focus_delay();
|
||||
|
||||
client_focus(self);
|
||||
}
|
||||
|
||||
/* client_activate does this but we aret using it so we have to do it
|
||||
here as well */
|
||||
|
|
Loading…
Reference in a new issue