all repos — openbox @ 55b5b828e9b52ea755cae4b3892c6d27cc59e82c

openbox fork - make it a bit more like ryudo

FocusOut events come after UnmapNotify, so we don't need to worry about focusing an invalid window
Dana Jansens danakj@orodu.net
commit

55b5b828e9b52ea755cae4b3892c6d27cc59e82c

parent

bfb800c032e1dd50f5d1c37d1ce8ac9239947b01

1 files changed, 10 insertions(+), 6 deletions(-)

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

@@ -456,15 +456,19 @@ } else if (e->type == FocusIn) {

if (e->xfocus.detail == NotifyPointerRoot || e->xfocus.detail == NotifyDetailNone) { ob_debug_type(OB_DEBUG_FOCUS, "Focus went to root\n"); - /* Focus has been reverted to the root window or nothing, so fall - back to something other than the window which just had it. */ - focus_fallback(FALSE); + /* Focus has been reverted to the root window or nothing + FocusOut events come after UnmapNotify, so we don't need to + worry about focusing an invalid window + */ + focus_fallback(TRUE); } else if (e->xfocus.detail == NotifyInferior) { ob_debug_type(OB_DEBUG_FOCUS, "Focus went to parent\n"); /* Focus has been reverted to parent, which is our frame window, - or the root window, so fall back to something other than the - window which had it. */ - focus_fallback(FALSE); + or the root window + FocusOut events come after UnmapNotify, so we don't need to + worry about focusing an invalid window + */ + focus_fallback(TRUE); } else if (client && client != focus_client) { frame_adjust_focus(client->frame, TRUE); client_calc_layer(client);