all repos — openbox @ 526560b8a0871cd93f27c32442b3e470ec42ecb3

openbox fork - make it a bit more like ryudo

changes to the client menu, which entries are there, and reorganizing, and renaming.
let you highlight disabled menu entries, they just aren't runable of course, and add the activedisabled theme element for these entries.
add the all desktops button picture to "All desktops" in the client menu
update the themes for the new element, and some changes to make things more readable-better contrast.

CLEARLOOKS-OLIVE is now DIFFERENT FROM THE 3.4 BRANCH SO DON'T RE-RUN THEMETOXML ON IT :( :(
yeah.. i think that is everything?
Dana Jansens danakj@orodu.net
commit

526560b8a0871cd93f27c32442b3e470ec42ecb3

parent

8a99fedecd593b7be4b01c053c0d246785ea8b80

M Makefile.amMakefile.am

@@ -292,7 +292,6 @@ themes/Natura/openbox-3/themerc.xml

artwizboxed_themedir = $(themedir)/Artwiz-boxed/openbox-3 dist_artwizboxed_theme_DATA= \ - themes/Artwiz-boxed/openbox-3/bullet.xbm \ themes/Artwiz-boxed/openbox-3/close.xbm \ themes/Artwiz-boxed/openbox-3/desk_toggled.xbm \ themes/Artwiz-boxed/openbox-3/desk.xbm \
M data/themerc.xsddata/themerc.xsd

@@ -105,6 +105,7 @@ <xs:element name="entries" type="obt:area" minOccurs="0"/>

<xs:element name="inactive" type="obt:text" minOccurs="0"/> <xs:element name="active" type="obt:textarea" minOccurs="0"/> <xs:element name="disabled" type="obt:text" minOccurs="0"/> + <xs:element name="activedisabled" type="obt:textarea" minOccurs="0"/> </xs:all> </xs:complexType>
M openbox/client_menu.copenbox/client_menu.c

@@ -41,9 +41,8 @@ enum {

CLIENT_SEND_TO, CLIENT_LAYER, CLIENT_ICONIFY, + CLIENT_RESTORE, CLIENT_MAXIMIZE, - CLIENT_RAISE, - CLIENT_LOWER, CLIENT_SHADE, CLIENT_DECORATE, CLIENT_MOVE,

@@ -69,15 +68,15 @@

e = menu_find_entry_id(menu, CLIENT_ICONIFY); e->data.normal.enabled = frame->client->functions & OB_CLIENT_FUNC_ICONIFY; + e = menu_find_entry_id(menu, CLIENT_RESTORE); + e->data.normal.enabled =frame->client->max_horz || frame->client->max_vert; + e = menu_find_entry_id(menu, CLIENT_MAXIMIZE); - menu_entry_set_label(e, - (frame->client->max_vert || frame->client->max_horz ? - _("Restor&e") : _("Maximiz&e")), TRUE); - e->data.normal.enabled =frame->client->functions & OB_CLIENT_FUNC_MAXIMIZE; + e->data.normal.enabled = + (frame->client->functions & OB_CLIENT_FUNC_MAXIMIZE) && + !frame->client->max_horz && !frame->client->max_vert; e = menu_find_entry_id(menu, CLIENT_SHADE); - menu_entry_set_label(e, (frame->client->shaded ? - _("&Roll down") : _("&Roll up")), TRUE); e->data.normal.enabled = frame->client->functions & OB_CLIENT_FUNC_SHADE; e = menu_find_entry_id(menu, CLIENT_MOVE);

@@ -153,6 +152,16 @@ act->data.sendto.desk = desk;

act->data.sendto.follow = FALSE; acts = g_slist_prepend(NULL, act); e = menu_add_normal(menu, desk, name, acts, FALSE); + if (desk == DESKTOP_ALL) { + e->data.normal.mask = ob_rr_theme->desk_mask; + e->data.normal.mask_normal_color = ob_rr_theme->menu_color; + e->data.normal.mask_selected_color = + ob_rr_theme->menu_selected_color; + e->data.normal.mask_disabled_color = + ob_rr_theme->menu_disabled_color; + e->data.normal.mask_disabled_selected_color = + ob_rr_theme->menu_disabled_selected_color; + } if (frame->client->desktop == desk) e->data.normal.enabled = FALSE;

@@ -257,57 +266,66 @@ menu_show_all_shortcuts(menu, TRUE);

menu_set_update_func(menu, client_update); menu_set_place_func(menu, client_menu_place); - menu_add_submenu(menu, CLIENT_SEND_TO, SEND_TO_MENU_NAME); + acts = g_slist_prepend(NULL, action_from_string + ("ToggleMaximizeFull", + OB_USER_ACTION_MENU_SELECTION)); + e = menu_add_normal(menu, CLIENT_RESTORE, _("R&estore"), acts, TRUE); + e->data.normal.mask = ob_rr_theme->max_toggled_mask; + e->data.normal.mask_normal_color = ob_rr_theme->menu_color; + e->data.normal.mask_selected_color = ob_rr_theme->menu_selected_color; + e->data.normal.mask_disabled_color = ob_rr_theme->menu_disabled_color; + e->data.normal.mask_disabled_selected_color = + ob_rr_theme->menu_disabled_selected_color; - menu_add_submenu(menu, CLIENT_LAYER, LAYER_MENU_NAME); + acts = g_slist_prepend(NULL, action_from_string + ("Move", OB_USER_ACTION_MENU_SELECTION)); + menu_add_normal(menu, CLIENT_MOVE, _("&Move"), acts, TRUE); + + acts = g_slist_prepend(NULL, action_from_string + ("Resize", OB_USER_ACTION_MENU_SELECTION)); + menu_add_normal(menu, CLIENT_RESIZE, _("Resi&ze"), acts, TRUE); acts = g_slist_prepend(NULL, action_from_string ("Iconify", OB_USER_ACTION_MENU_SELECTION)); e = menu_add_normal(menu, CLIENT_ICONIFY, _("Ico&nify"), acts, TRUE); e->data.normal.mask = ob_rr_theme->iconify_mask; e->data.normal.mask_normal_color = ob_rr_theme->menu_color; + e->data.normal.mask_selected_color = ob_rr_theme->menu_selected_color; e->data.normal.mask_disabled_color = ob_rr_theme->menu_disabled_color; - e->data.normal.mask_selected_color = ob_rr_theme->menu_selected_color; + e->data.normal.mask_disabled_selected_color = + ob_rr_theme->menu_disabled_selected_color; acts = g_slist_prepend(NULL, action_from_string ("ToggleMaximizeFull", OB_USER_ACTION_MENU_SELECTION)); - e = menu_add_normal(menu, CLIENT_MAXIMIZE, _("Maximiz&e"), acts, TRUE); + e = menu_add_normal(menu, CLIENT_MAXIMIZE, _("Ma&ximize"), acts, TRUE); e->data.normal.mask = ob_rr_theme->max_mask; e->data.normal.mask_normal_color = ob_rr_theme->menu_color; + e->data.normal.mask_selected_color = ob_rr_theme->menu_selected_color; e->data.normal.mask_disabled_color = ob_rr_theme->menu_disabled_color; - e->data.normal.mask_selected_color = ob_rr_theme->menu_selected_color; - - acts = g_slist_prepend(NULL, action_from_string - ("Raise", OB_USER_ACTION_MENU_SELECTION)); - menu_add_normal(menu, CLIENT_RAISE, _("Raise to &top"), acts, TRUE); - - acts = g_slist_prepend(NULL, action_from_string - ("Lower", OB_USER_ACTION_MENU_SELECTION)); - menu_add_normal(menu, CLIENT_LOWER, _("Lower to &bottom"),acts, TRUE); + e->data.normal.mask_disabled_selected_color = + ob_rr_theme->menu_disabled_selected_color; acts = g_slist_prepend(NULL, action_from_string ("ToggleShade", OB_USER_ACTION_MENU_SELECTION)); - e = menu_add_normal(menu, CLIENT_SHADE, _("&Roll up"), acts, TRUE); + e = menu_add_normal(menu, CLIENT_SHADE, _("&Roll up/down"), acts, TRUE); e->data.normal.mask = ob_rr_theme->shade_mask; e->data.normal.mask_normal_color = ob_rr_theme->menu_color; + e->data.normal.mask_selected_color = ob_rr_theme->menu_selected_color; e->data.normal.mask_disabled_color = ob_rr_theme->menu_disabled_color; - e->data.normal.mask_selected_color = ob_rr_theme->menu_selected_color; + e->data.normal.mask_disabled_selected_color = + ob_rr_theme->menu_disabled_selected_color; acts = g_slist_prepend(NULL, action_from_string ("ToggleDecorations", OB_USER_ACTION_MENU_SELECTION)); - menu_add_normal(menu, CLIENT_DECORATE, _("&Decorate"), acts, TRUE); + menu_add_normal(menu, CLIENT_DECORATE, _("Un/&Decorate"), acts, TRUE); menu_add_separator(menu, -1, NULL); - acts = g_slist_prepend(NULL, action_from_string - ("Move", OB_USER_ACTION_MENU_SELECTION)); - menu_add_normal(menu, CLIENT_MOVE, _("&Move"), acts, TRUE); + menu_add_submenu(menu, CLIENT_SEND_TO, SEND_TO_MENU_NAME); - acts = g_slist_prepend(NULL, action_from_string - ("Resize", OB_USER_ACTION_MENU_SELECTION)); - menu_add_normal(menu, CLIENT_RESIZE, _("Resi&ze"), acts, TRUE); + menu_add_submenu(menu, CLIENT_LAYER, LAYER_MENU_NAME); menu_add_separator(menu, -1, NULL);

@@ -316,6 +334,8 @@ ("Close", OB_USER_ACTION_MENU_SELECTION));

