From: Dana Jansens Date: Sat, 5 May 2007 22:51:53 +0000 (+0000) Subject: merge r6089 from trunk. also this adds a menu.items.activedisabled.text.color theme... X-Git-Tag: openbox-3_3_991-RELEASE~158 X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=5a109158757789d3354fa748142bb3881989d2e8;p=dana%2Fopenbox.git merge r6089 from trunk. also this adds a menu.items.activedisabled.text.color theme element. --- diff --git a/Makefile.am b/Makefile.am index 01882a6d..665b52f5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -274,7 +274,6 @@ dist_natura_theme_DATA= \ 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 \ diff --git a/data/themerc.xsd b/data/themerc.xsd index 621f99c6..a3c331ec 100755 --- a/data/themerc.xsd +++ b/data/themerc.xsd @@ -105,6 +105,7 @@ + diff --git a/openbox/client_menu.c b/openbox/client_menu.c index 011e3ec1..da6ac2d9 100644 --- a/openbox/client_menu.c +++ b/openbox/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 @@ static gboolean client_update(ObMenuFrame *frame, gpointer data) 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 @@ static gboolean send_to_update(ObMenuFrame *frame, gpointer data) 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 @@ void client_menu_startup() 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_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; 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_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_color = ob_rr_theme->menu_disabled_color; + 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_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; 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 @@ void client_menu_startup() 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; } diff --git a/openbox/event.c b/openbox/event.c index 61aea441..25460a71 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -1288,8 +1288,7 @@ static gboolean event_handle_menu_keyboard(XEvent *ev) 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 @@ static gboolean event_handle_menu_keyboard(XEvent *ev) 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); diff --git a/openbox/menu.c b/openbox/menu.c index 9aed40aa..741e27c1 100644 --- a/openbox/menu.c +++ b/openbox/menu.c @@ -382,10 +382,10 @@ void menu_show(gchar *name, gint x, gint y, gint button, ObClient *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); } } diff --git a/openbox/menu.h b/openbox/menu.h index b08f7c95..64cbbd6a 100644 --- a/openbox/menu.h +++ b/openbox/menu.h @@ -112,8 +112,9 @@ struct _ObNormalMenuEntry { /* Mask icon */ RrPixmapMask *mask; RrColor *mask_normal_color; - RrColor *mask_disabled_color; RrColor *mask_selected_color; + RrColor *mask_disabled_color; + RrColor *mask_disabled_selected_color; }; struct _ObSubmenuMenuEntry { diff --git a/openbox/menuframe.c b/openbox/menuframe.c index a95e46fc..f87c3c0b 100644 --- a/openbox/menuframe.c +++ b/openbox/menuframe.c @@ -140,8 +140,10 @@ static ObMenuEntryFrame* menu_entry_frame_new(ObMenuEntry *entry, 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 @@ static ObMenuEntryFrame* menu_entry_frame_new(ObMenuEntry *entry, self->a_text_normal = RrAppearanceCopy(ob_rr_theme->a_menu_text_normal); - 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 = + RrAppearanceCopy(ob_rr_theme->a_menu_text_disabled); + 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 @@ static void menu_entry_frame_free(ObMenuEntryFrame *self) } RrAppearanceFree(self->a_normal); - RrAppearanceFree(self->a_disabled); RrAppearanceFree(self->a_selected); + RrAppearanceFree(self->a_disabled); + 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_disabled); RrAppearanceFree(self->a_text_selected); + RrAppearanceFree(self->a_text_disabled); + 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 @@ static void menu_entry_frame_render(ObMenuEntryFrame *self) 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 @@ static void menu_entry_frame_render(ObMenuEntryFrame *self) 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_disabled_selected : self->a_text_disabled) : + /* enabled */ (self == self->frame->selected ? - self->a_text_selected : - self->a_text_normal)); + 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 @@ static void menu_entry_frame_render(ObMenuEntryFrame *self) 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 @@ static void menu_frame_render(ObMenuFrame *self) 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 @@ static void menu_frame_render(ObMenuFrame *self) 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 @@ void menu_frame_select_previous(ObMenuFrame *self) 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 @@ void menu_frame_select_next(ObMenuFrame *self) 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; } } diff --git a/openbox/menuframe.h b/openbox/menuframe.h index 5c876832..15bae667 100644 --- a/openbox/menuframe.h +++ b/openbox/menuframe.h @@ -88,8 +88,9 @@ struct _ObMenuEntryFrame Window bullet; RrAppearance *a_normal; - RrAppearance *a_disabled; RrAppearance *a_selected; + RrAppearance *a_disabled; + RrAppearance *a_disabled_selected; RrAppearance *a_icon; RrAppearance *a_mask; @@ -97,8 +98,9 @@ struct _ObMenuEntryFrame RrAppearance *a_bullet_selected; RrAppearance *a_separator; RrAppearance *a_text_normal; - RrAppearance *a_text_disabled; RrAppearance *a_text_selected; + RrAppearance *a_text_disabled; + RrAppearance *a_text_disabled_selected; RrAppearance *a_text_title; }; diff --git a/render/theme.c b/render/theme.c index 37b2334d..45896c0d 100644 --- a/render/theme.c +++ b/render/theme.c @@ -84,11 +84,13 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, 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_selected = RrAppearanceNew(inst, 0); + theme->a_menu_disabled = RrAppearanceNew(inst, 0); + theme->a_menu_disabled_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); @@ -281,6 +283,14 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, "menu.items.disabled.text.color", &theme->menu_disabled_color)) theme->menu_disabled_color = RrColorNew(inst, 0, 0, 0); + if (!read_color(db, inst, + "menu.items.activedisabled.text.color", + &theme->menu_disabled_selected_color)) + theme->menu_disabled_selected_color = + RrColorNew(inst, + theme->menu_disabled_color->r, + theme->menu_disabled_color->g, + theme->menu_disabled_color->b); if (!read_color(db, inst, "menu.items.active.text.color", &theme->menu_selected_color)) @@ -487,6 +497,8 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, "menu.items.active.bg", theme->a_menu_selected, TRUE)) set_default_appearance(theme->a_menu_selected); + 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); @@ -648,8 +660,9 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, theme->a_menu_normal->surface.grad = theme->a_menu_disabled->surface.grad = theme->a_menu_text_normal->surface.grad = - theme->a_menu_text_disabled->surface.grad = theme->a_menu_text_selected->surface.grad = + theme->a_menu_text_disabled->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; @@ -784,21 +797,27 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, 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_disabled->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_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 (read_string(db, "menu.items.font", &str)) { char *p; @@ -813,13 +832,17 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, texture[0].data.text.shadow_offset_x = i; theme->a_menu_text_normal-> texture[0].data.text.shadow_offset_y = i; + theme->a_menu_text_selected-> + texture[0].data.text.shadow_offset_x = i; + theme->a_menu_text_selected-> + texture[0].data.text.shadow_offset_y = i; theme->a_menu_text_disabled-> texture[0].data.text.shadow_offset_x = i; theme->a_menu_text_disabled-> texture[0].data.text.shadow_offset_y = i; - theme->a_menu_text_selected-> + theme->a_menu_text_disabled_selected-> texture[0].data.text.shadow_offset_x = i; - theme->a_menu_text_selected-> + theme->a_menu_text_disabled_selected-> texture[0].data.text.shadow_offset_y = i; } if ((p = strstr(str, "shadowtint="))) @@ -834,13 +857,14 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, theme->menu_text_normal_shadow_alpha = i; theme->menu_text_selected_shadow_alpha = i; theme->menu_text_disabled_shadow_alpha = i; + theme->menu_text_disabled_selected_shadow_alpha = i; } else { theme->menu_text_normal_shadow_color = RrColorNew(inst, 0, 0, 0); theme->menu_text_selected_shadow_color = RrColorNew(inst, 0, 0, 0); theme->menu_text_disabled_shadow_color = RrColorNew(inst, 0, 0, 0); theme->menu_text_normal_shadow_alpha = 50; theme->menu_text_selected_shadow_alpha = 50; - theme->menu_text_disabled_shadow_alpha = 50; + theme->menu_text_disabled_selected_shadow_alpha = 50; } } @@ -856,6 +880,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name, 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_shadow_color; + theme->a_menu_text_disabled_selected->texture[0].data.text.shadow_alpha = + theme->menu_text_disabled_shadow_alpha; theme->a_disabled_focused_max->texture[0].type = theme->a_disabled_unfocused_max->texture[0].type = @@ -1110,8 +1138,9 @@ void RrThemeFree(RrTheme *theme) RrColorFree(theme->titlebut_unfocused_unpressed_color); RrColorFree(theme->menu_title_color); RrColorFree(theme->menu_color); - RrColorFree(theme->menu_disabled_color); RrColorFree(theme->menu_selected_color); + RrColorFree(theme->menu_disabled_color); + RrColorFree(theme->menu_disabled_selected_color); RrColorFree(theme->title_focused_shadow_color); RrColorFree(theme->title_unfocused_shadow_color); RrColorFree(theme->osd_color); @@ -1120,6 +1149,7 @@ void RrThemeFree(RrTheme *theme) 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); @@ -1212,11 +1242,13 @@ void RrThemeFree(RrTheme *theme) RrAppearanceFree(theme->a_menu_title); RrAppearanceFree(theme->a_menu_text_title); RrAppearanceFree(theme->a_menu_normal); - RrAppearanceFree(theme->a_menu_disabled); RrAppearanceFree(theme->a_menu_selected); + RrAppearanceFree(theme->a_menu_disabled); + RrAppearanceFree(theme->a_menu_disabled_selected); RrAppearanceFree(theme->a_menu_text_normal); - RrAppearanceFree(theme->a_menu_text_disabled); RrAppearanceFree(theme->a_menu_text_selected); + RrAppearanceFree(theme->a_menu_text_disabled); + RrAppearanceFree(theme->a_menu_text_disabled_selected); RrAppearanceFree(theme->a_menu_bullet_normal); RrAppearanceFree(theme->a_menu_bullet_selected); RrAppearanceFree(theme->a_clear); diff --git a/render/theme.h b/render/theme.h index 0012336b..44581ddb 100644 --- a/render/theme.h +++ b/render/theme.h @@ -74,8 +74,9 @@ struct _RrTheme { RrColor *titlebut_unfocused_unpressed_color; RrColor *menu_title_color; RrColor *menu_color; - RrColor *menu_disabled_color; RrColor *menu_selected_color; + RrColor *menu_disabled_color; + RrColor *menu_disabled_selected_color; RrColor *title_focused_shadow_color; gchar title_focused_shadow_alpha; RrColor *title_unfocused_shadow_color; @@ -91,6 +92,8 @@ struct _RrTheme { 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 */ @@ -184,10 +187,12 @@ struct _RrTheme { 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; diff --git a/themes/Artwiz-boxed/openbox-3/bullet.xbm b/themes/Artwiz-boxed/openbox-3/bullet.xbm deleted file mode 100644 index 5bab764e..00000000 --- a/themes/Artwiz-boxed/openbox-3/bullet.xbm +++ /dev/null @@ -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 }; diff --git a/themes/Clearlooks-Olive/openbox-3/themerc b/themes/Clearlooks-Olive/openbox-3/themerc index 06daea26..64da87cc 100644 --- a/themes/Clearlooks-Olive/openbox-3/themerc +++ b/themes/Clearlooks-Olive/openbox-3/themerc @@ -13,6 +13,7 @@ menu.items.bg: Flat Solid menu.items.bg.color: #f1eee0 menu.items.text.color: #444444 menu.items.disabled.text.color: #aaaaaa +menu.items.activedisabled.text.color: #969696 menu.items.active.bg: Flat Gradient Vertical Border menu.items.active.bg.color: #b4c994