stop shownig the desktop when a new window maps

This commit is contained in:
Dana Jansens 2003-07-22 16:50:23 +00:00
parent 56527d41b7
commit a057d14c8b

View file

@ -255,6 +255,8 @@ void client_manage(Window window)
/* update the focus lists */ /* update the focus lists */
focus_order_add_new(self); focus_order_add_new(self);
stacking_add(CLIENT_AS_WINDOW(self));
/* focus the new window? */ /* focus the new window? */
if (ob_state() != OB_STATE_STARTING && config_focus_new && if (ob_state() != OB_STATE_STARTING && config_focus_new &&
/* note the check against Type_Normal/Dialog, not client_normal(self), /* note the check against Type_Normal/Dialog, not client_normal(self),
@ -263,14 +265,10 @@ void client_manage(Window window)
(self->type == OB_CLIENT_TYPE_NORMAL || (self->type == OB_CLIENT_TYPE_NORMAL ||
self->type == OB_CLIENT_TYPE_DIALOG)) self->type == OB_CLIENT_TYPE_DIALOG))
{ {
if (self->desktop != screen_desktop) if (self->desktop != screen_desktop) {
{
/* activate the window */ /* activate the window */
stacking_add(CLIENT_AS_WINDOW(self));
activate = TRUE; activate = TRUE;
} } else {
else
{
gboolean group_foc = FALSE; gboolean group_foc = FALSE;
if (self->group) { if (self->group) {
@ -293,20 +291,10 @@ void client_manage(Window window)
!client_normal(focus_client)) !client_normal(focus_client))
{ {
/* activate the window */ /* activate the window */
stacking_add(CLIENT_AS_WINDOW(self));
activate = TRUE; activate = TRUE;
} }
else
{
/* try to not get in the way */
stacking_add_nonintrusive(CLIENT_AS_WINDOW(self));
} }
} }
}
else
{
stacking_add(CLIENT_AS_WINDOW(self));
}
dispatch_client(Event_Client_New, self, 0, 0); dispatch_client(Event_Client_New, self, 0, 0);
@ -324,6 +312,11 @@ void client_manage(Window window)
but do focus it. */ but do focus it. */
if (activate) client_focus(self); if (activate) client_focus(self);
/* client_activate does this but we aret using it so we have to do it
here as well */
if (screen_showing_desktop)
screen_show_desktop(FALSE);
/* update the list hints */ /* update the list hints */
client_set_list(); client_set_list();