From 266e9c49461569323af0ed571de7193251f7afb8 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 5 Jun 2007 16:07:13 +0000 Subject: [PATCH] "merge" r7366-7367 add osd.border.width add osd.border.color --- openbox/focus_cycle_popup.c | 8 ++++---- openbox/popup.c | 10 +++++----- render/theme.c | 25 ++++++++++++++++++------- render/theme.h | 2 ++ 4 files changed, 29 insertions(+), 16 deletions(-) diff --git a/openbox/focus_cycle_popup.c b/openbox/focus_cycle_popup.c index 015330bd..8ae4e7e8 100644 --- a/openbox/focus_cycle_popup.c +++ b/openbox/focus_cycle_popup.c @@ -112,9 +112,9 @@ void focus_cycle_popup_startup(gboolean reconfig) 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); @@ -298,9 +298,9 @@ static void popup_render(ObFocusCyclePopup *p, const ObClient *c) /* 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; diff --git a/openbox/popup.c b/openbox/popup.c index 86d4fb4d..6099edcb 100644 --- a/openbox/popup.c +++ b/openbox/popup.c @@ -51,9 +51,9 @@ ObPopup *popup_new() 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); @@ -355,7 +355,7 @@ static void pager_popup_draw_icon(gint px, gint py, gint w, gint h, 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; @@ -500,9 +500,9 @@ void pager_popup_delay_show(ObPagerPopup *self, gulong usec, 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); diff --git a/render/theme.c b/render/theme.c index 0b369530..627d95f2 100644 --- a/render/theme.c +++ b/render/theme.c @@ -190,6 +190,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name, if (!read_int(db, "menu.border.width", &theme->mbwidth) || theme->mbwidth < 0 || theme->mbwidth > 100) theme->mbwidth = theme->fbwidth; + /* osd border width inherits from the frame border width */ + if (!read_int(db, "osd.border.width", &theme->obwidth) || + theme->obwidth < 0 || theme->obwidth > 100) + theme->obwidth = theme->fbwidth; if (!read_int(db, "window.client.padding.width", &theme->cbwidthx) || theme->cbwidthx < 0 || theme->cbwidthx > 100) theme->cbwidthx = theme->paddingx; @@ -233,13 +237,19 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name, theme->frame_unfocused_border_color->b); /* menu border color inherits from frame focused border color */ - if (!read_color(db, inst, - "menu.border.color", - &theme->menu_border_color)) - theme->menu_border_color = RrColorNew(inst, - theme->frame_focused_border_color->r, - theme->frame_focused_border_color->g, - theme->frame_focused_border_color->b); + if (!read_color(db, inst, "menu.border.color", &theme->menu_border_color)) + 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 (!read_color(db, inst, "osd.border.color", &theme->osd_border_color)) + 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 (!read_color(db, inst, "window.active.client.color", &theme->cb_focused_color)) @@ -1328,6 +1338,7 @@ void RrThemeFree(RrTheme *theme) 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); diff --git a/render/theme.h b/render/theme.h index e02a69e2..2c35284f 100644 --- a/render/theme.h +++ b/render/theme.h @@ -42,6 +42,7 @@ struct _RrTheme { 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; @@ -58,6 +59,7 @@ struct _RrTheme { /* 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; -- 2.34.1