a_unfocused_title = appearance_new(Surface_Planar, 0);
a_focused_label = appearance_new(Surface_Planar, 1);
a_unfocused_label = appearance_new(Surface_Planar, 1);
- a_icon = appearance_new(Surface_Planar, 0);/*1);*/
+ a_icon = appearance_new(Surface_Planar, 1);
a_focused_handle = appearance_new(Surface_Planar, 0);
a_unfocused_handle = appearance_new(Surface_Planar, 0);
XUnmapWindow(ob_display, self->handle);
}
- if (moved) {
- /* 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.
- shading can change without being moved or resized */
- 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));
-
if (resized) {
/* move and resize the plate */
XMoveResizeWindow(ob_display, self->frame.plate,
self->frame.client->area.height +
self->frame.size.top + self->frame.size.bottom));
+ if (moved) {
+ /* find the new coordinates, done after setting the frame.size, for
+ frame_client_gravity. */
+ 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.
+ shading can change without being moved or resized */
+ XMoveResizeWindow(ob_display, self->frame.window,
+ self->frame.area.x, self->frame.area.y,
+ self->width, self->frame.area.height - self->bwidth * 2);
+
if (resized) {
render(self);
{
if (self->icon_x < 0) return;
- /* XXX set the texture's icon picture! */
- RECT_SET(self->a_icon->texture[0].position, 0, 0, BUTTON_SIZE,BUTTON_SIZE);
+ if (self->frame.client->nicons) {
+ Icon *icon = client_icon(self->frame.client, BUTTON_SIZE, BUTTON_SIZE);
+ self->a_icon->texture[0].type = RGBA;
+ self->a_icon->texture[0].data.rgba.width = icon->width;
+ self->a_icon->texture[0].data.rgba.height = icon->height;
+ self->a_icon->texture[0].data.rgba.data = icon->data;
+ RECT_SET(self->a_icon->texture[0].position, 0, 0,
+ BUTTON_SIZE,BUTTON_SIZE);
+ } else
+ self->a_icon->texture[0].type = NoTexture;
+
paint(self->icon, self->a_icon, 0, 0, BUTTON_SIZE, BUTTON_SIZE);
}