framerender.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
px = (self->focused ?
RrColorPixel(ob_rr_theme->cb_focused_color) :
RrColorPixel(ob_rr_theme->cb_unfocused_color));
- XSetWindowBackground(ob_display, self->plate, px);
- XClearWindow(ob_display, self->plate);
+ XSetWindowBackground(ob_display, self->inner, px);
+ XClearWindow(ob_display, self->inner);
}
if (self->decorations & OB_FRAME_DECOR_TITLEBAR) {
RrAppearance *t, *l, *m, *n, *i, *d, *s, *c;
if (self->focused) {
- t = self->a_focused_title;
- l = self->a_focused_label;
- m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
- ob_rr_theme->a_disabled_focused_max :
- (self->client->max_vert || self->client->max_horz ?
- ob_rr_theme->a_toggled_focused_max :
- (self->max_press ?
- ob_rr_theme->a_focused_pressed_max :
- (self->max_hover ?
- ob_rr_theme->a_hover_focused_max :
- ob_rr_theme->a_focused_unpressed_max))));
- n = self->a_icon;
- i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
- ob_rr_theme->a_disabled_focused_iconify :
- (self->iconify_press ?
- ob_rr_theme->a_focused_pressed_iconify :
- (self->iconify_hover ?
- ob_rr_theme->a_hover_focused_iconify :
- ob_rr_theme->a_focused_unpressed_iconify)));
- d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
- ob_rr_theme->a_disabled_focused_desk :
- (self->client->desktop == DESKTOP_ALL ?
- ob_rr_theme->a_toggled_focused_desk :
- (self->desk_press ?
- ob_rr_theme->a_focused_pressed_desk :
- (self->desk_hover ?
- ob_rr_theme->a_hover_focused_desk :
- ob_rr_theme->a_focused_unpressed_desk))));
- s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
- ob_rr_theme->a_disabled_focused_shade :
- (self->client->shaded ?
- ob_rr_theme->a_toggled_focused_shade :
- (self->shade_press ?
- ob_rr_theme->a_focused_pressed_shade :
- (self->shade_hover ?
- ob_rr_theme->a_hover_focused_shade :
- ob_rr_theme->a_focused_unpressed_shade))));
- c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
- ob_rr_theme->a_disabled_focused_close :
- (self->close_press ?
- ob_rr_theme->a_focused_pressed_close :
- (self->close_hover ?
- ob_rr_theme->a_hover_focused_close :
- ob_rr_theme->a_focused_unpressed_close)));
+ t = self->a_focused_title;
+ l = self->a_focused_label;
+
+ m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
+ ob_rr_theme->a_disabled_focused_max :
+ (self->client->max_vert || self->client->max_horz ?
+ (self->max_press ?
+ ob_rr_theme->a_toggled_focused_pressed_max :
+ (self->max_hover ?
+ ob_rr_theme->a_toggled_hover_focused_max :
+ ob_rr_theme->a_toggled_focused_unpressed_max)) :
+ (self->max_press ?
+ ob_rr_theme->a_focused_pressed_max :
+ (self->max_hover ?
+ ob_rr_theme->a_hover_focused_max :
+ ob_rr_theme->a_focused_unpressed_max))));
+ n = self->a_icon;
+ i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
+ ob_rr_theme->a_disabled_focused_iconify :
+ (self->iconify_press ?
+ ob_rr_theme->a_focused_pressed_iconify :
+ (self->iconify_hover ?
+ ob_rr_theme->a_hover_focused_iconify :
+ ob_rr_theme->a_focused_unpressed_iconify)));
+ d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
+ ob_rr_theme->a_disabled_focused_desk :
+ (self->client->desktop == DESKTOP_ALL ?
+ (self->desk_press ?
+ ob_rr_theme->a_toggled_focused_pressed_desk :
+ (self->desk_hover ?
+ ob_rr_theme->a_toggled_hover_focused_desk :
+ ob_rr_theme->a_toggled_focused_unpressed_desk)) :
+ (self->desk_press ?
+ ob_rr_theme->a_focused_pressed_desk :
+ (self->desk_hover ?
+ ob_rr_theme->a_hover_focused_desk :
+ ob_rr_theme->a_focused_unpressed_desk))));
+ s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
+ ob_rr_theme->a_disabled_focused_shade :
+ (self->client->shaded ?
+ (self->shade_press ?
+ ob_rr_theme->a_toggled_focused_pressed_shade :
+ (self->shade_hover ?
+ ob_rr_theme->a_toggled_hover_focused_shade :
+ ob_rr_theme->a_toggled_focused_unpressed_shade)) :
+ (self->shade_press ?
+ ob_rr_theme->a_focused_pressed_shade :
+ (self->shade_hover ?
+ ob_rr_theme->a_hover_focused_shade :
+ ob_rr_theme->a_focused_unpressed_shade))));
+ c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
+ ob_rr_theme->a_disabled_focused_close :
+ (self->close_press ?
+ ob_rr_theme->a_focused_pressed_close :
+ (self->close_hover ?
+ ob_rr_theme->a_hover_focused_close :
+ ob_rr_theme->a_focused_unpressed_close)));
} else {
-
- t = self->a_unfocused_title;
- l = self->a_unfocused_label;
- m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
- ob_rr_theme->a_disabled_unfocused_max :
- (self->client->max_vert || self->client->max_horz ?
- ob_rr_theme->a_toggled_unfocused_max :
- (self->max_press ?
- ob_rr_theme->a_unfocused_pressed_max :
- (self->max_hover ?
- ob_rr_theme->a_hover_unfocused_max :
- ob_rr_theme->a_unfocused_unpressed_max))));
- n = self->a_icon;
- i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
- ob_rr_theme->a_disabled_unfocused_iconify :
- (self->iconify_press ?
- ob_rr_theme->a_unfocused_pressed_iconify :
- (self->iconify_hover ?
- ob_rr_theme->a_hover_unfocused_iconify :
- ob_rr_theme->a_unfocused_unpressed_iconify)));
- d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
- ob_rr_theme->a_disabled_unfocused_desk :
- (self->client->desktop == DESKTOP_ALL ?
- ob_rr_theme->a_toggled_unfocused_desk :
- (self->desk_press ?
- ob_rr_theme->a_unfocused_pressed_desk :
- (self->desk_hover ?
- ob_rr_theme->a_hover_unfocused_desk :
- ob_rr_theme->a_unfocused_unpressed_desk))));
- s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
- ob_rr_theme->a_disabled_unfocused_shade :
- (self->client->shaded ?
- ob_rr_theme->a_toggled_unfocused_shade :
- (self->shade_press ?
- ob_rr_theme->a_unfocused_pressed_shade :
- (self->shade_hover ?
- ob_rr_theme->a_hover_unfocused_shade :
- ob_rr_theme->a_unfocused_unpressed_shade))));
- c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
- ob_rr_theme->a_disabled_unfocused_close :
- (self->close_press ?
- ob_rr_theme->a_unfocused_pressed_close :
- (self->close_hover ?
- ob_rr_theme->a_hover_unfocused_close :
- ob_rr_theme->a_unfocused_unpressed_close)));
+ t = self->a_unfocused_title;
+ l = self->a_unfocused_label;
+ m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
+ ob_rr_theme->a_disabled_unfocused_max :
+ (self->client->max_vert || self->client->max_horz ?
+ (self->max_press ?
+ ob_rr_theme->a_toggled_unfocused_pressed_max :
+ (self->max_hover ?
+ ob_rr_theme->a_toggled_hover_unfocused_max :
+ ob_rr_theme->a_toggled_unfocused_unpressed_max)) :
+ (self->max_press ?
+ ob_rr_theme->a_unfocused_pressed_max :
+ (self->max_hover ?
+ ob_rr_theme->a_hover_unfocused_max :
+ ob_rr_theme->a_unfocused_unpressed_max))));
+ n = self->a_icon;
+ i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
+ ob_rr_theme->a_disabled_unfocused_iconify :
+ (self->iconify_press ?
+ ob_rr_theme->a_unfocused_pressed_iconify :
+ (self->iconify_hover ?
+ ob_rr_theme->a_hover_unfocused_iconify :
+ ob_rr_theme->a_unfocused_unpressed_iconify)));
+ d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
+ ob_rr_theme->a_disabled_unfocused_desk :
+ (self->client->desktop == DESKTOP_ALL ?
+ (self->desk_press ?
+ ob_rr_theme->a_toggled_unfocused_pressed_desk :
+ (self->desk_hover ?
+ ob_rr_theme->a_toggled_hover_unfocused_desk :
+ ob_rr_theme->a_toggled_unfocused_unpressed_desk)) :
+ (self->desk_press ?
+ ob_rr_theme->a_unfocused_pressed_desk :
+ (self->desk_hover ?
+ ob_rr_theme->a_hover_unfocused_desk :
+ ob_rr_theme->a_unfocused_unpressed_desk))));
+ s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
+ ob_rr_theme->a_disabled_unfocused_shade :
+ (self->client->shaded ?
+ (self->shade_press ?
+ ob_rr_theme->a_toggled_unfocused_pressed_shade :
+ (self->shade_hover ?
+ ob_rr_theme->a_toggled_hover_unfocused_shade :
+ ob_rr_theme->a_toggled_unfocused_unpressed_shade)) :
+ (self->shade_press ?
+ ob_rr_theme->a_unfocused_pressed_shade :
+ (self->shade_hover ?
+ ob_rr_theme->a_hover_unfocused_shade :
+ ob_rr_theme->a_unfocused_unpressed_shade))));
+ c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
+ ob_rr_theme->a_disabled_unfocused_close :
+ (self->close_press ?
+ ob_rr_theme->a_unfocused_pressed_close :
+ (self->close_hover ?
+ ob_rr_theme->a_hover_unfocused_close :
+ ob_rr_theme->a_unfocused_unpressed_close)));
}
RrPaint(t, self->title, self->width, ob_rr_theme->title_height);
if (ob_rr_theme->grip_width > 0)
RrPaint(ob_rr_theme->a_clear, self->tltresize,
- ob_rr_theme->grip_width, ob_rr_theme->paddingy);
+ ob_rr_theme->grip_width, ob_rr_theme->paddingy + 1);
if (ob_rr_theme->title_height > 0)
RrPaint(ob_rr_theme->a_clear, self->tllresize,
- ob_rr_theme->paddingx, ob_rr_theme->title_height);
+ ob_rr_theme->paddingx + 1, ob_rr_theme->title_height);
ob_rr_theme->a_clear->surface.parentx =
self->width - ob_rr_theme->grip_width;
if (ob_rr_theme->grip_width > 0)
RrPaint(ob_rr_theme->a_clear, self->trtresize,
- ob_rr_theme->grip_width, ob_rr_theme->paddingy);
+ ob_rr_theme->grip_width, ob_rr_theme->paddingy + 1);
+
+ ob_rr_theme->a_clear->surface.parentx =
+ self->width - (ob_rr_theme->paddingx + 1);
+
if (ob_rr_theme->title_height > 0)
RrPaint(ob_rr_theme->a_clear, self->trrresize,
- ob_rr_theme->paddingx, ob_rr_theme->title_height);
+ ob_rr_theme->paddingx + 1, ob_rr_theme->title_height);
/* set parents for any parent relative guys */
l->surface.parent = t;