From: Dana Jansens Date: Fri, 11 May 2007 22:18:43 +0000 (+0000) Subject: give different border colors to active and inactive windows. adjust the xml theme... X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=b63ad92cca9f14a1d86c00bd76b52c1626a29ee3;p=chaz%2Fopenbox give different border colors to active and inactive windows. adjust the xml theme format a little to make it BETTER. rawr. add some metadata standards too. --- diff --git a/data/themerc.xsd b/data/themerc.xsd index 63f8af51..61f6d938 100755 --- a/data/themerc.xsd +++ b/data/themerc.xsd @@ -88,16 +88,9 @@ - - - - - - - - + @@ -123,6 +116,7 @@ + @@ -134,9 +128,7 @@ - - @@ -148,10 +140,25 @@ + + + + + + + + + + + + + + + diff --git a/openbox/dock.c b/openbox/dock.c index 5e61f00f..0cc42285 100644 --- a/openbox/dock.c +++ b/openbox/dock.c @@ -57,7 +57,8 @@ void dock_startup(gboolean reconfig) GList *it; XSetWindowBorder(ob_display, dock->frame, - RrColorPixel(ob_rr_theme->frame_b_color)); + RrColorPixel(ob_rr_theme-> + frame_focused_border_color)); XSetWindowBorderWidth(ob_display, dock->frame, ob_rr_theme->fbwidth); RrAppearanceFree(dock->a_frame); @@ -91,7 +92,7 @@ void dock_startup(gboolean reconfig) &attrib); dock->a_frame = RrAppearanceCopy(ob_rr_theme->a_focused_title); XSetWindowBorder(ob_display, dock->frame, - RrColorPixel(ob_rr_theme->frame_b_color)); + RrColorPixel(ob_rr_theme->frame_focused_border_color)); XSetWindowBorderWidth(ob_display, dock->frame, ob_rr_theme->fbwidth); g_hash_table_insert(window_map, &dock->frame, dock); diff --git a/openbox/frame.c b/openbox/frame.c index 68a64342..6248db7c 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -184,19 +184,6 @@ ObFrame *frame_new(ObClient *client) static void set_theme_statics(ObFrame *self) { /* set colors/appearance/sizes for stuff that doesn't change */ - XSetWindowBorder(ob_display, self->window, - RrColorPixel(ob_rr_theme->frame_b_color)); - XSetWindowBorder(ob_display, self->inner, - RrColorPixel(ob_rr_theme->frame_b_color)); - XSetWindowBorder(ob_display, self->title, - RrColorPixel(ob_rr_theme->frame_b_color)); - XSetWindowBorder(ob_display, self->handle, - RrColorPixel(ob_rr_theme->frame_b_color)); - XSetWindowBorder(ob_display, self->rgrip, - RrColorPixel(ob_rr_theme->frame_b_color)); - XSetWindowBorder(ob_display, self->lgrip, - RrColorPixel(ob_rr_theme->frame_b_color)); - XResizeWindow(ob_display, self->max, ob_rr_theme->button_size, ob_rr_theme->button_size); XResizeWindow(ob_display, self->iconify, diff --git a/openbox/framerender.c b/openbox/framerender.c index 21474380..97d5ef53 100644 --- a/openbox/framerender.c +++ b/openbox/framerender.c @@ -42,6 +42,16 @@ void framerender_frame(ObFrame *self) RrColorPixel(ob_rr_theme->cb_unfocused_color)); XSetWindowBackground(ob_display, self->inner, px); XClearWindow(ob_display, self->inner); + + px = (self->focused ? + RrColorPixel(ob_rr_theme->frame_focused_border_color) : + RrColorPixel(ob_rr_theme->frame_unfocused_border_color)); + XSetWindowBorder(ob_display, self->window, px); + XSetWindowBorder(ob_display, self->inner, px); + XSetWindowBorder(ob_display, self->title, px); + XSetWindowBorder(ob_display, self->handle, px); + XSetWindowBorder(ob_display, self->rgrip, px); + XSetWindowBorder(ob_display, self->lgrip, px); } if (self->decorations & OB_FRAME_DECOR_TITLEBAR) { diff --git a/openbox/menuframe.c b/openbox/menuframe.c index 313bd6cf..5782b7ac 100644 --- a/openbox/menuframe.c +++ b/openbox/menuframe.c @@ -89,7 +89,7 @@ ObMenuFrame* menu_frame_new(ObMenu *menu, guint show_from, ObClient *client) XSetWindowBorderWidth(ob_display, self->window, ob_rr_theme->mbwidth); XSetWindowBorder(ob_display, self->window, - RrColorPixel(ob_rr_theme->menu_b_color)); + RrColorPixel(ob_rr_theme->menu_border_color)); self->a_title = RrAppearanceCopy(ob_rr_theme->a_menu_title); self->a_items = RrAppearanceCopy(ob_rr_theme->a_menu); @@ -689,7 +689,7 @@ void menu_frame_render(ObMenuFrame *self) XMoveWindow(ob_display, e->window, e->area.x-e->border, e->area.y-e->border); XSetWindowBorderWidth(ob_display, e->window, e->border); XSetWindowBorder(ob_display, e->window, - RrColorPixel(ob_rr_theme->menu_b_color)); + RrColorPixel(ob_rr_theme->menu_border_color)); text_a = (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && diff --git a/openbox/popup.c b/openbox/popup.c index e3d52e49..156ce860 100644 --- a/openbox/popup.c +++ b/openbox/popup.c @@ -52,7 +52,8 @@ ObPopup *popup_new() InputOutput, RrVisual(ob_rr_inst), 0, NULL); XSetWindowBorderWidth(ob_display, self->bg, ob_rr_theme->fbwidth); - XSetWindowBorder(ob_display, self->bg, ob_rr_theme->frame_b_color->pixel); + XSetWindowBorder(ob_display, self->bg, + RrColorPixel(ob_rr_theme->frame_focused_border_color)); XMapWindow(ob_display, self->text); @@ -487,7 +488,8 @@ void pager_popup_delay_show(ObPagerPopup *self, gulong usec, for (i = self->desks; i < screen_num_desktops; ++i) { XSetWindowAttributes attr; - attr.border_pixel = RrColorPixel(ob_rr_theme->frame_b_color); + attr.border_pixel = + RrColorPixel(ob_rr_theme->frame_focused_border_color); self->wins[i] = XCreateWindow(ob_display, self->popup->bg, 0, 0, 1, 1, ob_rr_theme->fbwidth, RrDepth(ob_rr_inst), InputOutput, diff --git a/render/theme.c b/render/theme.c index dd9c7653..1dd49caf 100644 --- a/render/theme.c +++ b/render/theme.c @@ -196,31 +196,40 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, &theme->paddingx, &theme->paddingy, 0, 100, 0, 100)) theme->paddingx = theme->paddingy = 3; - if (!FIND(int, L("window","border","width"), + if (!FIND(int, L("dimensions","window","border"), &theme->fbwidth, 0, 100)) theme->fbwidth = 1; /* menu border width inherits from frame border width */ - if (!FIND(int, L("menu","border","width"), + if (!FIND(int, L("dimensions","menu","border"), &theme->mbwidth, 0, 100)) theme->mbwidth = theme->fbwidth; - if (!FIND(point, L("window","clientpadding"), &theme->cbwidthx, - &theme->cbwidthy, 0, 100, 0, 100)) + if (!FIND(point, L("dimensions","window","clientpadding"), + &theme->cbwidthx, &theme->cbwidthy, 0, 100, 0, 100)) theme->cbwidthx = theme->cbwidthy = 1; /* load colors */ - if (!FIND(color, L("window","border","primary"), - &theme->frame_b_color, NULL)) - theme->frame_b_color = RrColorNew(inst, 0, 0, 0); - - /* menu border color inherits from frame border color */ - if (!FIND(color, L("menu","border","primary"), - &theme->menu_b_color, NULL)) - theme->menu_b_color = RrColorNew(inst, - theme->frame_b_color->r, - theme->frame_b_color->g, - theme->frame_b_color->b); + if (!FIND(color, L("window","active","border"), + &theme->frame_focused_border_color, NULL)) + theme->frame_focused_border_color = RrColorNew(inst, 0, 0, 0); + /* frame unfocused border color inherits from frame focused border color */ + if (!FIND(color, L("window","inactive","border"), + &theme->frame_unfocused_border_color, NULL)) + theme->frame_unfocused_border_color = + RrColorNew(inst, + theme->frame_focused_border_color->r, + theme->frame_focused_border_color->g, + theme->frame_focused_border_color->b); + + /* menu border color inherits from frame focused border color */ + 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); if (!FIND(color, L("window","active","clientpadding"), &theme->cb_focused_color, NULL)) theme->cb_focused_color = RrColorNew(inst, 255, 255, 255); @@ -1220,8 +1229,9 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, void RrThemeFree(RrTheme *theme) { if (theme) { - RrColorFree(theme->menu_b_color); - RrColorFree(theme->frame_b_color); + RrColorFree(theme->menu_border_color); + RrColorFree(theme->frame_focused_border_color); + RrColorFree(theme->frame_unfocused_border_color); RrColorFree(theme->cb_unfocused_color); RrColorFree(theme->cb_focused_color); RrColorFree(theme->title_focused_color); diff --git a/render/theme.h b/render/theme.h index 85e5aa73..4e87fb12 100644 --- a/render/theme.h +++ b/render/theme.h @@ -57,8 +57,9 @@ struct _RrTheme { gint menu_title_height; /* style settings - colors */ - RrColor *menu_b_color; - RrColor *frame_b_color; + RrColor *menu_border_color; + RrColor *frame_focused_border_color; + RrColor *frame_unfocused_border_color; RrColor *cb_focused_color; RrColor *cb_unfocused_color; RrColor *title_focused_color; diff --git a/themes/Artwiz-boxed/openbox-3/themerc.xml b/themes/Artwiz-boxed/openbox-3/themerc.xml index 2bf0cd84..2431706c 100644 --- a/themes/Artwiz-boxed/openbox-3/themerc.xml +++ b/themes/Artwiz-boxed/openbox-3/themerc.xml @@ -1,16 +1,24 @@ - + + + + + + + 4 + + 1 + + + 1 + - - 1 - - - center + + + center - - 1 - - + center <text> diff --git a/themes/Bear2/openbox-3/themerc.xml b/themes/Bear2/openbox-3/themerc.xml index d5130f01..8885c4cd 100644 --- a/themes/Bear2/openbox-3/themerc.xml +++ b/themes/Bear2/openbox-3/themerc.xml @@ -1,17 +1,25 @@ <?xml version="1.0"?> -<openbox_theme version="1" engine="box" xmlns="http://openbox.org/themerc"> +<openbox_theme engine="box" version="1" xmlns="http://openbox.org/themerc"> + <about> + <author></author> + <email></email> + <webpage></webpage> + <comment></comment> + </about> <dimensions> <handle>4</handle> <padding x="3" y="3"/> + <window> + <border>1</border> + <clientpadding x="0" y="0"/> + </window> + <menu> + <border>1</border> + </menu> </dimensions> <window> - <border> - <width>1</width> - <primary r="78" g="78" b="78" a="255"/> - </border> - <clientpadding x="0" y="0"/> - <justify>center</justify> <active> + <border r="78" g="78" b="78" a="255"/> <clientpadding r="238" g="238" b="236" a="255"/> <label> <text> @@ -62,6 +70,7 @@ </grip> </active> <inactive> + <border r="78" g="78" b="78" a="255"/> <clientpadding r="238" g="238" b="236" a="255"/> <label> <text> @@ -110,12 +119,10 @@ <style>parentrelative</style> </grip> </inactive> + <justify>center</justify> </window> <menu> - <border> - <width>1</width> - <primary r="78" g="78" b="78" a="255"/> - </border> + <border r="78" g="78" b="78" a="255"/> <justify>center</justify> <overlap>2</overlap> <title> diff --git a/themes/Clearlooks-Olive/openbox-3/themerc.xml b/themes/Clearlooks-Olive/openbox-3/themerc.xml index c811a1c3..8f8abbbf 100644 --- a/themes/Clearlooks-Olive/openbox-3/themerc.xml +++ b/themes/Clearlooks-Olive/openbox-3/themerc.xml @@ -1,16 +1,25 @@ <?xml version="1.0"?> -<openbox_theme version="1" engine="box" xmlns="http://openbox.org/themerc"> +<openbox_theme engine="box" version="1" xmlns="http://openbox.org/themerc"> + <about> + <author></author> + <email></email> + <webpage></webpage> + <comment></comment> + </about> <dimensions> <handle>3</handle> <padding x="2" y="2"/> + <window> + <border>1</border> + <clientpadding x="0" y="0"/> + </window> + <menu> + <border>1</border> + </menu> </dimensions> <window> - <border> - <width>1</width> - <primary r="0" g="0" b="0" a="255"/> - </border> - <clientpadding x="0" y="0"/> <active> + <border r="0" g="0" b="0" a="255"/> <label> <text> <primary r="255" g="255" b="255" a="255"/> @@ -68,6 +77,7 @@ </grip> </active> <inactive> + <border r="0" g="0" b="0" a="255"/> <label> <text> <primary r="0" g="0" b="0" a="255"/> @@ -126,10 +136,7 @@ </inactive> </window> <menu> - <border> - <width>1</width> - <primary r="0" g="0" b="0" a="255"/> - </border> + <border r="0" g="0" b="0" a="255"/> <justify>left</justify> <overlap>0</overlap> <title> diff --git a/themes/Clearlooks/openbox-3/themerc.xml b/themes/Clearlooks/openbox-3/themerc.xml index 00f45dfa..057d5623 100644 --- a/themes/Clearlooks/openbox-3/themerc.xml +++ b/themes/Clearlooks/openbox-3/themerc.xml @@ -1,16 +1,25 @@ <?xml version="1.0"?> -<openbox_theme version="1" engine="box" xmlns="http://openbox.org/themerc"> +<openbox_theme engine="box" version="1" xmlns="http://openbox.org/themerc"> + <about> + <author></author> + <email></email> + <webpage></webpage> + <comment></comment> + </about> <dimensions> <handle>3</handle> <padding x="2" y="2"/> + <window> + <border>1</border> + <clientpadding x="0" y="0"/> + </window> + <menu> + <border>1</border> + </menu> </dimensions> <window> - <border> - <width>1</width> - <primary r="0" g="0" b="0" a="255"/> - </border> - <clientpadding x="0" y="0"/> <active> + <border r="0" g="0" b="0" a="255"/> <label> <text> <primary r="255" g="255" b="255" a="255"/> @@ -68,6 +77,7 @@ </grip> </active> <inactive> + <border r="0" g="0" b="0" a="255"/> <label> <text> <primary r="0" g="0" b="0" a="255"/> @@ -126,10 +136,7 @@ </inactive> </window> <menu> - <border> - <width>1</width> - <primary r="0" g="0" b="0" a="255"/> - </border> + <border r="0" g="0" b="0" a="255"/> <justify>left</justify> <overlap>0</overlap> <title> diff --git a/themes/Mikachu/openbox-3/themerc.xml b/themes/Mikachu/openbox-3/themerc.xml index 6008d4db..dbb45611 100644 --- a/themes/Mikachu/openbox-3/themerc.xml +++ b/themes/Mikachu/openbox-3/themerc.xml @@ -1,17 +1,25 @@ <?xml version="1.0"?> -<openbox_theme version="1" engine="box" xmlns="http://openbox.org/themerc"> +<openbox_theme engine="box" version="1" xmlns="http://openbox.org/themerc"> + <about> + <author></author> + <email></email> + <webpage></webpage> + <comment></comment> + </about> <dimensions> <handle>0</handle> <padding x="1" y="1"/> + <window> + <border>1</border> + <clientpadding x="0" y="0"/> + </window> + <menu> + <border>1</border> + </menu> </dimensions> <window> - <border> - <width>1</width> - <primary r="34" g="51" b="68" a="255"/> - </border> - <clientpadding x="0" y="0"/> - <justify>left</justify> <active> + <border r="34" g="51" b="68" a="255"/> <clientpadding r="0" g="255" b="0" a="255"/> <label> <text> @@ -79,6 +87,7 @@ </grip> </active> <inactive> + <border r="34" g="51" b="68" a="255"/> <clientpadding r="127" g="127" b="127" a="255"/> <label> <text> @@ -149,12 +158,10 @@ <border r="0" g="0" b="0" a="255"/> </grip> </inactive> + <justify>left</justify> </window> <menu> - <border> - <width>1</width> - <primary r="34" g="51" b="68" a="255"/> - </border> + <border r="34" g="51" b="68" a="255"/> <justify>center</justify> <title> <text> diff --git a/themes/Natura/openbox-3/themerc.xml b/themes/Natura/openbox-3/themerc.xml index 18841051..c4332e8b 100644 --- a/themes/Natura/openbox-3/themerc.xml +++ b/themes/Natura/openbox-3/themerc.xml @@ -1,17 +1,25 @@ <?xml version="1.0"?> -<openbox_theme version="1" engine="box" xmlns="http://openbox.org/themerc"> +<openbox_theme engine="box" version="1" xmlns="http://openbox.org/themerc"> + <about> + <author></author> + <email></email> + <webpage></webpage> + <comment></comment> + </about> <dimensions> <handle>2</handle> <padding x="2" y="2"/> + <window> + <border>1</border> + <clientpadding x="0" y="0"/> + </window> + <menu> + <border>1</border> + </menu> </dimensions> <window> - <border> - <width>1</width> - <primary r="0" g="0" b="0" a="255"/> - </border> - <clientpadding x="0" y="0"/> - <justify>left</justify> <active> + <border r="0" g="0" b="0" a="255"/> <clientpadding r="238" g="238" b="238" a="255"/> <label> <text> @@ -72,6 +80,7 @@ </grip> </active> <inactive> + <border r="0" g="0" b="0" a="255"/> <clientpadding r="238" g="238" b="238" a="255"/> <label> <text> @@ -133,12 +142,10 @@ <border r="191" g="191" b="191" a="255"/> </grip> </inactive> + <justify>left</justify> </window> <menu> - <border> - <width>1</width> - <primary r="0" g="0" b="0" a="255"/> - </border> + <border r="0" g="0" b="0" a="255"/> <justify>left</justify> <overlap>0</overlap> <title> diff --git a/themes/Orang/openbox-3/themerc.xml b/themes/Orang/openbox-3/themerc.xml index f8e3c7b3..85254827 100644 --- a/themes/Orang/openbox-3/themerc.xml +++ b/themes/Orang/openbox-3/themerc.xml @@ -1,17 +1,25 @@ <?xml version="1.0"?> -<openbox_theme version="1" engine="box" xmlns="http://openbox.org/themerc"> +<openbox_theme engine="box" version="1" xmlns="http://openbox.org/themerc"> + <about> + <author></author> + <email></email> + <webpage></webpage> + <comment></comment> + </about> <dimensions> <handle>3</handle> <padding x="1" y="1"/> + <window> + <border>1</border> + <clientpadding x="0" y="0"/> + </window> + <menu> + <border>1</border> + </menu> </dimensions> <window> - <border> - <width>1</width> - <primary r="0" g="0" b="0" a="255"/> - </border> - <clientpadding x="0" y="0"/> - <justify>left</justify> <active> + <border r="0" g="0" b="0" a="255"/> <clientpadding r="247" g="247" b="247" a="255"/> <label> <text> @@ -59,6 +67,7 @@ </grip> </active> <inactive> + <border r="0" g="0" b="0" a="255"/> <clientpadding r="247" g="247" b="247" a="255"/> <label> <text> @@ -101,12 +110,10 @@ <style>parentrelative</style> </grip> </inactive> + <justify>left</justify> </window> <menu> - <border> - <width>1</width> - <primary r="0" g="0" b="0" a="255"/> - </border> + <border r="0" g="0" b="0" a="255"/> <justify>left</justify> <overlap>2</overlap> <title> diff --git a/themes/Syscrash/openbox-3/themerc.xml b/themes/Syscrash/openbox-3/themerc.xml index 8931a9c8..3df8a080 100644 --- a/themes/Syscrash/openbox-3/themerc.xml +++ b/themes/Syscrash/openbox-3/themerc.xml @@ -1,17 +1,25 @@ <?xml version="1.0"?> -<openbox_theme version="1" engine="box" xmlns="http://openbox.org/themerc"> +<openbox_theme engine="box" version="1" xmlns="http://openbox.org/themerc"> + <about> + <author></author> + <email></email> + <webpage></webpage> + <comment></comment> + </about> <dimensions> <handle>0</handle> <padding x="1" y="1"/> + <window> + <border>1</border> + <clientpadding x="0" y="0"/> + </window> + <menu> + <border>1</border> + </menu> </dimensions> <window> - <border> - <width>1</width> - <primary r="109" g="109" b="109" a="255"/> - </border> - <clientpadding x="0" y="0"/> - <justify>left</justify> <active> + <border r="109" g="109" b="109" a="255"/> <clientpadding r="76" g="76" b="76" a="255"/> <label> <text> @@ -60,6 +68,7 @@ </grip> </active> <inactive> + <border r="109" g="109" b="109" a="255"/> <clientpadding r="112" g="112" b="112" a="255"/> <label> <text> @@ -99,12 +108,10 @@ <primary r="230" g="230" b="224" a="255"/> </grip> </inactive> + <justify>left</justify> </window> <menu> - <border> - <width>1</width> - <primary r="109" g="109" b="109" a="255"/> - </border> + <border r="109" g="109" b="109" a="255"/> <justify>left</justify> <overlap>0</overlap> <title> diff --git a/tools/themetoxml/themetoxml.c b/tools/themetoxml/themetoxml.c index 9b688c51..ae9972e2 100644 --- a/tools/themetoxml/themetoxml.c +++ b/tools/themetoxml/themetoxml.c @@ -326,6 +326,10 @@ int main(int argc, char **argv) xmlSetProp(root, (const xmlChar*)"version", (const xmlChar*)"1"); xmlSetProp(root, (const xmlChar*)"xmlns", (const xmlChar*)"http://openbox.org/themerc"); + CONT2("about", "author", ""); + CONT2("about", "email", ""); + CONT2("about", "webpage", ""); + CONT2("about", "comment", ""); if (read_int(db, "window.handle.width", &i)) CONT2("dimensions", "handle", NUM(i)); @@ -336,21 +340,22 @@ int main(int argc, char **argv) } if (read_int(db, "borderWidth", &i)) { - CONT3("window", "border", "width", NUM(i)); - CONT3("menu", "border", "width", NUM(i)); + CONT3("dimensions", "window", "border", NUM(i)); + CONT3("dimensions", "menu", "border", NUM(i)); } else if (read_int(db, "border.width", &i)) { - CONT3("window", "border", "width", NUM(i)); - CONT3("menu", "border", "width", NUM(i)); + CONT3("dimensions", "window", "border", NUM(i)); + CONT3("dimensions", "menu", "border", NUM(i)); } if (read_color(db, "border.color", &i, &j, &k)) { - COLOR3("window", "border", "primary", i, j, k, 255); - COLOR3("menu", "border", "primary", i, j, k, 255); + COLOR3("window", "active", "border", i, j, k, 255); + COLOR3("window", "inactive", "border", i, j, k, 255); + COLOR2("menu", "border", i, j, k, 255); } if (read_int(db, "window.client.padding.width", &i)) { - ATTR2("window", "clientpadding", "x", NUM(i)); - ATTR2("window", "clientpadding", "y", NUM(i)); + ATTR3("dimensions", "window", "clientpadding", "x", NUM(i)); + ATTR3("dimensions", "window", "clientpadding", "y", NUM(i)); } if (read_string(db, "window.label.text.justify", &s)) {