X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.c;h=ffbcd5cae8c7074f08d3e99ea3a762e23246558a;hb=959fff5e1cda35b0a1569ef323aab3129db3cb1f;hp=4a3e8c372510225b5835b51da31c59689c162c6a;hpb=e9ccc6a82ef3fbb42550b65ee155bf53ef694ec8;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index 4a3e8c37..ffbcd5ca 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -381,13 +381,21 @@ void client_manage(Window window) "program + user specified" : "BADNESS !?")))), self->area.x, self->area.y); + ob_debug("Sized: %s @ %d %d\n", + (!self->sized ? "no" : + (self->sized == PSize ? "program specified" : + (self->sized == USSize ? "user specified" : + (self->sized == PSize | USSize ? + "program + user specified" : + "BADNESS !?")))), self->area.width, self->area.height); + transient = place_client(self, &placex, &placey, settings); /* if the window isn't user-positioned, then make it fit inside the visible screen area on its monitor. the monitor is chosen by place_client! */ - if (!(self->positioned & USPosition)) { + if (!(self->sized & USSize)) { /* make a copy to modify */ Rect a = *screen_area_monitor(self->desktop, client_monitor(self)); @@ -867,6 +875,7 @@ static void client_restore_session_state(ObClient *self) RECT_SET_POINT(self->area, self->session->x, self->session->y); self->positioned = USPosition; + self->sized = USSize; if (self->session->w > 0) self->area.width = self->session->w; if (self->session->h > 0) @@ -1617,6 +1626,7 @@ void client_update_normal_hints(ObClient *self) if (!client_normal(self)) */ self->positioned = (size.flags & (PPosition|USPosition)); + self->sized = (size.flags & (PSize|USSize)); if (size.flags & PWinGravity) self->gravity = size.win_gravity; @@ -2347,7 +2357,6 @@ static void client_change_wm_state(ObClient *self) state[0] = self->wmstate; state[1] = None; PROP_SETA32(self->window, wm_state, wm_state, state, 2); - ob_debug("setting wm_state %d\n", self->wmstate); } }