e = menu_add_normal(menu, CLIENT_CLOSE, _("&Close"), acts, TRUE); e->data.normal.mask = ob_rr_theme->close_mask; e->data.normal.mask_normal_color = ob_rr_theme->menu_color; - e->data.normal.mask_disabled_color = ob_rr_theme->menu_disabled_color; e->data.normal.mask_selected_color = ob_rr_theme->menu_selected_color; + e->data.normal.mask_disabled_color = ob_rr_theme->menu_disabled_color; + e->data.normal.mask_disabled_selected_color = + ob_rr_theme->menu_disabled_selected_color; }
M openbox/event.copenbox/event.c

@@ -1288,8 +1288,7 @@ do {

ObMenuEntryFrame *e = it->data; gunichar entrykey = 0; - if (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && - e->entry->data.normal.enabled) + if (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL) entrykey = e->entry->data.normal.shortcut; else if (e->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU) entrykey = e->entry->data.submenu.submenu->shortcut;

@@ -1309,7 +1308,8 @@ if (found->entry->type == OB_MENU_ENTRY_TYPE_NORMAL &&

num_found == 1) { menu_frame_select(frame, found, TRUE); - usleep(50000); + usleep(50000); /* highlight the item for a short bit so the + user can see what happened */ menu_entry_frame_execute(found, state, ev->xkey.time); } else { menu_frame_select(frame, found, TRUE);
M openbox/menu.copenbox/menu.c

@@ -382,10 +382,10 @@ frame = menu_frame_new(self, client);

if (!menu_frame_show_topmenu(frame, x, y, button)) menu_frame_free(frame); else if (frame->entries) { + /* select the first entry if it's not a submenu */ ObMenuEntryFrame *e = frame->entries->data; - if (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && - e->entry->data.normal.enabled) - menu_frame_select(frame, e, FALSE); + if (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL) + menu_frame_select(frame, e, FALSE); } }
M openbox/menu.hopenbox/menu.h

@@ -112,8 +112,9 @@

/* Mask icon */ RrPixmapMask *mask; RrColor *mask_normal_color; + RrColor *mask_selected_color; RrColor *mask_disabled_color; - RrColor *mask_selected_color; + RrColor *mask_disabled_selected_color; }; struct _ObSubmenuMenuEntry {
M openbox/menuframe.copenbox/menuframe.c

@@ -140,8 +140,10 @@ XMapWindow(ob_display, self->window);

XMapWindow(ob_display, self->text); self->a_normal = RrAppearanceCopy(ob_rr_theme->a_menu_normal); - self->a_disabled = RrAppearanceCopy(ob_rr_theme->a_menu_disabled); self->a_selected = RrAppearanceCopy(ob_rr_theme->a_menu_selected); + self->a_disabled = RrAppearanceCopy(ob_rr_theme->a_menu_disabled); + self->a_disabled_selected = + RrAppearanceCopy(ob_rr_theme->a_menu_disabled_selected); if (entry->type == OB_MENU_ENTRY_TYPE_SEPARATOR) { self->a_separator = RrAppearanceCopy(ob_rr_theme->a_clear_tex);

@@ -159,10 +161,12 @@ }

self->a_text_normal = RrAppearanceCopy(ob_rr_theme->a_menu_text_normal); + self->a_text_selected = + RrAppearanceCopy(ob_rr_theme->a_menu_text_selected); self->a_text_disabled = RrAppearanceCopy(ob_rr_theme->a_menu_text_disabled); - self->a_text_selected = - RrAppearanceCopy(ob_rr_theme->a_menu_text_selected); + self->a_text_disabled_selected = + RrAppearanceCopy(ob_rr_theme->a_menu_text_disabled_selected); self->a_text_title = RrAppearanceCopy(ob_rr_theme->a_menu_text_title);

@@ -186,15 +190,17 @@ g_hash_table_remove(menu_frame_map, &self->bullet);

} RrAppearanceFree(self->a_normal); + RrAppearanceFree(self->a_selected); RrAppearanceFree(self->a_disabled); - RrAppearanceFree(self->a_selected); + RrAppearanceFree(self->a_disabled_selected); RrAppearanceFree(self->a_separator); RrAppearanceFree(self->a_icon); RrAppearanceFree(self->a_mask); RrAppearanceFree(self->a_text_normal); + RrAppearanceFree(self->a_text_selected); RrAppearanceFree(self->a_text_disabled); - RrAppearanceFree(self->a_text_selected); + RrAppearanceFree(self->a_text_disabled_selected); RrAppearanceFree(self->a_text_title); RrAppearanceFree(self->a_bullet_normal); RrAppearanceFree(self->a_bullet_selected);

