From: Dana Jansens Date: Thu, 6 Mar 2008 07:46:32 +0000 (-0500) Subject: Merge branch 'backport' into work X-Git-Tag: xkb~99 X-Git-Url: http://git.openbox.org/?p=dana%2Fopenbox.git;a=commitdiff_plain;h=18141d78dab9e19161cae3e7e89f8b95591a2e9b Merge branch 'backport' into work Conflicts: openbox/client.c --- 18141d78dab9e19161cae3e7e89f8b95591a2e9b diff --cc .gitignore index 3f68a41,3804330..9e6bcb6 --- a/.gitignore +++ b/.gitignore @@@ -48,9 -48,9 +48,10 @@@ po/en@boldquot.insert-heade po/en@quot.insert-header po/remove-potcdate.sed *.gmo -render/obrender-3.0.pc +render/obrender-4.0.pc +obt/obt-4.0.pc tools/gnome-panel-control/gnome-panel-control + tools/gdm-control/gdm-control version.h .libs .deps diff --cc openbox/client.c index e9443d4,585379e..a055e63 --- a/openbox/client.c +++ b/openbox/client.c @@@ -414,19 -494,22 +414,27 @@@ void client_manage(Window window, ObPro activate ? "yes" : "no"); if (activate) { gboolean raise = FALSE; - gboolean relative_focused = FALSE; + gboolean relative_focused; + gboolean parent_focused; + parent_focused = (focus_client != NULL && + client_search_focus_parent(self)); relative_focused = (focus_client != NULL && - client_search_focus_tree_full(self) != NULL && - client_search_focus_group_full(self) != NULL); - + (client_search_focus_tree_full(self) != NULL || + client_search_focus_group_full(self) != NULL)); - /* This is focus stealing prevention */ ob_debug_type(OB_DEBUG_FOCUS, "Want to focus new window 0x%x at time %u " - "launched at %u (last user interaction time %u)\n", + "launched at %u (last user interaction time %u)", self->window, map_time, launch_time, event_last_user_time); ++ ob_debug_type(OB_DEBUG_FOCUS, ++ "Current focus_client: %s", ++ (focus_client ? focus_client->title : "(none)")); ++ ob_debug_type(OB_DEBUG_FOCUS, ++ "parent focuesed: %d relative focused: %d", ++ parent_focused, relative_focused); if (menu_frame_visible || moveresize_in_progress) { activate = FALSE; @@@ -463,7 -547,8 +472,8 @@@ activate = FALSE; ob_debug_type(OB_DEBUG_FOCUS, "Not focusing the window because the user is " - "working in another window"); + "working in another window that is not " - "its parent\n"); ++ "its parent"); } /* If the new window is a transient (and its relatives aren't focused) */