- if (self->frame.client->decorations & Decor_Handle) {
- XMoveResizeWindow(ob_display, self->handle,
- -self->bwidth, HANDLE_Y(self),
- self->width, s_handle_height);
- XMoveWindow(ob_display, self->lgrip,
- -self->bwidth, -self->bwidth);
- XMoveWindow(ob_display, self->rgrip,
- -self->bwidth + self->width -
- GRIP_WIDTH, -self->bwidth);
- self->innersize.bottom += s_handle_height +
- self->bwidth;
- XMapWindow(ob_display, self->handle);
- } else
- XUnmapWindow(ob_display, self->handle);
-
- /* find the new coordinates */
- self->frame.area.x = self->frame.client->area.x;
- self->frame.area.y = self->frame.client->area.y;
- frame_client_gravity((Frame*)self,
- &self->frame.area.x, &self->frame.area.y);
- /* move and resize the top level frame */
- XMoveResizeWindow(ob_display, self->frame.window,
- self->frame.area.x, self->frame.area.y,
- self->width,
- (self->frame.client->shaded ? TITLE_HEIGHT :
- self->innersize.top + self->innersize.bottom +
- self->frame.client->area.height));
-
- /* move and resize the plate */
- XMoveResizeWindow(ob_display, self->frame.plate,
- self->innersize.left - self->cbwidth,
- self->innersize.top - self->cbwidth,
- self->frame.client->area.width,
- self->frame.client->area.height);
- /* when the client has StaticGravity, it likes to move around. */
- XMoveWindow(ob_display, self->frame.client->window, 0, 0);
-
- STRUT_SET(self->frame.size,
- self->innersize.left + self->bwidth,
- self->innersize.top + self->bwidth,
- self->innersize.right + self->bwidth,
- self->innersize.bottom + self->bwidth);