@@ -338,12 +344,14 @@

switch (self->entry->type) { case OB_MENU_ENTRY_TYPE_NORMAL: case OB_MENU_ENTRY_TYPE_SUBMENU: - item_a = ((self->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && - !self->entry->data.normal.enabled) ? - self->a_disabled : + item_a = (self->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && + !self->entry->data.normal.enabled ? + /* disabled */ (self == self->frame->selected ? - self->a_selected : - self->a_normal)); + self->a_disabled_selected : self->a_disabled) : + /* enabled */ + (self == self->frame->selected ? + self->a_selected : self->a_normal)); th = self->frame->item_h; break; case OB_MENU_ENTRY_TYPE_SEPARATOR:

@@ -368,11 +376,14 @@ RrPaint(item_a, self->window, self->area.width, self->area.height);

switch (self->entry->type) { case OB_MENU_ENTRY_TYPE_NORMAL: - text_a = (!self->entry->data.normal.enabled ? - self->a_text_disabled : + text_a = (self->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && + !self->entry->data.normal.enabled ? + /* disabled */ (self == self->frame->selected ? - self->a_text_selected : - self->a_text_normal)); + self->a_text_disabled_selected : self->a_text_disabled) : + /* enabled */ + (self == self->frame->selected ? + self->a_text_selected : self->a_text_normal)); text_a->texture[0].data.text.string = self->entry->data.normal.label; if (self->entry->data.normal.shortcut && (self->frame->menu->show_all_shortcuts ||

@@ -502,9 +513,13 @@ - frame->item_margin.bottom);

self->a_mask->texture[0].data.mask.mask = self->entry->data.normal.mask; - c = ((self->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && - !self->entry->data.normal.enabled) ? - self->entry->data.normal.mask_disabled_color : + c = (self->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && + !self->entry->data.normal.enabled ? + /* disabled */ + (self == self->frame->selected ? + self->entry->data.normal.mask_disabled_selected_color : + self->entry->data.normal.mask_disabled_color) : + /* enabled */ (self == self->frame->selected ? self->entry->data.normal.mask_selected_color : self->entry->data.normal.mask_normal_color));

@@ -592,6 +607,12 @@ MAX(self->item_margin.left, l),

MAX(self->item_margin.top, t), MAX(self->item_margin.right, r), MAX(self->item_margin.bottom, b)); + RrMargins(e->a_disabled_selected, &l, &t, &r, &b); + STRUT_SET(self->item_margin, + MAX(self->item_margin.left, l), + MAX(self->item_margin.top, t), + MAX(self->item_margin.right, r), + MAX(self->item_margin.bottom, b)); } else self->item_h = 0;

@@ -622,12 +643,15 @@ XSetWindowBorderWidth(ob_display, e->window, e->border);

XSetWindowBorder(ob_display, e->window, RrColorPixel(ob_rr_theme->menu_b_color)); - text_a = ((e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && - !e->entry->data.normal.enabled) ? - e->a_text_disabled : + + text_a = (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && + !e->entry->data.normal.enabled ? + /* disabled */ + (e == self->selected ? + e->a_text_disabled_selected : e->a_text_disabled) : + /* enabled */ (e == self->selected ? - e->a_text_selected : - e->a_text_normal)); + e->a_text_selected : e->a_text_normal)); switch (e->entry->type) { case OB_MENU_ENTRY_TYPE_NORMAL: text_a->texture[0].data.text.string = e->entry->data.normal.label;

@@ -1045,8 +1069,7 @@ if (it) {

e = it->data; if (e->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU) break; - if (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && - e->entry->data.normal.enabled) + if (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL) break; } }

