- if (self->decorations & OB_FRAME_DECOR_HANDLE) {
- XMoveResizeWindow(ob_display, self->handle,
- -self->bwidth, FRAME_HANDLE_Y(self),
- self->width, ob_rr_theme->handle_height);
- self->innersize.bottom += ob_rr_theme->handle_height +
- self->bwidth;
- XMapWindow(ob_display, self->handle);
-
- if (self->decorations & OB_FRAME_DECOR_GRIPS) {
- XMoveWindow(ob_display, self->lgrip,
- -self->bwidth, -self->bwidth);
- XMoveWindow(ob_display, self->rgrip,
- -self->bwidth + self->width -
- ob_rr_theme->grip_width, -self->bwidth);
- XMapWindow(ob_display, self->lgrip);
- XMapWindow(ob_display, self->rgrip);
- } else {
- XUnmapWindow(ob_display, self->lgrip);
- XUnmapWindow(ob_display, self->rgrip);
- }
-
- /* XXX make a subwindow with these dimentions?
- ob_rr_theme->grip_width + self->bwidth, 0,
- self->width - (ob_rr_theme->grip_width + self->bwidth) * 2,
- ob_rr_theme->handle_height);
- */
- } else
- XUnmapWindow(ob_display, self->handle);
- }
-
- if (resized) {
- /* move and resize the plate */
- XMoveResizeWindow(ob_display, self->plate,
- self->innersize.left - self->cbwidth,
- self->innersize.top - self->cbwidth,
- self->client->area.width,
- self->client->area.height);
- /* when the client has StaticGravity, it likes to move around. */
- XMoveWindow(ob_display, self->client->window, 0, 0);
- }
+ if (!fake) {
+ if (self->decorations & OB_FRAME_DECOR_HANDLE &&
+ ob_rr_theme->handle_height > 0)
+ {
+ XMoveResizeWindow(ob_display, self->handle,
+ -self->bwidth, FRAME_HANDLE_Y(self),
+ self->width, ob_rr_theme->handle_height);
+ XMapWindow(ob_display, self->handle);
+
+ if (self->decorations & OB_FRAME_DECOR_GRIPS) {
+ XMoveWindow(ob_display, self->lgrip,
+ -self->rbwidth, -self->rbwidth);
+ XMoveWindow(ob_display, self->rgrip,
+ -self->rbwidth + self->width -
+ ob_rr_theme->grip_width, -self->rbwidth);
+ XMapWindow(ob_display, self->lgrip);
+ XMapWindow(ob_display, self->rgrip);
+ } else {
+ XUnmapWindow(ob_display, self->lgrip);
+ XUnmapWindow(ob_display, self->rgrip);
+ }
+ } else
+ XUnmapWindow(ob_display, self->handle);
+
+ /* move and resize the inner border window which contains the plate
+ */
+ XMoveResizeWindow(ob_display, self->inner,
+ self->innersize.left - self->cbwidth_x,
+ self->innersize.top - self->cbwidth_y,
+ self->client->area.width +
+ self->cbwidth_x * 2,
+ self->client->area.height +
+ self->cbwidth_y * 2);
+
+ /* move the plate */
+ XMoveWindow(ob_display, self->plate,
+ self->cbwidth_x, self->cbwidth_y);
+
+ /* when the client has StaticGravity, it likes to move around. */
+ XMoveWindow(ob_display, self->client->window, 0, 0);
+ }