summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-20 15:25:50 +0000
committerDana Jansens <danakj@orodu.net>2007-05-20 15:25:50 +0000
commitcb7752cd1f48cbb9de4b3fa5062fa44e8d584701 (patch)
treed951785254f642ed704ce749aaf050c65df9f7c3
parent559ab9c9226b5c79c31baf584b15e53a22fc8d00 (diff)
if the theme supplied a max button or desk button then use that for toggled fallback
-rw-r--r--render/theme.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/render/theme.c b/render/theme.c
index cbc71141..97f5e1f5 100644
--- a/render/theme.c
+++ b/render/theme.c
@@ -74,6 +74,7 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
RrJustify winjust, mtitlejust;
gchar *str;
RrTheme *theme;
+ gboolean userdef;
if (name) {
if (!parse_load_theme(name, &ps.doc, &root, &ps.path)) {
@@ -427,13 +428,19 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
/* load the image masks */
/* maximize button masks */
+ userdef = TRUE;
if (!read_mask(&ps, "max.xbm", &theme->max_mask)) {
guchar data[] = { 0x3f, 0x3f, 0x21, 0x21, 0x21, 0x3f };
theme->max_mask = RrPixmapMaskNew(inst, 6, 6, (gchar*)data);
- }
+ userdef = FALSE;
+ }
if (!read_mask(&ps, "max_toggled.xbm", &theme->max_toggled_mask)) {
- guchar data[] = { 0x3e, 0x22, 0x2f, 0x29, 0x39, 0x0f };
- theme->max_toggled_mask = RrPixmapMaskNew(inst, 6, 6,(gchar*)data);
+ if (userdef)
+ theme->max_toggled_mask = RrPixmapMaskCopy(theme->max_mask);
+ else {
+ guchar data[] = { 0x3e, 0x22, 0x2f, 0x29, 0x39, 0x0f };
+ theme->max_toggled_mask = RrPixmapMaskNew(inst, 6, 6,(gchar*)data);
+ }
}
if (!read_mask(&ps, "max_pressed.xbm", &theme->max_pressed_mask))
theme->max_pressed_mask = RrPixmapMaskCopy(theme->max_mask);
@@ -463,13 +470,20 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->iconify_hover_mask = RrPixmapMaskCopy(theme->iconify_mask);
/* all desktops button masks */
+ userdef = TRUE;
if (!read_mask(&ps, "desk.xbm", &theme->desk_mask)) {
guchar data[] = { 0x33, 0x33, 0x00, 0x00, 0x33, 0x33 };
theme->desk_mask = RrPixmapMaskNew(inst, 6, 6, (gchar*)data);
+ userdef = FALSE;
}
if (!read_mask(&ps, "desk_toggled.xbm", &theme->desk_toggled_mask)) {
- guchar data[] = { 0x00, 0x1e, 0x1a, 0x16, 0x1e, 0x00 };
- theme->desk_toggled_mask = RrPixmapMaskNew(inst, 6, 6, (gchar*)data);
+ if (userdef)
+ theme->desk_toggled_mask = RrPixmapMaskCopy(theme->desk_mask);
+ else {
+ guchar data[] = { 0x00, 0x1e, 0x1a, 0x16, 0x1e, 0x00 };
+ theme->desk_toggled_mask =
+ RrPixmapMaskNew(inst, 6, 6, (gchar*)data);
+ }
}
if (!read_mask(&ps, "desk_pressed.xbm", &theme->desk_pressed_mask))
theme->desk_pressed_mask = RrPixmapMaskCopy(theme->desk_mask);