@@ -1071,8 +1094,7 @@ if (it) {

e = it->data; if (e->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU) break; - if (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL && - e->entry->data.normal.enabled) + if (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL) break; } }
M openbox/menuframe.hopenbox/menuframe.h

@@ -88,8 +88,9 @@ Window text;

Window bullet; RrAppearance *a_normal; + RrAppearance *a_selected; RrAppearance *a_disabled; - RrAppearance *a_selected; + RrAppearance *a_disabled_selected; RrAppearance *a_icon; RrAppearance *a_mask;

@@ -97,8 +98,9 @@ RrAppearance *a_bullet_normal;

RrAppearance *a_bullet_selected; RrAppearance *a_separator; RrAppearance *a_text_normal; + RrAppearance *a_text_selected; RrAppearance *a_text_disabled; - RrAppearance *a_text_selected; + RrAppearance *a_text_disabled_selected; RrAppearance *a_text_title; };
M render/theme.crender/theme.c

@@ -123,10 +123,12 @@ theme->a_menu_title = RrAppearanceNew(inst, 0);

theme->a_menu_text_title = RrAppearanceNew(inst, 1); theme->a_menu_normal = RrAppearanceNew(inst, 0); theme->a_menu_disabled = RrAppearanceNew(inst, 0); + theme->a_menu_disabled_selected = RrAppearanceNew(inst, 0); theme->a_menu_selected = RrAppearanceNew(inst, 0); theme->a_menu_text_normal = RrAppearanceNew(inst, 1); - theme->a_menu_text_disabled = RrAppearanceNew(inst, 1); theme->a_menu_text_selected = RrAppearanceNew(inst, 1); + theme->a_menu_text_disabled = RrAppearanceNew(inst, 1); + theme->a_menu_text_disabled_selected = RrAppearanceNew(inst, 1); theme->a_menu_bullet_normal = RrAppearanceNew(inst, 1); theme->a_menu_bullet_selected = RrAppearanceNew(inst, 1); theme->a_clear = RrAppearanceNew(inst, 0);

@@ -299,17 +301,17 @@ L("window","active","buttons","toggled-unpressed","image"),

&theme->titlebut_toggled_focused_unpressed_color, NULL)) theme->titlebut_toggled_focused_unpressed_color = RrColorNew(inst, - theme->titlebut_focused_unpressed_color->r, - theme->titlebut_focused_unpressed_color->g, - theme->titlebut_focused_unpressed_color->b); + theme->titlebut_focused_pressed_color->r, + theme->titlebut_focused_pressed_color->g, + theme->titlebut_focused_pressed_color->b); if (!FIND(color, L("window","inactive","buttons","toggled-unpressed","image"), &theme->titlebut_toggled_unfocused_unpressed_color, NULL)) theme->titlebut_toggled_unfocused_unpressed_color = RrColorNew(inst, - theme->titlebut_unfocused_unpressed_color->r, - theme->titlebut_unfocused_unpressed_color->g, - theme->titlebut_unfocused_unpressed_color->b); + theme->titlebut_unfocused_pressed_color->r, + theme->titlebut_unfocused_pressed_color->g, + theme->titlebut_unfocused_pressed_color->b); if (!FIND(color, L("window","active","buttons","toggled-hover","image"), &theme->titlebut_toggled_hover_focused_color, NULL))

@@ -334,6 +336,13 @@ theme->menu_color = RrColorNew(inst, 0xff, 0xff, 0xff);

if (!FIND(color, L("menu","disabled","primary"), &theme->menu_disabled_color, NULL)) theme->menu_disabled_color = RrColorNew(inst, 0, 0, 0); + if (!FIND(color, L("menu","activedisabled","text","primary"), + &theme->menu_disabled_selected_color, NULL)) + theme->menu_disabled_selected_color = + RrColorNew(inst, + theme->menu_disabled_color->r, + theme->menu_disabled_color->g, + theme->menu_disabled_color->b); if (!FIND(color, L("menu","active","text","primary"), &theme->menu_selected_color, NULL)) theme->menu_selected_color = RrColorNew(inst, 0, 0, 0);

@@ -392,6 +401,17 @@ theme->menu_text_normal_shadow_color->b);

theme->menu_text_disabled_shadow_alpha = theme->menu_text_normal_shadow_alpha; } + if (!FIND(color, L("menu","activedisabled","shadow","primary"), + &theme->menu_text_disabled_selected_shadow_color, + &theme->menu_text_disabled_selected_shadow_alpha)) + { + theme->menu_text_disabled_selected_shadow_color = + RrColorNew(inst, theme->menu_text_disabled_shadow_color->r, + theme->menu_text_disabled_shadow_color->g, + theme->menu_text_disabled_shadow_color->b); + theme->menu_text_disabled_selected_shadow_alpha = + theme->menu_text_disabled_shadow_alpha; + } /* load the image masks */ if (read_mask(&ps, "max.xbm", &theme->max_mask)) {

@@ -582,6 +602,10 @@ if (!FIND(appearance, L("menu","title"), theme->a_menu_title, TRUE))

set_default_appearance(theme->a_menu_title); if (!FIND(appearance, L("menu", "active"), theme->a_menu_selected, TRUE)) set_default_appearance(theme->a_menu_selected); + if (!FIND(appearance, L("menu", "activedisabled"), + theme->a_menu_disabled_selected, TRUE)) + theme->a_menu_disabled_selected = + RrAppearanceCopy(theme->a_menu_selected); /* read the appearances for rendering non-decorations */ theme->osd_hilite_bg = RrAppearanceCopy(theme->a_focused_title);

@@ -647,28 +671,28 @@ theme->a_toggled_focused_unpressed_max, TRUE))

