X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.c;h=266eea434c8782feb10be076b6ca42fa08513c95;hb=54ccb6a5428fbf33bf1a97d0f60f6623f0195fa3;hp=4a553224e3c86e3d5c94201339f93b7ea548ca5e;hpb=624033c32de25c684d015386fb2d3ae41e36bbb0;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index 4a553224..266eea43 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -277,7 +277,10 @@ void client_manage(Window window) client_restore_session_stacking(self); /* focus the new window? */ - if (ob_state() != OB_STATE_STARTING && config_focus_new && + if (ob_state() != OB_STATE_STARTING && + (config_focus_new || (self->transient_for && + self->transient_for != TRAN_GROUP && + client_focused(self->transient_for))) && /* note the check against Type_Normal/Dialog, not client_normal(self), which would also include other types. in this case we want more strict rules for focus */ @@ -3031,9 +3034,8 @@ int client_directional_edge_search(ObClient *c, ObDirection dir) case OB_DIRECTION_NORTHWEST: case OB_DIRECTION_SOUTHWEST: /* not implemented */ - break; default: - g_assert_not_reached(); + g_assert_not_reached(); } return dest; }