all repos — openbox @ bb5294199982817a84cd6b5c1197115389cbad56

openbox fork - make it a bit more like ryudo

cancel focus delays when the user runs a focus (or focus cycle) action, and when focusing new windows
Dana Jansens danakj@orodu.net
commit

bb5294199982817a84cd6b5c1197115389cbad56

parent

8e34732b3a6d19c64addc6e7f8cdc7bbf6293f1f

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

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

@@ -994,6 +994,10 @@ }

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_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_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,
M openbox/client.copenbox/client.c

@@ -359,7 +359,13 @@ stuff like switch desktops etc and I'm not interested in all that when

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 */