{ RrAppearanceFree(theme->a_toggled_focused_unpressed_max); theme->a_toggled_focused_unpressed_max = - RrAppearanceCopy(theme->a_focused_unpressed_max); + RrAppearanceCopy(theme->a_focused_pressed_max); } if (!FIND(appearance, L("window","inactive","buttons","toggled-unpressed"), theme->a_toggled_unfocused_unpressed_max, TRUE)) { RrAppearanceFree(theme->a_toggled_unfocused_unpressed_max); theme->a_toggled_unfocused_unpressed_max = - RrAppearanceCopy(theme->a_unfocused_unpressed_max); + RrAppearanceCopy(theme->a_unfocused_pressed_max); } if (!FIND(appearance, L("window","active","buttons","toggled-hover"), theme->a_toggled_hover_focused_max, TRUE)) { RrAppearanceFree(theme->a_toggled_hover_focused_max); theme->a_toggled_hover_focused_max = - RrAppearanceCopy(theme->a_toggled_focused_unpressed_max); + RrAppearanceCopy(theme->a_toggled_focused_pressed_max); } if (!FIND(appearance, L("window","inactive","buttons","toggled-hover"), theme->a_toggled_hover_unfocused_max, TRUE)) { RrAppearanceFree(theme->a_toggled_hover_unfocused_max); theme->a_toggled_hover_unfocused_max = - RrAppearanceCopy(theme->a_toggled_unfocused_unpressed_max); + RrAppearanceCopy(theme->a_toggled_unfocused_pressed_max); } theme->a_disabled_focused_close =

@@ -767,8 +791,9 @@ theme->a_menu_text_title->surface.grad =

theme->a_menu_normal->surface.grad = theme->a_menu_disabled->surface.grad = theme->a_menu_text_normal->surface.grad = + theme->a_menu_text_selected->surface.grad = theme->a_menu_text_disabled->surface.grad = - theme->a_menu_text_selected->surface.grad = + theme->a_menu_text_disabled_selected->surface.grad = theme->a_menu_bullet_normal->surface.grad = theme->a_menu_bullet_selected->surface.grad = RR_SURFACE_PARENTREL;

@@ -840,21 +865,27 @@ theme->a_menu_text_title->texture[0].data.text.shadow_alpha =

theme->menu_title_shadow_alpha; theme->a_menu_text_normal->texture[0].type = + theme->a_menu_text_selected->texture[0].type = theme->a_menu_text_disabled->texture[0].type = - theme->a_menu_text_selected->texture[0].type = RR_TEXTURE_TEXT; + theme->a_menu_text_disabled_selected->texture[0].type = + RR_TEXTURE_TEXT; theme->a_menu_text_normal->texture[0].data.text.justify = - theme->a_menu_text_disabled->texture[0].data.text.justify = theme->a_menu_text_selected->texture[0].data.text.justify = + theme->a_menu_text_disabled->texture[0].data.text.justify = + theme->a_menu_text_disabled_selected->texture[0].data.text.justify = RR_JUSTIFY_LEFT; theme->a_menu_text_normal->texture[0].data.text.font = + theme->a_menu_text_selected->texture[0].data.text.font = theme->a_menu_text_disabled->texture[0].data.text.font = - theme->a_menu_text_selected->texture[0].data.text.font = + theme->a_menu_text_disabled_selected->texture[0].data.text.font = theme->menu_font; theme->a_menu_text_normal->texture[0].data.text.color = theme->menu_color; - theme->a_menu_text_disabled->texture[0].data.text.color = - theme->menu_disabled_color; theme->a_menu_text_selected->texture[0].data.text.color = theme->menu_selected_color; + theme->a_menu_text_disabled->texture[0].data.text.color = + theme->menu_disabled_color; + theme->a_menu_text_disabled_selected->texture[0].data.text.color = + theme->menu_disabled_selected_color; if (!FIND(shadow, L("menu","inactive","shadow","offset"), theme->a_menu_text_normal))

@@ -871,6 +902,12 @@ theme->a_menu_text_disabled))

theme->a_menu_text_disabled->texture[0].data.text.shadow_offset_x = theme->a_menu_text_disabled->texture[0].data.text.shadow_offset_y = 0; + if (!FIND(shadow, L("menu","activedisabled","shadow","offset"), + theme->a_menu_text_disabled_selected)) + theme->a_menu_text_disabled_selected-> + texture[0].data.text.shadow_offset_x = 0; + theme->a_menu_text_disabled_selected-> + texture[0].data.text.shadow_offset_y = 0; theme->a_menu_text_normal->texture[0].data.text.shadow_color = theme->menu_text_normal_shadow_color; theme->a_menu_text_normal->texture[0].data.text.shadow_alpha =

@@ -883,6 +920,10 @@ theme->a_menu_text_disabled->texture[0].data.text.shadow_color =

theme->menu_text_disabled_shadow_color; theme->a_menu_text_disabled->texture[0].data.text.shadow_alpha = theme->menu_text_disabled_shadow_alpha; + theme->a_menu_text_disabled_selected->texture[0].data.text.shadow_color = + theme->menu_text_disabled_selected_shadow_color; + theme->a_menu_text_disabled_selected->texture[0].data.text.shadow_alpha = + theme->menu_text_disabled_selected_shadow_alpha; theme->a_disabled_focused_max->texture[0].type = theme->a_disabled_unfocused_max->texture[0].type =

@@ -1119,7 +1160,7 @@ parse_close(ps.doc);

{ gint ft, fb, fl, fr, ut, ub, ul, ur; - RrAppearance *a, *b, *c; + RrAppearance *a, *b, *c, *d; /* caluclate the font heights*/ a = theme->a_focused_label;

@@ -1138,11 +1179,14 @@ a->texture[0].data.text.shadow_offset_y);

a = theme->a_menu_text_normal; b = theme->a_menu_text_selected; c = theme->a_menu_text_disabled; + d = theme->a_menu_text_disabled_selected; theme->menu_font_height = RrFontHeight(theme->menu_font, MAX(a->texture[0].data.text.shadow_offset_y, MAX(b->texture[0].data.text.shadow_offset_y, - c->texture[0].data.text.shadow_offset_y))); + MAX(c->texture[0].data.text.shadow_offset_y, + d->texture[0].data.text.shadow_offset_y + )))); RrMargins(theme->a_focused_label, &fl, &ft, &fr, &fb); RrMargins(theme->a_unfocused_label, &ul, &ut, &ur, &ub);

