void framerender_frame(ObFrame *self)
{
+ if (frame_iconify_animating(self))
+ return; /* delay redrawing until the animation is done */
+ if (!self->need_render)
+ return;
+ if (!self->visible)
+ return;
+ self->need_render = FALSE;
+
{
gulong px;
px = (self->focused ?
RrColorPixel(ob_rr_theme->cb_focused_color) :
RrColorPixel(ob_rr_theme->cb_unfocused_color));
- XSetWindowBackground(ob_display, self->inner, px);
- XClearWindow(ob_display, self->inner);
+
+ XSetWindowBackground(ob_display, self->backback, px);
+ XClearWindow(ob_display, self->backback);
+ XSetWindowBackground(ob_display, self->innerleft, px);
+ XClearWindow(ob_display, self->innerleft);
+ XSetWindowBackground(ob_display, self->innertop, px);
+ XClearWindow(ob_display, self->innertop);
+ XSetWindowBackground(ob_display, self->innerright, px);
+ XClearWindow(ob_display, self->innerright);
+ XSetWindowBackground(ob_display, self->innerbottom, px);
+ XClearWindow(ob_display, self->innerbottom);
px = (self->focused ?
RrColorPixel(ob_rr_theme->frame_focused_border_color) :
XClearWindow(ob_display, self->titletopright);
XSetWindowBackground(ob_display, self->titleright, px);
XClearWindow(ob_display, self->titleright);
- XSetWindowBackground(ob_display, self->titlebottom, px);
- XClearWindow(ob_display, self->titlebottom);
XSetWindowBackground(ob_display, self->handleleft, px);
XClearWindow(ob_display, self->handleleft);
XClearWindow(ob_display, self->rgriptop);
XSetWindowBackground(ob_display, self->rgripbottom, px);
XClearWindow(ob_display, self->rgripbottom);
+
+ /* don't use the separator color for shaded windows */
+ if (!self->client->shaded)
+ px = (self->focused ?
+ RrColorPixel(ob_rr_theme->title_separator_focused_color) :
+ RrColorPixel(ob_rr_theme->title_separator_unfocused_color));
+
+ XSetWindowBackground(ob_display, self->titlebottom, px);
+ XClearWindow(ob_display, self->titlebottom);
}
if (self->decorations & OB_FRAME_DECOR_TITLEBAR) {
a->texture[0].type = RR_TEXTURE_RGBA;
a->texture[0].data.rgba.width = icon->width;
a->texture[0].data.rgba.height = icon->height;
+ a->texture[0].data.rgba.alpha = 0xff;
a->texture[0].data.rgba.data = icon->data;
} else
a->texture[0].type = RR_TEXTURE_NONE;