make it possible to iconify a modal window when its parent is the only window left on the desktop. when focus falls off of a window, don't allow focus to go back to that same target - when a window is iconified is the case. what focus_fallback_target, to check whe allow_refocus is false, check where focus will actually be sent
Dana Jansens danakj@orodu.net
2 files changed,
4 insertions(+),
4 deletions(-)
M
openbox/event.c
→
openbox/event.c
@@ -531,7 +531,7 @@ worry about focusing an invalid window
*/ if (!focus_left_screen) - focus_fallback(TRUE, FALSE); + focus_fallback(FALSE, FALSE); } } else if (!client)
M
openbox/focus.c
→
openbox/focus.c
@@ -105,7 +105,7 @@
ob_debug_type(OB_DEBUG_FOCUS, "trying pointer stuff\n"); if (allow_pointer && config_focus_follow) if ((c = client_under_pointer()) && - (allow_refocus || c != old) && + (allow_refocus || client_focus_target(c) != old) && (client_normal(c) && client_focus(c))) {@@ -125,7 +125,7 @@ backup fallback though)
*/ if (c->desktop == screen_desktop && client_normal(c) && - (allow_refocus || c != old) && + (allow_refocus || client_focus_target(c) != old) && client_focus(c)) { ob_debug_type(OB_DEBUG_FOCUS, "found in focus order\n");@@ -144,7 +144,7 @@ a splashscreen or a desktop window (save the desktop as a
backup fallback though) */ if (c->type == OB_CLIENT_TYPE_DESKTOP && - (allow_refocus || c != old) && + (allow_refocus || client_focus_target(c) != old) && client_focus(c)) { ob_debug_type(OB_DEBUG_FOCUS, "found a desktop window\n");