@@ -1196,8 +1240,9 @@ RrColorFree(theme->titlebut_toggled_focused_unpressed_color);

RrColorFree(theme->titlebut_toggled_unfocused_unpressed_color); RrColorFree(theme->menu_title_color); RrColorFree(theme->menu_color); + RrColorFree(theme->menu_selected_color); RrColorFree(theme->menu_disabled_color); - RrColorFree(theme->menu_selected_color); + RrColorFree(theme->menu_disabled_selected_color); RrColorFree(theme->title_focused_shadow_color); RrColorFree(theme->title_unfocused_shadow_color); RrColorFree(theme->osd_color);

@@ -1206,6 +1251,7 @@ RrColorFree(theme->menu_title_shadow_color);

RrColorFree(theme->menu_text_normal_shadow_color); RrColorFree(theme->menu_text_selected_shadow_color); RrColorFree(theme->menu_text_disabled_shadow_color); + RrColorFree(theme->menu_text_disabled_selected_shadow_color); g_free(theme->def_win_icon);

@@ -1310,11 +1356,13 @@ RrAppearanceFree(theme->a_menu);

RrAppearanceFree(theme->a_menu_title); RrAppearanceFree(theme->a_menu_text_title); RrAppearanceFree(theme->a_menu_normal); + RrAppearanceFree(theme->a_menu_selected); RrAppearanceFree(theme->a_menu_disabled); - RrAppearanceFree(theme->a_menu_selected); + RrAppearanceFree(theme->a_menu_disabled_selected); RrAppearanceFree(theme->a_menu_text_normal); + RrAppearanceFree(theme->a_menu_text_selected); RrAppearanceFree(theme->a_menu_text_disabled); - RrAppearanceFree(theme->a_menu_text_selected); + RrAppearanceFree(theme->a_menu_text_disabled_selected); RrAppearanceFree(theme->a_menu_bullet_normal); RrAppearanceFree(theme->a_menu_bullet_selected); RrAppearanceFree(theme->a_clear);
M render/theme.hrender/theme.h

@@ -78,8 +78,9 @@ RrColor *titlebut_focused_unpressed_color;

RrColor *titlebut_unfocused_unpressed_color; RrColor *menu_title_color; RrColor *menu_color; + RrColor *menu_selected_color; RrColor *menu_disabled_color; - RrColor *menu_selected_color; + RrColor *menu_disabled_selected_color; RrColor *title_focused_shadow_color; gchar title_focused_shadow_alpha; RrColor *title_unfocused_shadow_color;

@@ -95,6 +96,8 @@ RrColor *menu_text_selected_shadow_color;

gchar menu_text_selected_shadow_alpha; RrColor *menu_text_disabled_shadow_color; gchar menu_text_disabled_shadow_alpha; + RrColor *menu_text_disabled_selected_shadow_color; + gchar menu_text_disabled_selected_shadow_alpha; /* style settings - pics */ RrPixel32 *def_win_icon; /* 48x48 RGBA */

@@ -206,10 +209,12 @@ RrAppearance *a_menu_text_title;

RrAppearance *a_menu_title; RrAppearance *a_menu; RrAppearance *a_menu_normal; - RrAppearance *a_menu_disabled; RrAppearance *a_menu_selected; + RrAppearance *a_menu_disabled; + RrAppearance *a_menu_disabled_selected; RrAppearance *a_menu_text_normal; RrAppearance *a_menu_text_disabled; + RrAppearance *a_menu_text_disabled_selected; RrAppearance *a_menu_text_selected; RrAppearance *a_menu_bullet_normal; RrAppearance *a_menu_bullet_selected;
D themes/Artwiz-boxed/openbox-3/bullet.xbm

@@ -1,4 +0,0 @@

-#define bullet_blank_width 7 -#define bullet_blank_height 7 -static unsigned char bullet_blank_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
M themes/Artwiz-boxed/openbox-3/themerc.xmlthemes/Artwiz-boxed/openbox-3/themerc.xml

@@ -144,5 +144,10 @@ <style>sunken gradient diagonal</style>

<primary r="16" g="32" b="48" a="255"/> <secondary r="112" g="128" b="144" a="255"/> </entries> + <activedisabled> + <style>raised gradient diagonal</style> + <primary r="144" g="148" b="152" a="255"/> + <secondary r="32" g="36" b="40" a="255"/> + </activedisabled> </menu> </openbox_theme>
M themes/Bear2/openbox-3/themerc.xmlthemes/Bear2/openbox-3/themerc.xml

@@ -48,7 +48,7 @@ <style>parentrelative</style>

</toggled-unpressed> </buttons> <titlebar> - <style>flat border gradient mirrorhorizontal</style> + <style>flat border gradient osx</style> <primary r="52" g="101" b="164" a="255"/> <secondary r="64" g="124" b="202" a="255"/> <border r="105" g="154" b="205" a="255"/>

@@ -97,7 +97,7 @@ <style>parentrelative</style>

</toggled-unpressed> </buttons> <titlebar> - <style>flat border gradient mirrorhorizontal</style> + <style>flat border gradient osx</style> <primary r="220" g="220" b="220" a="255"/> <secondary r="238" g="238" b="236" a="255"/> <border r="239" g="239" b="239" a="255"/>

@@ -137,6 +137,15 @@ </inactive>

<disabled> <primary r="186" g="189" b="182" a="255"/> </disabled> + <activedisabled> + <text> + <primary r="186" g="189" b="182" a="255"/> + </text> + <style>flat solid</style> + <primary r="68" g="129" b="192" a="255"/> + <secondary r="65" g="117" b="170" a="255"/> + <border r="65" g="108" b="152" a="255"/> + </activedisabled> <active> <text> <primary r="246" g="248" b="251" a="255"/>
M themes/Clearlooks-Olive/openbox-3/themerc.xmlthemes/Clearlooks-Olive/openbox-3/themerc.xml

@@ -148,8 +148,17 @@ <inactive>

