g_free(settings);
ob_debug("Managed window 0x%lx plate 0x%x (%s)\n",
- window, self->frame->plate, self->class);
+ window, self->frame->window, self->class);
return;
}
GSList *it;
ob_debug("Unmanaging window: 0x%x plate 0x%x (%s) (%s)\n",
- self->window, self->frame->plate,
+ self->window, self->frame->window,
self->class, self->title ? self->title : "");
g_assert(self != NULL);
/* if the client is enlarging, then resize the client before the frame */
if (send_resize_client && (w > oldw || h > oldh)) {
XWindowChanges changes;
- changes.x = -self->border_width;
- changes.y = -self->border_width;
+ changes.x = self->frame->size.left - self->border_width;
+ changes.y = self->frame->size.top -self->border_width;
changes.width = MAX(w, oldw);
changes.height = MAX(h, oldh);
changes.border_width = self->border_width;
XConfigureWindow(ob_display, self->window,
CWX|CWY|CWWidth|CWHeight|CWBorderWidth,
&changes);
- /* resize the plate to show the client padding color underneath */
+
frame_adjust_client_area(self->frame);
}
/* if the client is shrinking, then resize the frame before the client */
if (send_resize_client && (w <= oldw && h <= oldh)) {
- /* resize the plate to show the client padding color underneath */
+ XWindowChanges changes;
+
frame_adjust_client_area(self->frame);
- if (send_resize_client) {
- XWindowChanges changes;
- changes.x = -self->border_width;
- changes.y = -self->border_width;
- changes.width = w;
- changes.height = h;
- changes.border_width = self->border_width;
- XConfigureWindow(ob_display, self->window,
- CWX|CWY|CWWidth|CWHeight|CWBorderWidth,
- &changes);
- }
+ changes.x = self->frame->size.left - self->border_width;
+ changes.y = self->frame->size.top -self->border_width;
+ changes.width = w;
+ changes.height = h;
+ changes.border_width = self->border_width;
+ XConfigureWindow(ob_display, self->window,
+ CWX|CWY|CWWidth|CWHeight|CWBorderWidth,
+ &changes);
}
XFlush(ob_display);