X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.c;h=4cfece1dd2e8996bcc83632ab195e8b70ebfab46;hb=94c95663a86b1b40463fcd1e25a9ac4bc10954c1;hp=daa65379f3d50e4201a60c7ea0f91976c3ed7126;hpb=4940d007cce43a135f1b448902f5a3571dbce62a;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index daa65379..4cfece1d 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -411,10 +411,11 @@ void client_manage(Window window) splash screens get "transient" set to TRUE by the place_client call */ - transient || - (!(self->positioned & USPosition) && - client_normal(self) && - !self->session)); + ob_state() == OB_STATE_RUNNING && + (transient || + (!(self->positioned & USPosition) && + client_normal(self) && + !self->session))); } /* if the window isn't user-sized, then make it fit inside @@ -426,10 +427,11 @@ void client_manage(Window window) splash screens get "transient" set to TRUE by the place_client call */ - if (transient || - (!(self->sized & USSize) && - client_normal(self) && - !self->session)) + if (ob_state() == OB_STATE_RUNNING && + (transient || + (!(self->sized & USSize) && + client_normal(self) && + !self->session))) { /* make a copy to modify */ Rect a = *screen_area_monitor(self->desktop, client_monitor(self)); @@ -1152,6 +1154,9 @@ static void client_get_desktop(ObClient *self) for (it = self->group->members; it; it = g_slist_next(it)) { ObClient *c = it->data; + + if (c->desktop == DESKTOP_ALL) continue; + if (c != self) { if (first) { all = c->desktop; @@ -3519,10 +3524,6 @@ gboolean client_focus(ObClient *self) self = client_focus_target(self); if (!client_can_focus(self)) { - if (!self->frame->visible) { - /* update the focus lists */ - focus_order_to_top(self); - } ob_debug_type(OB_DEBUG_FOCUS, "Client %s can't be focused\n", self->title); return FALSE;