<primary r="68" g="68" b="68" a="255"/> </inactive> <disabled> - <primary r="153" g="153" b="153" a="255"/> + <primary r="170" g="170" b="170" a="255"/> </disabled> + <activedisabled> + <text> + <primary r="150" g="150" b="150" a="255"/> + </text> + <style>Flat Gradient Vertical Border</style> + <primary r="180" g="201" b="148" a="255"/> + <secondary r="146" g="170" b="109" a="255"/> + <border r="146" g="170" b="109" a="255"/> + </activedisabled> <active> <text> <primary r="255" g="255" b="255" a="255"/>
M themes/Clearlooks/openbox-3/themerc.xmlthemes/Clearlooks/openbox-3/themerc.xml

@@ -148,8 +148,16 @@ <inactive>

<primary r="0" g="0" b="0" a="255"/> </inactive> <disabled> - <primary r="153" g="153" b="153" a="255"/> + <primary r="170" g="170" b="170" a="255"/> </disabled> + <activedisabled> + <text> + <primary r="170" g="170" b="170" a="255"/> + </text> + <style>Flat Gradient Vertical</style> + <primary r="98" g="140" b="178" a="255"/> + <secondary r="80" g="112" b="141" a="255"/> + </activedisabled> <active> <text> <primary r="255" g="255" b="255" a="255"/>
M themes/Mikachu/openbox-3/themerc.xmlthemes/Mikachu/openbox-3/themerc.xml

@@ -12,7 +12,7 @@ </border>

<clientpadding x="0" y="0"/> <justify>left</justify> <active> - <clientpadding r="128" g="128" b="160" a="255"/> + <clientpadding r="0" g="255" b="0" a="255"/> <label> <text> <primary r="191" g="233" b="255" a="255"/>

@@ -53,7 +53,7 @@ <border r="0" g="0" b="0" a="255"/>

</hover> <toggled-unpressed> <image r="217" g="217" b="217" a="255"/> - <style>sunken gradient crossdiagonal bevel2</style> + <style>sunken gradient crossdiagonal bevel1</style> <primary r="102" g="153" b="204" a="255"/> <secondary r="51" g="72" b="102" a="255"/> <border r="0" g="0" b="0" a="255"/>

@@ -82,7 +82,7 @@ <inactive>

<clientpadding r="127" g="127" b="127" a="255"/> <label> <text> - <primary r="195" g="195" b="224" a="255"/> + <primary r="179" g="179" b="179" a="255"/> <shadow> <offset x="3" y="3"/> <primary r="0" g="0" b="0" a="81"/>

@@ -132,8 +132,8 @@ </toggled-unpressed>

</buttons> <titlebar> <style>flat gradient diagonal bevel1</style> - <primary r="127" g="127" b="160" a="255"/> - <secondary r="51" g="51" b="80" a="255"/> + <primary r="127" g="127" b="136" a="255"/> + <secondary r="51" g="51" b="59" a="255"/> <border r="0" g="0" b="0" a="255"/> </titlebar> <handle>

@@ -183,6 +183,19 @@ <offset x="2" y="2"/>

<primary r="0" g="0" b="0" a="38"/> </shadow> </disabled> + <activedisabled> + <text> + <primary r="119" g="17" b="17" a="255"/> + <shadow> + <offset x="2" y="2"/> + <primary r="0" g="0" b="0" a="38"/> + </shadow> + </text> + <style>raised gradient horizontal bevel1</style> + <primary r="85" g="85" b="119" a="255"/> + <secondary r="102" g="153" b="204" a="255"/> + <border r="0" g="0" b="0" a="255"/> + </activedisabled> <active> <text> <primary r="204" g="204" b="255" a="255"/>

@@ -191,15 +204,15 @@ <offset x="2" y="2"/>

<primary r="0" g="0" b="0" a="38"/> </shadow> </text> - <style>raised gradient mirrorhorizontal</style> + <style>raised gradient horizontal bevel1</style> <primary r="85" g="85" b="119" a="255"/> <secondary r="102" g="153" b="204" a="255"/> <border r="0" g="0" b="0" a="255"/> </active> <entries> - <style>flat gradient vertical bevel1</style> - <primary r="184" g="184" b="216" a="255"/> - <secondary r="160" g="160" b="186" a="255"/> + <style>flat gradient horizontal bevel1</style> + <primary r="170" g="170" b="204" a="255"/> + <secondary r="170" g="170" b="208" a="255"/> <border r="0" g="0" b="0" a="255"/> </entries> </menu>
M themes/Natura/openbox-3/themerc.xmlthemes/Natura/openbox-3/themerc.xml

@@ -1,6 +1,4 @@

