<xs:complexType name="allosd">
<xs:all>
+ <xs:element name="border" type="obt:color" minOccurs="0"/>
<xs:element name="label" type="obt:textarea" minOccurs="0"/>
<xs:element name="background" type="obt:area" minOccurs="0"/>
<xs:element name="hilight" type="obt:area" minOccurs="0"/>
</xs:all>
</xs:complexType>
+ <xs:complexType name="osdDimensions">
+ <xs:all>
+ <xs:element name="borderwidth" type="xs:integer" minOccurs="0"/>
+ </xs:all>
+ </xs:complexType>
+
<xs:complexType name="themeDimensions">
<xs:all>
<xs:element name="padding" type="obt:point" minOccurs="0"/>
<xs:element name="handle" type="xs:integer" minOccurs="0"/>
<xs:element name="window" type="obt:windowDimensions" minOccurs="0"/>
<xs:element name="menu" type="obt:menuDimensions" minOccurs="0"/>
+ <xs:element name="osd" type="obt:osdDimensions" minOccurs="0"/>
</xs:all>
</xs:complexType>
popup.a_bg->texture[0].type = RR_TEXTURE_RGBA;
attrib.override_redirect = True;
- attrib.border_pixel=RrColorPixel(ob_rr_theme->frame_focused_border_color);
+ attrib.border_pixel=RrColorPixel(ob_rr_theme->osd_border_color);
popup.bg = create_window(RootWindow(ob_display, ob_screen),
- ob_rr_theme->fbwidth,
+ ob_rr_theme->obwidth,
CWOverrideRedirect | CWBorderPixel, &attrib);
popup.text = create_window(popup.bg, 0, 0, NULL);
/* find the position for the popup (include the outer borders) */
x = screen_area->x + (screen_area->width -
- (w + ob_rr_theme->fbwidth * 2)) / 2;
+ (w + ob_rr_theme->obwidth * 2)) / 2;
y = screen_area->y + (screen_area->height -
- (h + ob_rr_theme->fbwidth * 2)) / 2;
+ (h + ob_rr_theme->obwidth * 2)) / 2;
/* get the dimensions of the target hilite texture */
rgbax = ml;
0, 0, 1, 1, 0, RrDepth(ob_rr_inst),
InputOutput, RrVisual(ob_rr_inst), 0, NULL);
- XSetWindowBorderWidth(ob_display, self->bg, ob_rr_theme->fbwidth);
+ XSetWindowBorderWidth(ob_display, self->bg, ob_rr_theme->obwidth);
XSetWindowBorder(ob_display, self->bg,
- RrColorPixel(ob_rr_theme->frame_focused_border_color));
+ RrColorPixel(ob_rr_theme->osd_border_color));
XMapWindow(ob_display, self->text);
gint eachw, eachh;
const guint cols = screen_desktop_layout.columns;
const guint rows = screen_desktop_layout.rows;
- const gint linewidth = ob_rr_theme->fbwidth;
+ const gint linewidth = ob_rr_theme->obwidth;
eachw = (w - ((cols + 1) * linewidth)) / cols;
eachh = (h - ((rows + 1) * linewidth)) / rows;
XSetWindowAttributes attr;
attr.border_pixel =
- RrColorPixel(ob_rr_theme->frame_focused_border_color);
+ RrColorPixel(ob_rr_theme->osd_border_color);
self->wins[i] = XCreateWindow(ob_display, self->popup->bg,
- 0, 0, 1, 1, ob_rr_theme->fbwidth,
+ 0, 0, 1, 1, ob_rr_theme->obwidth,
RrDepth(ob_rr_inst), InputOutput,
RrVisual(ob_rr_inst), CWBorderPixel,
&attr);
theme->fbwidth = 1;
/* menu border width inherits from frame border width */
- if (!FIND(int, L("dimensions","menu","border"),
- &theme->mbwidth, 0, 100))
+ if (!FIND(int, L("dimensions","menu","border"), &theme->mbwidth, 0, 100))
theme->mbwidth = theme->fbwidth;
+ /* osd border width inherits from frame border width */
+ if (!FIND(int, L("dimensions","osd","border"), &theme->obwidth, 0, 100))
+ theme->obwidth = theme->fbwidth;
+
if (!FIND(point, L("dimensions","window","clientpadding"),
&theme->cbwidthx, &theme->cbwidthy, 0, 100, 0, 100))
theme->cbwidthx = theme->cbwidthy = 1;
theme->frame_unfocused_border_color->b);
/* menu border color inherits from frame focused border color */
- if (!FIND(color, L("menu","border"),
- &theme->menu_border_color, NULL))
+ if (!FIND(color, L("menu","border"), &theme->menu_border_color, NULL))
theme->menu_border_color =
RrColorNew(inst,
theme->frame_focused_border_color->r,
theme->frame_focused_border_color->g,
theme->frame_focused_border_color->b);
+ /* osd border color inherits from frame focused border color */
+ if (!FIND(color, L("osd","border"), &theme->osd_border_color, NULL))
+ theme->osd_border_color =
+ RrColorNew(inst,
+ theme->frame_focused_border_color->r,
+ theme->frame_focused_border_color->g,
+ theme->frame_focused_border_color->b);
if (!FIND(color, L("window","active","clientpadding"),
&theme->cb_focused_color, NULL))
theme->cb_focused_color = RrColorNew(inst, 255, 255, 255);
g_free(theme->name);
RrColorFree(theme->menu_border_color);
+ RrColorFree(theme->osd_border_color);
RrColorFree(theme->frame_focused_border_color);
RrColorFree(theme->frame_unfocused_border_color);
RrColorFree(theme->title_separator_focused_color);
gint handle_height;
gint fbwidth; /*!< frame border width */
gint mbwidth; /*!< menu border width */
+ gint obwidth; /*!< osd border width */
gint cbwidthx;
gint cbwidthy;
gint menu_overlap;
/* style settings - colors */
RrColor *menu_border_color;
+ RrColor *osd_border_color;
RrColor *frame_focused_border_color;
RrColor *frame_unfocused_border_color;
RrColor *title_separator_focused_color;
if (read_int(db, "borderWidth", &i)) {
CONT3("dimensions", "window", "border", NUM(i));
CONT3("dimensions", "menu", "border", NUM(i));
+ CONT3("dimensions", "osd", "border", NUM(i));
} else if (read_int(db, "border.width", &i)) {
CONT3("dimensions", "window", "border", NUM(i));
CONT3("dimensions", "menu", "border", NUM(i));
+ CONT3("dimensions", "osd", "border", NUM(i));
}
if (read_int(db, "menu.border.width", &i))
CONT3("dimensions", "menu", "border", NUM(i));
+ if (read_int(db, "osd.border.width", &i))
+ CONT3("dimensions", "osd", "border", NUM(i));
if (read_color(db, "border.color", &i, &j, &k)) {
COLOR3("window", "active", "border", i, j, k, 255);