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)
|
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);
|
client_focus(data->client.any.c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1380,6 +1384,10 @@ void action_showmenu(union ActionData *data)
|
||||||
|
|
||||||
void action_cycle_windows(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,
|
focus_cycle(data->cycle.forward, data->cycle.linear,
|
||||||
data->cycle.dialog,
|
data->cycle.dialog,
|
||||||
data->cycle.inter.final, data->cycle.inter.cancel);
|
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)
|
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,
|
focus_directional_cycle(data->interdiraction.direction,
|
||||||
data->interdiraction.dialog,
|
data->interdiraction.dialog,
|
||||||
data->interdiraction.inter.final,
|
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
|
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
|
clicking a window to activate is. so keep the new window out of the way
|
||||||
but do focus it. */
|
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
|
/* client_activate does this but we aret using it so we have to do it
|
||||||
here as well */
|
here as well */
|
||||||
|
|
Loading…
Reference in a new issue