<?xml version="1.0"?> -<!-- Natura by quandar (http://deletefactory.net/quandar) --> - <openbox_theme version="1" xmlns="http://openbox.org/themerc"> <dimensions> <handle>2</handle>

@@ -57,7 +55,7 @@ <border r="78" g="88" b="96" a="255"/>

</toggled-unpressed> </buttons> <titlebar> - <style>flat gradient splitvertical</style> + <style>flat gradient split</style> <primary r="92" g="78" b="69" a="255"/> <secondary r="81" g="68" b="62" a="255"/> <border r="0" g="0" b="0" a="255"/>

@@ -151,7 +149,7 @@ <offset x="1" y="1"/>

<primary r="0" g="0" b="0" a="191"/> </shadow> </text> - <style>flat gradient splitvertical</style> + <style>flat gradient split</style> <primary r="92" g="78" b="69" a="255"/> <secondary r="81" g="68" b="62" a="255"/> </title>

@@ -161,11 +159,19 @@ </inactive>

<disabled> <primary r="115" g="117" b="115" a="255"/> </disabled> + <activedisabled> + <text> + <primary r="115" g="117" b="115" a="255"/> + </text> + <style>flat gradient split</style> + <primary r="92" g="78" b="69" a="255"/> + <secondary r="81" g="68" b="62" a="255"/> + </activedisabled> <active> <text> <primary r="249" g="242" b="238" a="255"/> </text> - <style>flat gradient splitvertical</style> + <style>flat gradient split</style> <primary r="92" g="78" b="69" a="255"/> <secondary r="81" g="68" b="62" a="255"/> </active>
M themes/Orang/openbox-3/themerc.xmlthemes/Orang/openbox-3/themerc.xml

@@ -1,6 +1,4 @@

<?xml version="1.0"?> -<!-- i be a mess --> - <openbox_theme version="1" xmlns="http://openbox.org/themerc"> <dimensions> <handle>3</handle>

@@ -125,6 +123,13 @@ </inactive>

<disabled> <primary r="115" g="117" b="115" a="255"/> </disabled> + <activedisabled> + <text> + <primary r="115" g="117" b="115" a="255"/> + </text> + <style>flat solid</style> + <primary r="206" g="92" b="0" a="255"/> + </activedisabled> <active> <text> <primary r="255" g="255" b="255" a="255"/>
M themes/Syscrash/openbox-3/themerc.xmlthemes/Syscrash/openbox-3/themerc.xml

@@ -1,14 +1,13 @@

<?xml version="1.0"?> -<!-- syscrash's theme, based off nightm4re's flax or something --> <openbox_theme version="1" xmlns="http://openbox.org/themerc"> <dimensions> <handle>0</handle> - <padding x="2" y="2"/> + <padding x="1" y="1"/> </dimensions> <window> <border> <width>1</width> - <primary r="155" g="155" b="155" a="255"/> + <primary r="109" g="109" b="109" a="255"/> </border> <clientpadding x="0" y="0"/> <justify>left</justify>

@@ -17,6 +16,9 @@ <clientpadding r="76" g="76" b="76" a="255"/>

<label> <text> <primary r="255" g="255" b="255" a="255"/> + <shadow> + <offset x="1" y="1"/> + </shadow> </text> <style>flat gradient vertical border</style> <primary r="76" g="76" b="76" a="255"/>

@@ -30,7 +32,7 @@ <primary r="81" g="81" b="81" a="255"/>

<secondary r="103" g="103" b="103" a="255"/> </unpressed> <disabled> - <image r="159" g="191" b="193" a="255"/> + <image r="140" g="140" b="117" a="255"/> <style>parentrelative</style> </disabled> <pressed>

@@ -48,12 +50,13 @@ <style>flat solid</style>

<primary r="155" g="155" b="155" a="255"/> </titlebar> <handle> - <style>flat solid</style> + <style>flat gradient crossdiagonal</style> + <primary r="211" g="222" b="218" a="255"/> + <secondary r="159" g="191" b="193" a="255"/> </handle> <grip> <style>flat solid</style> - <primary r="76" g="76" b="76" a="255"/> - <secondary r="112" g="112" b="112" a="255"/> + <primary r="159" g="191" b="193" a="255"/> </grip> </active> <inactive>

@@ -70,7 +73,8 @@ <image r="76" g="76" b="76" a="255"/>

<style>parentrelative</style> </unpressed> <disabled> - <style>flat solid</style> + <image r="140" g="140" b="117" a="255"/> + <style>parentrelative</style> </disabled> <pressed> <style>flat gradient crossdiagonal border</style>

@@ -99,13 +103,16 @@ </window>

<menu> <border> <width>1</width> - <primary r="155" g="155" b="155" a="255"/> + <primary r="109" g="109" b="109" a="255"/> </border> <justify>left</justify> <overlap>0</overlap> <title> <text> <primary r="255" g="255" b="255" a="255"/> + <shadow> + <offset x="1" y="1"/> + </shadow> </text> <style>flat gradient vertical</style> <primary r="76" g="76" b="76" a="255"/>

@@ -115,8 +122,15 @@ <inactive>

<primary r="34" g="34" b="28" a="255"/> </inactive> <disabled> - <primary r="68" g="68" b="56" a="255"/> + <primary r="140" g="140" b="117" a="255"/> </disabled> + <activedisabled> + <text> + <primary r="140" g="140" b="117" a="255"/> + </text> + <style>flat solid</style> + <primary r="76" g="76" b="76" a="255"/> + </activedisabled> <active> <text> <primary r="255" g="255" b="255" a="255"/>
M tools/themetoxml/themetoxml.ctools/themetoxml/themetoxml.c

@@ -422,8 +422,10 @@ &i, &j, &k))

COLOR3("menu","inactive","primary",i,j,k,255); if (read_color(db, "menu.items.disabled.text.color", - &i, &j, &k)) + &i, &j, &k)) { COLOR3("menu","disabled","primary",i,j,k,255); + COLOR4("menu","activedisabled","text","primary",i,j,k,255); + } if (read_color(db, "menu.items.active.text.color", &i, &j, &k))

@@ -439,6 +441,7 @@ APPEARANCE3("window.active.grip.bg", "window", "active", "grip");

APPEARANCE3("window.inactive.grip.bg", "window", "inactive", "grip"); APPEARANCE2("menu.items.bg", "menu", "entries"); APPEARANCE2("menu.items.active.bg", "menu", "active"); + APPEARANCE2("menu.items.active.bg", "menu", "activedisabled"); APPEARANCE2("menu.title.bg", "menu", "title"); APPEARANCE4("window.active.button.disabled.bg",

@@ -538,6 +541,8 @@ ATTR5("menu","active","text","shadow","offset","x",NUM(i));

ATTR5("menu","active","text","shadow","offset","y",NUM(i)); ATTR4("menu","disabled","shadow","offset","x",NUM(i)); ATTR4("menu","disabled","shadow","offset","y",NUM(i)); + ATTR5("menu","activedisabled","text","shadow","offset","x",NUM(i)); + ATTR5("menu","activedisabled","text","shadow","offset","y",NUM(i)); } if ((p = strstr(s, "shadowtint="))) {

@@ -547,6 +552,7 @@ i = ABS(i*255/100);

COLOR4("menu","inactive","shadow","primary",j,j,j,i); COLOR5("menu","active","text","shadow","primary",j,j,j,i); COLOR4("menu","disabled","shadow","primary",j,j,j,i); + COLOR5("menu","activedisabled","text","shadow","primary",j,j,j,i); } }