X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fframe.c;h=48dda24eaa9880380d05b1ecc9bcc875cdb1a456;hb=2391410e3fd7767e266c0efe84fd34244ea29dc6;hp=bd9527b0956119adefaa38343495590e84293c47;hpb=1ffc0021325e30db7bb7f8b2a17ca7f5546b3324;p=chaz%2Fopenbox diff --git a/openbox/frame.c b/openbox/frame.c index bd9527b0..48dda24e 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -276,9 +276,14 @@ void frame_adjust_shape_kind(ObFrame *self, int kind) { gint num; XRectangle xrect[2]; + gboolean shaped; - if (!((kind == ShapeBounding && self->client->shaped) || - (kind == ShapeInput && self->client->shaped_input))) { + shaped = (kind == ShapeBounding && self->client->shaped); +#ifdef ShapeInput + shaped |= (kind == ShapeInput && self->client->shaped_input); +#endif + + if (!shaped) { /* clear the shape on the frame window */ XShapeCombineMask(obt_display, self->window, kind, self->size.left, @@ -323,8 +328,10 @@ void frame_adjust_shape(ObFrame *self) { #ifdef SHAPE frame_adjust_shape_kind(self, ShapeBounding); +#ifdef ShapeInput frame_adjust_shape_kind(self, ShapeInput); #endif +#endif } void frame_adjust_area(ObFrame *self, gboolean moved, @@ -341,7 +348,8 @@ void frame_adjust_area(ObFrame *self, gboolean moved, self->shaded = self->client->shaded; if (self->decorations & OB_FRAME_DECOR_BORDER) - self->bwidth = ob_rr_theme->fbwidth; + self->bwidth = self->client->undecorated ? + ob_rr_theme->ubwidth : ob_rr_theme->fbwidth; else self->bwidth = 0; @@ -953,7 +961,7 @@ void frame_adjust_state(ObFrame *self) void frame_adjust_focus(ObFrame *self, gboolean hilite) { ob_debug_type(OB_DEBUG_FOCUS, - "Frame for 0x%x has focus: %d\n", + "Frame for 0x%x has focus: %d", self->client->window, hilite); self->focused = hilite; self->need_render = TRUE; @@ -1672,7 +1680,6 @@ static gboolean flash_timeout(gpointer data) self->focused = FALSE; } - XFlush(obt_display); return TRUE; /* go again */ } @@ -1770,11 +1777,11 @@ static gboolean frame_animate_iconify(gpointer p) } XMoveResizeWindow(obt_display, self->window, x, y, w, h); + XFlush(obt_display); if (time == 0) frame_end_iconify_animation(self); - XFlush(obt_display); return time > 0; /* repeat until we're out of time */ }