add toggled-pressed and toggled-hover button states to themes. also rename toggled to be toggled-unpressed

This commit is contained in:
Dana Jansens 2007-03-28 03:32:46 +00:00
parent 33cc572402
commit 5fb30e4488
5 changed files with 387 additions and 155 deletions

View file

@ -114,7 +114,9 @@
<xs:element name="pressed" type="obt:buttonarea" minOccurs="0"/> <xs:element name="pressed" type="obt:buttonarea" minOccurs="0"/>
<xs:element name="hover" type="obt:buttonarea" minOccurs="0"/> <xs:element name="hover" type="obt:buttonarea" minOccurs="0"/>
<xs:element name="disabled" type="obt:buttonarea" minOccurs="0"/> <xs:element name="disabled" type="obt:buttonarea" minOccurs="0"/>
<xs:element name="toggled" type="obt:buttonarea" minOccurs="0"/> <xs:element name="toggled-unpressed" type="obt:buttonarea" minOccurs="0"/>
<xs:element name="toggled-pressed" type="obt:buttonarea" minOccurs="0"/>
<xs:element name="toggled-hover" type="obt:buttonarea" minOccurs="0"/>
</xs:all> </xs:all>
</xs:complexType> </xs:complexType>

View file

@ -48,60 +48,76 @@ void framerender_frame(ObFrame *self)
RrAppearance *t, *l, *m, *n, *i, *d, *s, *c; RrAppearance *t, *l, *m, *n, *i, *d, *s, *c;
if (self->focused) { if (self->focused) {
t = self->a_focused_title; t = self->a_focused_title;
l = self->a_focused_label; l = self->a_focused_label;
m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
ob_rr_theme->a_disabled_focused_max :
(self->max_press ?
ob_rr_theme->a_focused_pressed_max :
(self->client->max_vert || self->client->max_horz ?
ob_rr_theme->a_toggled_focused_max :
(self->max_hover ?
ob_rr_theme->a_hover_focused_max :
ob_rr_theme->a_focused_unpressed_max))));
n = self->a_icon;
i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
ob_rr_theme->a_disabled_focused_iconify :
(self->iconify_press ?
ob_rr_theme->a_focused_pressed_iconify :
(self->iconify_hover ?
ob_rr_theme->a_hover_focused_iconify :
ob_rr_theme->a_focused_unpressed_iconify)));
d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
ob_rr_theme->a_disabled_focused_desk :
(self->desk_press ?
ob_rr_theme->a_focused_pressed_desk :
(self->client->desktop == DESKTOP_ALL ?
ob_rr_theme->a_toggled_focused_desk :
(self->desk_hover ?
ob_rr_theme->a_hover_focused_desk :
ob_rr_theme->a_focused_unpressed_desk))));
s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
ob_rr_theme->a_disabled_focused_shade :
(self->shade_press ?
ob_rr_theme->a_focused_pressed_shade :
(self->client->shaded ?
ob_rr_theme->a_toggled_focused_shade :
(self->shade_hover ?
ob_rr_theme->a_hover_focused_shade :
ob_rr_theme->a_focused_unpressed_shade))));
c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
ob_rr_theme->a_disabled_focused_close :
(self->close_press ?
ob_rr_theme->a_focused_pressed_close :
(self->close_hover ?
ob_rr_theme->a_hover_focused_close :
ob_rr_theme->a_focused_unpressed_close)));
} else {
m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
ob_rr_theme->a_disabled_focused_max :
(self->client->max_vert || self->client->max_horz ?
(self->max_press ?
ob_rr_theme->a_toggled_focused_pressed_max :
(self->max_hover ?
ob_rr_theme->a_toggled_hover_focused_max :
ob_rr_theme->a_toggled_focused_unpressed_max)) :
(self->max_press ?
ob_rr_theme->a_focused_pressed_max :
(self->max_hover ?
ob_rr_theme->a_hover_focused_max :
ob_rr_theme->a_focused_unpressed_max))));
n = self->a_icon;
i = (!(self->decorations & OB_FRAME_DECOR_ICONIFY) ?
ob_rr_theme->a_disabled_focused_iconify :
(self->iconify_press ?
ob_rr_theme->a_focused_pressed_iconify :
(self->iconify_hover ?
ob_rr_theme->a_hover_focused_iconify :
ob_rr_theme->a_focused_unpressed_iconify)));
d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
ob_rr_theme->a_disabled_focused_desk :
(self->client->desktop == DESKTOP_ALL ?
(self->desk_press ?
ob_rr_theme->a_toggled_focused_pressed_desk :
(self->desk_hover ?
ob_rr_theme->a_toggled_hover_focused_desk :
ob_rr_theme->a_toggled_focused_unpressed_desk)) :
(self->desk_press ?
ob_rr_theme->a_focused_pressed_desk :
(self->desk_hover ?
ob_rr_theme->a_hover_focused_desk :
ob_rr_theme->a_focused_unpressed_desk))));
s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
ob_rr_theme->a_disabled_focused_shade :
(self->client->shaded ?
(self->shade_press ?
ob_rr_theme->a_toggled_focused_pressed_shade :
(self->shade_hover ?
ob_rr_theme->a_toggled_hover_focused_shade :
ob_rr_theme->a_toggled_focused_unpressed_shade)) :
(self->shade_press ?
ob_rr_theme->a_focused_pressed_shade :
(self->shade_hover ?
ob_rr_theme->a_hover_focused_shade :
ob_rr_theme->a_focused_unpressed_shade))));
c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
ob_rr_theme->a_disabled_focused_close :
(self->close_press ?
ob_rr_theme->a_focused_pressed_close :
(self->close_hover ?
ob_rr_theme->a_hover_focused_close :
ob_rr_theme->a_focused_unpressed_close)));
} else {
t = self->a_unfocused_title; t = self->a_unfocused_title;
l = self->a_unfocused_label; l = self->a_unfocused_label;
m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ? m = (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) ?
ob_rr_theme->a_disabled_unfocused_max : ob_rr_theme->a_disabled_unfocused_max :
(self->max_press ? (self->client->max_vert || self->client->max_horz ?
ob_rr_theme->a_unfocused_pressed_max : (self->max_press ?
(self->client->max_vert || self->client->max_horz ? ob_rr_theme->a_toggled_unfocused_pressed_max :
ob_rr_theme->a_toggled_unfocused_max : (self->max_hover ?
ob_rr_theme->a_toggled_hover_unfocused_max :
ob_rr_theme->a_toggled_unfocused_unpressed_max)) :
(self->max_press ?
ob_rr_theme->a_unfocused_pressed_max :
(self->max_hover ? (self->max_hover ?
ob_rr_theme->a_hover_unfocused_max : ob_rr_theme->a_hover_unfocused_max :
ob_rr_theme->a_unfocused_unpressed_max)))); ob_rr_theme->a_unfocused_unpressed_max))));
@ -115,29 +131,37 @@ void framerender_frame(ObFrame *self)
ob_rr_theme->a_unfocused_unpressed_iconify))); ob_rr_theme->a_unfocused_unpressed_iconify)));
d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ? d = (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) ?
ob_rr_theme->a_disabled_unfocused_desk : ob_rr_theme->a_disabled_unfocused_desk :
(self->desk_press ? (self->client->desktop == DESKTOP_ALL ?
ob_rr_theme->a_unfocused_pressed_desk : (self->desk_press ?
(self->client->desktop == DESKTOP_ALL ? ob_rr_theme->a_toggled_unfocused_pressed_desk :
ob_rr_theme->a_toggled_unfocused_desk : (self->desk_hover ?
ob_rr_theme->a_toggled_hover_unfocused_desk :
ob_rr_theme->a_toggled_unfocused_unpressed_desk)) :
(self->desk_press ?
ob_rr_theme->a_unfocused_pressed_desk :
(self->desk_hover ? (self->desk_hover ?
ob_rr_theme->a_hover_unfocused_desk : ob_rr_theme->a_hover_unfocused_desk :
ob_rr_theme->a_unfocused_unpressed_desk)))); ob_rr_theme->a_unfocused_unpressed_desk))));
s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ? s = (!(self->decorations & OB_FRAME_DECOR_SHADE) ?
ob_rr_theme->a_disabled_unfocused_shade : ob_rr_theme->a_disabled_unfocused_shade :
(self->shade_press ? (self->client->shaded ?
ob_rr_theme->a_unfocused_pressed_shade : (self->shade_press ?
(self->client->shaded ? ob_rr_theme->a_toggled_unfocused_pressed_shade :
ob_rr_theme->a_toggled_unfocused_shade : (self->shade_hover ?
(self->shade_hover ? ob_rr_theme->a_toggled_hover_unfocused_shade :
ob_rr_theme->a_hover_unfocused_shade : ob_rr_theme->a_toggled_unfocused_unpressed_shade)) :
ob_rr_theme->a_unfocused_unpressed_shade)))); (self->shade_press ?
c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ? ob_rr_theme->a_unfocused_pressed_shade :
ob_rr_theme->a_disabled_unfocused_close : (self->shade_hover ?
(self->close_press ? ob_rr_theme->a_hover_unfocused_shade :
ob_rr_theme->a_unfocused_pressed_close : ob_rr_theme->a_unfocused_unpressed_shade))));
(self->close_hover ? c = (!(self->decorations & OB_FRAME_DECOR_CLOSE) ?
ob_rr_theme->a_hover_unfocused_close : ob_rr_theme->a_disabled_unfocused_close :
ob_rr_theme->a_unfocused_unpressed_close))); (self->close_press ?
ob_rr_theme->a_unfocused_pressed_close :
(self->close_hover ?
ob_rr_theme->a_hover_unfocused_close :
ob_rr_theme->a_unfocused_unpressed_close)));
} }
RrPaint(t, self->title, self->width, ob_rr_theme->title_height); RrPaint(t, self->title, self->width, ob_rr_theme->title_height);

View file

@ -95,8 +95,12 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->a_disabled_unfocused_max = RrAppearanceNew(inst, 1); theme->a_disabled_unfocused_max = RrAppearanceNew(inst, 1);
theme->a_hover_focused_max = RrAppearanceNew(inst, 1); theme->a_hover_focused_max = RrAppearanceNew(inst, 1);
theme->a_hover_unfocused_max = RrAppearanceNew(inst, 1); theme->a_hover_unfocused_max = RrAppearanceNew(inst, 1);
theme->a_toggled_focused_max = RrAppearanceNew(inst, 1); theme->a_toggled_focused_pressed_max = RrAppearanceNew(inst, 1);
theme->a_toggled_unfocused_max = RrAppearanceNew(inst, 1); theme->a_toggled_unfocused_pressed_max = RrAppearanceNew(inst, 1);
theme->a_toggled_focused_unpressed_max = RrAppearanceNew(inst, 1);
theme->a_toggled_unfocused_unpressed_max = RrAppearanceNew(inst, 1);
theme->a_toggled_hover_focused_max = RrAppearanceNew(inst, 1);
theme->a_toggled_hover_unfocused_max = RrAppearanceNew(inst, 1);
theme->a_focused_unpressed_max = RrAppearanceNew(inst, 1); theme->a_focused_unpressed_max = RrAppearanceNew(inst, 1);
theme->a_focused_pressed_max = RrAppearanceNew(inst, 1); theme->a_focused_pressed_max = RrAppearanceNew(inst, 1);
theme->a_unfocused_unpressed_max = RrAppearanceNew(inst, 1); theme->a_unfocused_unpressed_max = RrAppearanceNew(inst, 1);
@ -263,20 +267,54 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->titlebut_unfocused_unpressed_color->r, theme->titlebut_unfocused_unpressed_color->r,
theme->titlebut_unfocused_unpressed_color->g, theme->titlebut_unfocused_unpressed_color->g,
theme->titlebut_unfocused_unpressed_color->b); theme->titlebut_unfocused_unpressed_color->b);
if (!FIND(color, L("window","active","buttons","toggled","image"), if (!FIND(color,
&theme->titlebut_toggled_focused_color, NULL)) L("window","active","buttons","toggled-pressed","image"),
theme->titlebut_toggled_focused_color = &theme->titlebut_toggled_focused_pressed_color, NULL))
theme->titlebut_toggled_focused_pressed_color =
RrColorNew(inst, RrColorNew(inst,
theme->titlebut_focused_pressed_color->r, theme->titlebut_focused_pressed_color->r,
theme->titlebut_focused_pressed_color->g, theme->titlebut_focused_pressed_color->g,
theme->titlebut_focused_pressed_color->b); theme->titlebut_focused_pressed_color->b);
if (!FIND(color, L("window","inactive","buttons","toggled","image"), if (!FIND(color,
&theme->titlebut_toggled_unfocused_color, NULL)) L("window","inactive","buttons","toggled-pressed","image"),
theme->titlebut_toggled_unfocused_color = &theme->titlebut_toggled_unfocused_pressed_color, NULL))
theme->titlebut_toggled_unfocused_pressed_color =
RrColorNew(inst, RrColorNew(inst,
theme->titlebut_unfocused_pressed_color->r, theme->titlebut_unfocused_pressed_color->r,
theme->titlebut_unfocused_pressed_color->g, theme->titlebut_unfocused_pressed_color->g,
theme->titlebut_unfocused_pressed_color->b); theme->titlebut_unfocused_pressed_color->b);
if (!FIND(color,
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);
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);
if (!FIND(color,
L("window","active","buttons","toggled-hover","image"),
&theme->titlebut_toggled_hover_focused_color, NULL))
theme->titlebut_toggled_hover_focused_color =
RrColorNew(inst,
theme->titlebut_focused_unpressed_color->r,
theme->titlebut_focused_unpressed_color->g,
theme->titlebut_focused_unpressed_color->b);
if (!FIND(color,
L("window","inactive","buttons","toggled-hover","image"),
&theme->titlebut_toggled_hover_unfocused_color, NULL))
theme->titlebut_toggled_hover_unfocused_color =
RrColorNew(inst,
theme->titlebut_unfocused_unpressed_color->r,
theme->titlebut_unfocused_unpressed_color->g,
theme->titlebut_unfocused_unpressed_color->b);
if (!FIND(color, L("menu","title","text","primary"), if (!FIND(color, L("menu","title","text","primary"),
&theme->menu_title_color, NULL)) &theme->menu_title_color, NULL))
theme->menu_title_color = RrColorNew(inst, 0, 0, 0); theme->menu_title_color = RrColorNew(inst, 0, 0, 0);
@ -351,6 +389,14 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
if (!read_mask(&ps, "max_toggled.xbm", &theme->max_toggled_mask)) if (!read_mask(&ps, "max_toggled.xbm", &theme->max_toggled_mask))
theme->max_toggled_mask = theme->max_toggled_mask =
RrPixmapMaskCopy(theme->max_pressed_mask); RrPixmapMaskCopy(theme->max_pressed_mask);
if (!read_mask(&ps, "max_toggled_pressed.xbm",
&theme->max_toggled_pressed_mask))
theme->max_toggled_pressed_mask =
RrPixmapMaskCopy(theme->max_toggled_mask);
if (!read_mask(&ps, "max_toggled_hover.xbm",
&theme->max_toggled_hover_mask))
theme->max_toggled_hover_mask =
RrPixmapMaskCopy(theme->max_toggled_mask);
if (!read_mask(&ps, "max_disabled.xbm", &theme->max_disabled_mask)) if (!read_mask(&ps, "max_disabled.xbm", &theme->max_disabled_mask))
theme->max_disabled_mask = RrPixmapMaskCopy(theme->max_mask); theme->max_disabled_mask = RrPixmapMaskCopy(theme->max_mask);
if (!read_mask(&ps, "max_hover.xbm", &theme->max_hover_mask)) if (!read_mask(&ps, "max_hover.xbm", &theme->max_hover_mask))
@ -367,6 +413,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->max_pressed_mask = RrPixmapMaskCopy(theme->max_mask); theme->max_pressed_mask = RrPixmapMaskCopy(theme->max_mask);
theme->max_disabled_mask = RrPixmapMaskCopy(theme->max_mask); theme->max_disabled_mask = RrPixmapMaskCopy(theme->max_mask);
theme->max_hover_mask = RrPixmapMaskCopy(theme->max_mask); theme->max_hover_mask = RrPixmapMaskCopy(theme->max_mask);
theme->desk_toggled_pressed_mask =
RrPixmapMaskCopy(theme->desk_toggled_mask);
theme->desk_toggled_hover_mask =
RrPixmapMaskCopy(theme->desk_toggled_mask);
} }
if (read_mask(&ps, "iconify.xbm", &theme->iconify_mask)) { if (read_mask(&ps, "iconify.xbm", &theme->iconify_mask)) {
@ -400,6 +450,14 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
if (!read_mask(&ps, "desk_toggled.xbm", &theme->desk_toggled_mask)) if (!read_mask(&ps, "desk_toggled.xbm", &theme->desk_toggled_mask))
theme->desk_toggled_mask = theme->desk_toggled_mask =
RrPixmapMaskCopy(theme->desk_pressed_mask); RrPixmapMaskCopy(theme->desk_pressed_mask);
if (!read_mask(&ps, "desk_toggled_pressed.xbm",
&theme->desk_toggled_pressed_mask))
theme->desk_toggled_pressed_mask =
RrPixmapMaskCopy(theme->desk_toggled_mask);
if (!read_mask(&ps, "desk_toggled_hover.xbm",
&theme->desk_toggled_hover_mask))
theme->desk_toggled_hover_mask =
RrPixmapMaskCopy(theme->desk_toggled_mask);
if (!read_mask(&ps, "desk_disabled.xbm", &theme->desk_disabled_mask)) if (!read_mask(&ps, "desk_disabled.xbm", &theme->desk_disabled_mask))
theme->desk_disabled_mask = RrPixmapMaskCopy(theme->desk_mask); theme->desk_disabled_mask = RrPixmapMaskCopy(theme->desk_mask);
if (!read_mask(&ps, "desk_hover.xbm", &theme->desk_hover_mask)) if (!read_mask(&ps, "desk_hover.xbm", &theme->desk_hover_mask))
@ -417,6 +475,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->desk_pressed_mask = RrPixmapMaskCopy(theme->desk_mask); theme->desk_pressed_mask = RrPixmapMaskCopy(theme->desk_mask);
theme->desk_disabled_mask = RrPixmapMaskCopy(theme->desk_mask); theme->desk_disabled_mask = RrPixmapMaskCopy(theme->desk_mask);
theme->desk_hover_mask = RrPixmapMaskCopy(theme->desk_mask); theme->desk_hover_mask = RrPixmapMaskCopy(theme->desk_mask);
theme->desk_toggled_pressed_mask =
RrPixmapMaskCopy(theme->desk_toggled_mask);
theme->desk_toggled_hover_mask =
RrPixmapMaskCopy(theme->desk_toggled_mask);
} }
if (read_mask(&ps, "shade.xbm", &theme->shade_mask)) { if (read_mask(&ps, "shade.xbm", &theme->shade_mask)) {
@ -425,6 +487,14 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
if (!read_mask(&ps, "shade_toggled.xbm", &theme->shade_toggled_mask)) if (!read_mask(&ps, "shade_toggled.xbm", &theme->shade_toggled_mask))
theme->shade_toggled_mask = theme->shade_toggled_mask =
RrPixmapMaskCopy(theme->shade_pressed_mask); RrPixmapMaskCopy(theme->shade_pressed_mask);
if (!read_mask(&ps, "shade_toggled_pressed.xbm",
&theme->shade_toggled_pressed_mask))
theme->shade_toggled_pressed_mask =
RrPixmapMaskCopy(theme->shade_toggled_mask);
if (!read_mask(&ps, "shade_toggled_hover.xbm",
&theme->shade_toggled_hover_mask))
theme->shade_toggled_hover_mask =
RrPixmapMaskCopy(theme->shade_toggled_mask);
if (!read_mask(&ps, "shade_disabled.xbm", &theme->shade_disabled_mask)) if (!read_mask(&ps, "shade_disabled.xbm", &theme->shade_disabled_mask))
theme->shade_disabled_mask = RrPixmapMaskCopy(theme->shade_mask); theme->shade_disabled_mask = RrPixmapMaskCopy(theme->shade_mask);
if (!read_mask(&ps, "shade_hover.xbm", &theme->shade_hover_mask)) if (!read_mask(&ps, "shade_hover.xbm", &theme->shade_hover_mask))
@ -442,6 +512,10 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->shade_pressed_mask = RrPixmapMaskCopy(theme->shade_mask); theme->shade_pressed_mask = RrPixmapMaskCopy(theme->shade_mask);
theme->shade_disabled_mask = RrPixmapMaskCopy(theme->shade_mask); theme->shade_disabled_mask = RrPixmapMaskCopy(theme->shade_mask);
theme->shade_hover_mask = RrPixmapMaskCopy(theme->shade_mask); theme->shade_hover_mask = RrPixmapMaskCopy(theme->shade_mask);
theme->shade_toggled_pressed_mask =
RrPixmapMaskCopy(theme->shade_toggled_mask);
theme->shade_toggled_hover_mask =
RrPixmapMaskCopy(theme->shade_toggled_mask);
} }
if (read_mask(&ps, "close.xbm", &theme->close_mask)) { if (read_mask(&ps, "close.xbm", &theme->close_mask)) {
@ -523,20 +597,6 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
if (!FIND(appearance, L("window","inactive","buttons","pressed"), if (!FIND(appearance, L("window","inactive","buttons","pressed"),
theme->a_unfocused_pressed_max, TRUE)) theme->a_unfocused_pressed_max, TRUE))
set_default_appearance(theme->a_unfocused_pressed_max); set_default_appearance(theme->a_unfocused_pressed_max);
if (!FIND(appearance, L("window","active","buttons","toggled"),
theme->a_toggled_focused_max, TRUE))
{
RrAppearanceFree(theme->a_toggled_focused_max);
theme->a_toggled_focused_max =
RrAppearanceCopy(theme->a_focused_pressed_max);
}
if (!FIND(appearance, L("window","inactive","buttons","toggled"),
theme->a_toggled_unfocused_max, TRUE))
{
RrAppearanceFree(theme->a_toggled_unfocused_max);
theme->a_toggled_unfocused_max =
RrAppearanceCopy(theme->a_unfocused_pressed_max);
}
if (!FIND(appearance, L("window","active","buttons","unpressed"), if (!FIND(appearance, L("window","active","buttons","unpressed"),
theme->a_focused_unpressed_max, TRUE)) theme->a_focused_unpressed_max, TRUE))
set_default_appearance(theme->a_focused_unpressed_max); set_default_appearance(theme->a_focused_unpressed_max);
@ -557,6 +617,48 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->a_hover_unfocused_max = theme->a_hover_unfocused_max =
RrAppearanceCopy(theme->a_unfocused_unpressed_max); RrAppearanceCopy(theme->a_unfocused_unpressed_max);
} }
if (!FIND(appearance, L("window","active","buttons","toggled-pressed"),
theme->a_toggled_focused_pressed_max, TRUE))
{
RrAppearanceFree(theme->a_toggled_focused_pressed_max);
theme->a_toggled_focused_pressed_max =
RrAppearanceCopy(theme->a_focused_pressed_max);
}
if (!FIND(appearance, L("window","inactive","buttons","toggled-pressed"),
theme->a_toggled_unfocused_pressed_max, TRUE))
{
RrAppearanceFree(theme->a_toggled_unfocused_pressed_max);
theme->a_toggled_unfocused_pressed_max =
RrAppearanceCopy(theme->a_unfocused_pressed_max);
}
if (!FIND(appearance, L("window","active","buttons","toggled-unpressed"),
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);
}
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);
}
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_focused_unpressed_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_unfocused_unpressed_max);
}
theme->a_disabled_focused_close = theme->a_disabled_focused_close =
RrAppearanceCopy(theme->a_disabled_focused_max); RrAppearanceCopy(theme->a_disabled_focused_max);
@ -582,10 +684,18 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
RrAppearanceCopy(theme->a_hover_focused_max); RrAppearanceCopy(theme->a_hover_focused_max);
theme->a_hover_unfocused_desk = theme->a_hover_unfocused_desk =
RrAppearanceCopy(theme->a_hover_unfocused_max); RrAppearanceCopy(theme->a_hover_unfocused_max);
theme->a_toggled_focused_desk = theme->a_toggled_focused_pressed_desk =
RrAppearanceCopy(theme->a_toggled_focused_max); RrAppearanceCopy(theme->a_toggled_focused_pressed_max);
theme->a_toggled_unfocused_desk = theme->a_toggled_unfocused_pressed_desk =
RrAppearanceCopy(theme->a_toggled_unfocused_max); RrAppearanceCopy(theme->a_toggled_unfocused_pressed_max);
theme->a_toggled_focused_unpressed_desk =
RrAppearanceCopy(theme->a_toggled_focused_unpressed_max);
theme->a_toggled_unfocused_unpressed_desk =
RrAppearanceCopy(theme->a_toggled_unfocused_unpressed_max);
theme->a_toggled_hover_focused_desk =
RrAppearanceCopy(theme->a_toggled_hover_focused_max);
theme->a_toggled_hover_unfocused_desk =
RrAppearanceCopy(theme->a_toggled_hover_unfocused_max);
theme->a_unfocused_unpressed_desk = theme->a_unfocused_unpressed_desk =
RrAppearanceCopy(theme->a_unfocused_unpressed_max); RrAppearanceCopy(theme->a_unfocused_unpressed_max);
theme->a_unfocused_pressed_desk = theme->a_unfocused_pressed_desk =
@ -602,10 +712,18 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
RrAppearanceCopy(theme->a_hover_focused_max); RrAppearanceCopy(theme->a_hover_focused_max);
theme->a_hover_unfocused_shade = theme->a_hover_unfocused_shade =
RrAppearanceCopy(theme->a_hover_unfocused_max); RrAppearanceCopy(theme->a_hover_unfocused_max);
theme->a_toggled_focused_shade = theme->a_toggled_focused_pressed_shade =
RrAppearanceCopy(theme->a_toggled_focused_max); RrAppearanceCopy(theme->a_toggled_focused_pressed_max);
theme->a_toggled_unfocused_shade = theme->a_toggled_unfocused_pressed_shade =
RrAppearanceCopy(theme->a_toggled_unfocused_max); RrAppearanceCopy(theme->a_toggled_unfocused_pressed_max);
theme->a_toggled_focused_unpressed_shade =
RrAppearanceCopy(theme->a_toggled_focused_unpressed_max);
theme->a_toggled_unfocused_unpressed_shade =
RrAppearanceCopy(theme->a_toggled_unfocused_unpressed_max);
theme->a_toggled_hover_focused_shade =
RrAppearanceCopy(theme->a_toggled_hover_focused_max);
theme->a_toggled_hover_unfocused_shade =
RrAppearanceCopy(theme->a_toggled_hover_unfocused_max);
theme->a_unfocused_unpressed_shade = theme->a_unfocused_unpressed_shade =
RrAppearanceCopy(theme->a_unfocused_unpressed_max); RrAppearanceCopy(theme->a_unfocused_unpressed_max);
theme->a_unfocused_pressed_shade = theme->a_unfocused_pressed_shade =
@ -756,8 +874,12 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->a_disabled_unfocused_max->texture[0].type = theme->a_disabled_unfocused_max->texture[0].type =
theme->a_hover_focused_max->texture[0].type = theme->a_hover_focused_max->texture[0].type =
theme->a_hover_unfocused_max->texture[0].type = theme->a_hover_unfocused_max->texture[0].type =
theme->a_toggled_focused_max->texture[0].type = theme->a_toggled_focused_pressed_max->texture[0].type =
theme->a_toggled_unfocused_max->texture[0].type = theme->a_toggled_unfocused_pressed_max->texture[0].type =
theme->a_toggled_focused_unpressed_max->texture[0].type =
theme->a_toggled_unfocused_unpressed_max->texture[0].type =
theme->a_toggled_hover_focused_max->texture[0].type =
theme->a_toggled_hover_unfocused_max->texture[0].type =
theme->a_focused_unpressed_max->texture[0].type = theme->a_focused_unpressed_max->texture[0].type =
theme->a_focused_pressed_max->texture[0].type = theme->a_focused_pressed_max->texture[0].type =
theme->a_unfocused_unpressed_max->texture[0].type = theme->a_unfocused_unpressed_max->texture[0].type =
@ -774,8 +896,12 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->a_disabled_unfocused_desk->texture[0].type = theme->a_disabled_unfocused_desk->texture[0].type =
theme->a_hover_focused_desk->texture[0].type = theme->a_hover_focused_desk->texture[0].type =
theme->a_hover_unfocused_desk->texture[0].type = theme->a_hover_unfocused_desk->texture[0].type =
theme->a_toggled_focused_desk->texture[0].type = theme->a_toggled_focused_pressed_desk->texture[0].type =
theme->a_toggled_unfocused_desk->texture[0].type = theme->a_toggled_unfocused_pressed_desk->texture[0].type =
theme->a_toggled_focused_unpressed_desk->texture[0].type =
theme->a_toggled_unfocused_unpressed_desk->texture[0].type =
theme->a_toggled_hover_focused_desk->texture[0].type =
theme->a_toggled_hover_unfocused_desk->texture[0].type =
theme->a_focused_unpressed_desk->texture[0].type = theme->a_focused_unpressed_desk->texture[0].type =
theme->a_focused_pressed_desk->texture[0].type = theme->a_focused_pressed_desk->texture[0].type =
theme->a_unfocused_unpressed_desk->texture[0].type = theme->a_unfocused_unpressed_desk->texture[0].type =
@ -784,8 +910,12 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->a_disabled_unfocused_shade->texture[0].type = theme->a_disabled_unfocused_shade->texture[0].type =
theme->a_hover_focused_shade->texture[0].type = theme->a_hover_focused_shade->texture[0].type =
theme->a_hover_unfocused_shade->texture[0].type = theme->a_hover_unfocused_shade->texture[0].type =
theme->a_toggled_focused_shade->texture[0].type = theme->a_toggled_focused_pressed_shade->texture[0].type =
theme->a_toggled_unfocused_shade->texture[0].type = theme->a_toggled_unfocused_pressed_shade->texture[0].type =
theme->a_toggled_focused_unpressed_shade->texture[0].type =
theme->a_toggled_unfocused_unpressed_shade->texture[0].type =
theme->a_toggled_hover_focused_shade->texture[0].type =
theme->a_toggled_hover_unfocused_shade->texture[0].type =
theme->a_focused_unpressed_shade->texture[0].type = theme->a_focused_unpressed_shade->texture[0].type =
theme->a_focused_pressed_shade->texture[0].type = theme->a_focused_pressed_shade->texture[0].type =
theme->a_unfocused_unpressed_shade->texture[0].type = theme->a_unfocused_unpressed_shade->texture[0].type =
@ -813,9 +943,15 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->a_focused_unpressed_max->texture[0].data.mask.mask = theme->a_focused_unpressed_max->texture[0].data.mask.mask =
theme->a_unfocused_unpressed_max->texture[0].data.mask.mask = theme->a_unfocused_unpressed_max->texture[0].data.mask.mask =
theme->max_mask; theme->max_mask;
theme->a_toggled_focused_max->texture[0].data.mask.mask = theme->a_toggled_focused_pressed_max->texture[0].data.mask.mask =
theme->a_toggled_unfocused_max->texture[0].data.mask.mask = theme->a_toggled_unfocused_pressed_max->texture[0].data.mask.mask =
theme->max_toggled_pressed_mask;
theme->a_toggled_focused_unpressed_max->texture[0].data.mask.mask =
theme->a_toggled_unfocused_unpressed_max->texture[0].data.mask.mask =
theme->max_toggled_mask; theme->max_toggled_mask;
theme->a_toggled_hover_focused_max->texture[0].data.mask.mask =
theme->a_toggled_hover_unfocused_max->texture[0].data.mask.mask =
theme->max_toggled_hover_mask;
theme->a_disabled_focused_close->texture[0].data.mask.mask = theme->a_disabled_focused_close->texture[0].data.mask.mask =
theme->a_disabled_unfocused_close->texture[0].data.mask.mask = theme->a_disabled_unfocused_close->texture[0].data.mask.mask =
theme->close_disabled_mask; theme->close_disabled_mask;
@ -840,9 +976,15 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->a_focused_unpressed_desk->texture[0].data.mask.mask = theme->a_focused_unpressed_desk->texture[0].data.mask.mask =
theme->a_unfocused_unpressed_desk->texture[0].data.mask.mask = theme->a_unfocused_unpressed_desk->texture[0].data.mask.mask =
theme->desk_mask; theme->desk_mask;
theme->a_toggled_focused_desk->texture[0].data.mask.mask = theme->a_toggled_focused_pressed_desk->texture[0].data.mask.mask =
theme->a_toggled_unfocused_desk->texture[0].data.mask.mask = theme->a_toggled_unfocused_pressed_desk->texture[0].data.mask.mask =
theme->desk_toggled_pressed_mask;
theme->a_toggled_focused_unpressed_desk->texture[0].data.mask.mask =
theme->a_toggled_unfocused_unpressed_desk->texture[0].data.mask.mask =
theme->desk_toggled_mask; theme->desk_toggled_mask;
theme->a_toggled_hover_focused_desk->texture[0].data.mask.mask =
theme->a_toggled_hover_unfocused_desk->texture[0].data.mask.mask =
theme->desk_toggled_hover_mask;
theme->a_disabled_focused_shade->texture[0].data.mask.mask = theme->a_disabled_focused_shade->texture[0].data.mask.mask =
theme->a_disabled_unfocused_shade->texture[0].data.mask.mask = theme->a_disabled_unfocused_shade->texture[0].data.mask.mask =
theme->shade_disabled_mask; theme->shade_disabled_mask;
@ -855,9 +997,15 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->a_focused_unpressed_shade->texture[0].data.mask.mask = theme->a_focused_unpressed_shade->texture[0].data.mask.mask =
theme->a_unfocused_unpressed_shade->texture[0].data.mask.mask = theme->a_unfocused_unpressed_shade->texture[0].data.mask.mask =
theme->shade_mask; theme->shade_mask;
theme->a_toggled_focused_shade->texture[0].data.mask.mask = theme->a_toggled_focused_pressed_shade->texture[0].data.mask.mask =
theme->a_toggled_unfocused_shade->texture[0].data.mask.mask = theme->a_toggled_unfocused_pressed_shade->texture[0].data.mask.mask =
theme->shade_toggled_pressed_mask;
theme->a_toggled_focused_unpressed_shade->texture[0].data.mask.mask =
theme->a_toggled_unfocused_unpressed_shade->texture[0].data.mask.mask =
theme->shade_toggled_mask; theme->shade_toggled_mask;
theme->a_toggled_hover_focused_shade->texture[0].data.mask.mask =
theme->a_toggled_hover_unfocused_shade->texture[0].data.mask.mask =
theme->shade_toggled_hover_mask;
theme->a_disabled_focused_iconify->texture[0].data.mask.mask = theme->a_disabled_focused_iconify->texture[0].data.mask.mask =
theme->a_disabled_unfocused_iconify->texture[0].data.mask.mask = theme->a_disabled_unfocused_iconify->texture[0].data.mask.mask =
theme->iconify_disabled_mask; theme->iconify_disabled_mask;
@ -897,14 +1045,32 @@ RrTheme* RrThemeNew(const RrInstance *inst, gchar *name,
theme->a_hover_unfocused_shade->texture[0].data.mask.color = theme->a_hover_unfocused_shade->texture[0].data.mask.color =
theme->a_hover_unfocused_iconify->texture[0].data.mask.color = theme->a_hover_unfocused_iconify->texture[0].data.mask.color =
theme->titlebut_hover_unfocused_color; theme->titlebut_hover_unfocused_color;
theme->a_toggled_focused_max->texture[0].data.mask.color = theme->a_toggled_hover_focused_max->texture[0].data.mask.color =
theme->a_toggled_focused_desk->texture[0].data.mask.color = theme->a_toggled_hover_focused_desk->texture[0].data.mask.color =
theme->a_toggled_focused_shade->texture[0].data.mask.color = theme->a_toggled_hover_focused_shade->texture[0].data.mask.color =
theme->titlebut_toggled_focused_color; theme->titlebut_toggled_hover_focused_color;
theme->a_toggled_unfocused_max->texture[0].data.mask.color = theme->a_toggled_hover_unfocused_max->texture[0].data.mask.color =
theme->a_toggled_unfocused_desk->texture[0].data.mask.color = theme->a_toggled_hover_unfocused_desk->texture[0].data.mask.color =
theme->a_toggled_unfocused_shade->texture[0].data.mask.color = theme->a_toggled_hover_unfocused_shade->texture[0].data.mask.color =
theme->titlebut_toggled_unfocused_color; theme->titlebut_toggled_hover_unfocused_color;
theme->a_toggled_focused_pressed_max->texture[0].data.mask.color =
theme->a_toggled_focused_pressed_desk->texture[0].data.mask.color =
theme->a_toggled_focused_pressed_shade->texture[0].data.mask.color =
theme->titlebut_toggled_focused_pressed_color;
theme->a_toggled_unfocused_pressed_max->texture[0].data.mask.color =
theme->a_toggled_unfocused_pressed_desk->texture[0].data.mask.color =
theme->a_toggled_unfocused_pressed_shade->texture[0].data.mask.color =
theme->titlebut_toggled_unfocused_pressed_color;
theme->a_toggled_focused_unpressed_max->texture[0].data.mask.color =
theme->a_toggled_focused_unpressed_desk->texture[0].data.mask.color =
theme->a_toggled_focused_unpressed_shade->texture[0].data.mask.color =
theme->titlebut_toggled_focused_unpressed_color;
theme->a_toggled_unfocused_unpressed_max->texture[0].data.mask.color =
theme->a_toggled_unfocused_unpressed_desk->
texture[0].data.mask.color =
theme->a_toggled_unfocused_unpressed_shade->
texture[0].data.mask.color =
theme->titlebut_toggled_unfocused_unpressed_color;
theme->a_focused_unpressed_max->texture[0].data.mask.color = theme->a_focused_unpressed_max->texture[0].data.mask.color =
theme->a_focused_unpressed_close->texture[0].data.mask.color = theme->a_focused_unpressed_close->texture[0].data.mask.color =
theme->a_focused_unpressed_desk->texture[0].data.mask.color = theme->a_focused_unpressed_desk->texture[0].data.mask.color =
@ -1004,12 +1170,16 @@ void RrThemeFree(RrTheme *theme)
RrColorFree(theme->titlebut_disabled_unfocused_color); RrColorFree(theme->titlebut_disabled_unfocused_color);
RrColorFree(theme->titlebut_hover_focused_color); RrColorFree(theme->titlebut_hover_focused_color);
RrColorFree(theme->titlebut_hover_unfocused_color); RrColorFree(theme->titlebut_hover_unfocused_color);
RrColorFree(theme->titlebut_toggled_focused_color);
RrColorFree(theme->titlebut_toggled_unfocused_color);
RrColorFree(theme->titlebut_focused_pressed_color); RrColorFree(theme->titlebut_focused_pressed_color);
RrColorFree(theme->titlebut_unfocused_pressed_color); RrColorFree(theme->titlebut_unfocused_pressed_color);
RrColorFree(theme->titlebut_focused_unpressed_color); RrColorFree(theme->titlebut_focused_unpressed_color);
RrColorFree(theme->titlebut_unfocused_unpressed_color); RrColorFree(theme->titlebut_unfocused_unpressed_color);
RrColorFree(theme->titlebut_toggled_hover_focused_color);
RrColorFree(theme->titlebut_toggled_hover_unfocused_color);
RrColorFree(theme->titlebut_toggled_focused_pressed_color);
RrColorFree(theme->titlebut_toggled_unfocused_pressed_color);
RrColorFree(theme->titlebut_toggled_focused_unpressed_color);
RrColorFree(theme->titlebut_toggled_unfocused_unpressed_color);
RrColorFree(theme->menu_title_color); RrColorFree(theme->menu_title_color);
RrColorFree(theme->menu_color); RrColorFree(theme->menu_color);
RrColorFree(theme->menu_disabled_color); RrColorFree(theme->menu_disabled_color);
@ -1059,12 +1229,16 @@ void RrThemeFree(RrTheme *theme)
RrAppearanceFree(theme->a_disabled_unfocused_max); RrAppearanceFree(theme->a_disabled_unfocused_max);
RrAppearanceFree(theme->a_hover_focused_max); RrAppearanceFree(theme->a_hover_focused_max);
RrAppearanceFree(theme->a_hover_unfocused_max); RrAppearanceFree(theme->a_hover_unfocused_max);
RrAppearanceFree(theme->a_toggled_focused_max);
RrAppearanceFree(theme->a_toggled_unfocused_max);
RrAppearanceFree(theme->a_focused_unpressed_max); RrAppearanceFree(theme->a_focused_unpressed_max);
RrAppearanceFree(theme->a_focused_pressed_max); RrAppearanceFree(theme->a_focused_pressed_max);
RrAppearanceFree(theme->a_unfocused_unpressed_max); RrAppearanceFree(theme->a_unfocused_unpressed_max);
RrAppearanceFree(theme->a_unfocused_pressed_max); RrAppearanceFree(theme->a_unfocused_pressed_max);
RrAppearanceFree(theme->a_toggled_hover_focused_max);
RrAppearanceFree(theme->a_toggled_hover_unfocused_max);
RrAppearanceFree(theme->a_toggled_focused_unpressed_max);
RrAppearanceFree(theme->a_toggled_focused_pressed_max);
RrAppearanceFree(theme->a_toggled_unfocused_unpressed_max);
RrAppearanceFree(theme->a_toggled_unfocused_pressed_max);
RrAppearanceFree(theme->a_disabled_focused_close); RrAppearanceFree(theme->a_disabled_focused_close);
RrAppearanceFree(theme->a_disabled_unfocused_close); RrAppearanceFree(theme->a_disabled_unfocused_close);
RrAppearanceFree(theme->a_hover_focused_close); RrAppearanceFree(theme->a_hover_focused_close);
@ -1077,22 +1251,30 @@ void RrThemeFree(RrTheme *theme)
RrAppearanceFree(theme->a_disabled_unfocused_desk); RrAppearanceFree(theme->a_disabled_unfocused_desk);
RrAppearanceFree(theme->a_hover_focused_desk); RrAppearanceFree(theme->a_hover_focused_desk);
RrAppearanceFree(theme->a_hover_unfocused_desk); RrAppearanceFree(theme->a_hover_unfocused_desk);
RrAppearanceFree(theme->a_toggled_focused_desk);
RrAppearanceFree(theme->a_toggled_unfocused_desk);
RrAppearanceFree(theme->a_focused_unpressed_desk); RrAppearanceFree(theme->a_focused_unpressed_desk);
RrAppearanceFree(theme->a_focused_pressed_desk); RrAppearanceFree(theme->a_focused_pressed_desk);
RrAppearanceFree(theme->a_unfocused_unpressed_desk); RrAppearanceFree(theme->a_unfocused_unpressed_desk);
RrAppearanceFree(theme->a_unfocused_pressed_desk); RrAppearanceFree(theme->a_unfocused_pressed_desk);
RrAppearanceFree(theme->a_toggled_hover_focused_desk);
RrAppearanceFree(theme->a_toggled_hover_unfocused_desk);
RrAppearanceFree(theme->a_toggled_focused_unpressed_desk);
RrAppearanceFree(theme->a_toggled_focused_pressed_desk);
RrAppearanceFree(theme->a_toggled_unfocused_unpressed_desk);
RrAppearanceFree(theme->a_toggled_unfocused_pressed_desk);
RrAppearanceFree(theme->a_disabled_focused_shade); RrAppearanceFree(theme->a_disabled_focused_shade);
RrAppearanceFree(theme->a_disabled_unfocused_shade); RrAppearanceFree(theme->a_disabled_unfocused_shade);
RrAppearanceFree(theme->a_hover_focused_shade); RrAppearanceFree(theme->a_hover_focused_shade);
RrAppearanceFree(theme->a_hover_unfocused_shade); RrAppearanceFree(theme->a_hover_unfocused_shade);
RrAppearanceFree(theme->a_toggled_focused_shade);
RrAppearanceFree(theme->a_toggled_unfocused_shade);
RrAppearanceFree(theme->a_focused_unpressed_shade); RrAppearanceFree(theme->a_focused_unpressed_shade);
RrAppearanceFree(theme->a_focused_pressed_shade); RrAppearanceFree(theme->a_focused_pressed_shade);
RrAppearanceFree(theme->a_unfocused_unpressed_shade); RrAppearanceFree(theme->a_unfocused_unpressed_shade);
RrAppearanceFree(theme->a_unfocused_pressed_shade); RrAppearanceFree(theme->a_unfocused_pressed_shade);
RrAppearanceFree(theme->a_toggled_hover_focused_shade);
RrAppearanceFree(theme->a_toggled_hover_unfocused_shade);
RrAppearanceFree(theme->a_toggled_focused_unpressed_shade);
RrAppearanceFree(theme->a_toggled_focused_pressed_shade);
RrAppearanceFree(theme->a_toggled_unfocused_unpressed_shade);
RrAppearanceFree(theme->a_toggled_unfocused_pressed_shade);
RrAppearanceFree(theme->a_disabled_focused_iconify); RrAppearanceFree(theme->a_disabled_focused_iconify);
RrAppearanceFree(theme->a_disabled_unfocused_iconify); RrAppearanceFree(theme->a_disabled_unfocused_iconify);
RrAppearanceFree(theme->a_hover_focused_iconify); RrAppearanceFree(theme->a_hover_focused_iconify);

View file

@ -65,8 +65,12 @@ struct _RrTheme {
RrColor *titlebut_disabled_unfocused_color; RrColor *titlebut_disabled_unfocused_color;
RrColor *titlebut_hover_focused_color; RrColor *titlebut_hover_focused_color;
RrColor *titlebut_hover_unfocused_color; RrColor *titlebut_hover_unfocused_color;
RrColor *titlebut_toggled_focused_color; RrColor *titlebut_toggled_hover_focused_color;
RrColor *titlebut_toggled_unfocused_color; RrColor *titlebut_toggled_hover_unfocused_color;
RrColor *titlebut_toggled_focused_pressed_color;
RrColor *titlebut_toggled_unfocused_pressed_color;
RrColor *titlebut_toggled_focused_unpressed_color;
RrColor *titlebut_toggled_unfocused_unpressed_color;
RrColor *titlebut_focused_pressed_color; RrColor *titlebut_focused_pressed_color;
RrColor *titlebut_unfocused_pressed_color; RrColor *titlebut_unfocused_pressed_color;
RrColor *titlebut_focused_unpressed_color; RrColor *titlebut_focused_unpressed_color;
@ -96,24 +100,30 @@ struct _RrTheme {
/* style settings - masks */ /* style settings - masks */
RrPixmapMask *max_mask; RrPixmapMask *max_mask;
RrPixmapMask *max_toggled_mask;
RrPixmapMask *max_hover_mask; RrPixmapMask *max_hover_mask;
RrPixmapMask *max_disabled_mask;
RrPixmapMask *max_pressed_mask; RrPixmapMask *max_pressed_mask;
RrPixmapMask *max_toggled_mask;
RrPixmapMask *max_toggled_hover_mask;
RrPixmapMask *max_toggled_pressed_mask;
RrPixmapMask *max_disabled_mask;
RrPixmapMask *iconify_mask; RrPixmapMask *iconify_mask;
RrPixmapMask *iconify_hover_mask; RrPixmapMask *iconify_hover_mask;
RrPixmapMask *iconify_disabled_mask;
RrPixmapMask *iconify_pressed_mask; RrPixmapMask *iconify_pressed_mask;
RrPixmapMask *iconify_disabled_mask;
RrPixmapMask *desk_mask; RrPixmapMask *desk_mask;
RrPixmapMask *desk_toggled_mask;
RrPixmapMask *desk_hover_mask; RrPixmapMask *desk_hover_mask;
RrPixmapMask *desk_disabled_mask;
RrPixmapMask *desk_pressed_mask; RrPixmapMask *desk_pressed_mask;
RrPixmapMask *desk_toggled_mask;
RrPixmapMask *desk_toggled_hover_mask;
RrPixmapMask *desk_toggled_pressed_mask;
RrPixmapMask *desk_disabled_mask;
RrPixmapMask *shade_mask; RrPixmapMask *shade_mask;
RrPixmapMask *shade_toggled_mask;
RrPixmapMask *shade_hover_mask; RrPixmapMask *shade_hover_mask;
RrPixmapMask *shade_disabled_mask;
RrPixmapMask *shade_pressed_mask; RrPixmapMask *shade_pressed_mask;
RrPixmapMask *shade_toggled_mask;
RrPixmapMask *shade_toggled_hover_mask;
RrPixmapMask *shade_toggled_pressed_mask;
RrPixmapMask *shade_disabled_mask;
RrPixmapMask *close_mask; RrPixmapMask *close_mask;
RrPixmapMask *close_hover_mask; RrPixmapMask *close_hover_mask;
RrPixmapMask *close_disabled_mask; RrPixmapMask *close_disabled_mask;
@ -127,12 +137,16 @@ struct _RrTheme {
RrAppearance *a_disabled_unfocused_max; RrAppearance *a_disabled_unfocused_max;
RrAppearance *a_hover_focused_max; RrAppearance *a_hover_focused_max;
RrAppearance *a_hover_unfocused_max; RrAppearance *a_hover_unfocused_max;
RrAppearance *a_toggled_focused_max;
RrAppearance *a_toggled_unfocused_max;
RrAppearance *a_focused_unpressed_max; RrAppearance *a_focused_unpressed_max;
RrAppearance *a_focused_pressed_max; RrAppearance *a_focused_pressed_max;
RrAppearance *a_unfocused_unpressed_max; RrAppearance *a_unfocused_unpressed_max;
RrAppearance *a_unfocused_pressed_max; RrAppearance *a_unfocused_pressed_max;
RrAppearance *a_toggled_hover_focused_max;
RrAppearance *a_toggled_hover_unfocused_max;
RrAppearance *a_toggled_focused_unpressed_max;
RrAppearance *a_toggled_focused_pressed_max;
RrAppearance *a_toggled_unfocused_unpressed_max;
RrAppearance *a_toggled_unfocused_pressed_max;
RrAppearance *a_disabled_focused_close; RrAppearance *a_disabled_focused_close;
RrAppearance *a_disabled_unfocused_close; RrAppearance *a_disabled_unfocused_close;
RrAppearance *a_hover_focused_close; RrAppearance *a_hover_focused_close;
@ -145,22 +159,30 @@ struct _RrTheme {
RrAppearance *a_disabled_unfocused_desk; RrAppearance *a_disabled_unfocused_desk;
RrAppearance *a_hover_focused_desk; RrAppearance *a_hover_focused_desk;
RrAppearance *a_hover_unfocused_desk; RrAppearance *a_hover_unfocused_desk;
RrAppearance *a_toggled_focused_desk;
RrAppearance *a_toggled_unfocused_desk;
RrAppearance *a_focused_unpressed_desk; RrAppearance *a_focused_unpressed_desk;
RrAppearance *a_focused_pressed_desk; RrAppearance *a_focused_pressed_desk;
RrAppearance *a_unfocused_unpressed_desk; RrAppearance *a_unfocused_unpressed_desk;
RrAppearance *a_unfocused_pressed_desk; RrAppearance *a_unfocused_pressed_desk;
RrAppearance *a_toggled_hover_focused_desk;
RrAppearance *a_toggled_hover_unfocused_desk;
RrAppearance *a_toggled_focused_unpressed_desk;
RrAppearance *a_toggled_focused_pressed_desk;
RrAppearance *a_toggled_unfocused_unpressed_desk;
RrAppearance *a_toggled_unfocused_pressed_desk;
RrAppearance *a_disabled_focused_shade; RrAppearance *a_disabled_focused_shade;
RrAppearance *a_disabled_unfocused_shade; RrAppearance *a_disabled_unfocused_shade;
RrAppearance *a_hover_focused_shade; RrAppearance *a_hover_focused_shade;
RrAppearance *a_hover_unfocused_shade; RrAppearance *a_hover_unfocused_shade;
RrAppearance *a_toggled_focused_shade;
RrAppearance *a_toggled_unfocused_shade;
RrAppearance *a_focused_unpressed_shade; RrAppearance *a_focused_unpressed_shade;
RrAppearance *a_focused_pressed_shade; RrAppearance *a_focused_pressed_shade;
RrAppearance *a_unfocused_unpressed_shade; RrAppearance *a_unfocused_unpressed_shade;
RrAppearance *a_unfocused_pressed_shade; RrAppearance *a_unfocused_pressed_shade;
RrAppearance *a_toggled_hover_focused_shade;
RrAppearance *a_toggled_hover_unfocused_shade;
RrAppearance *a_toggled_focused_unpressed_shade;
RrAppearance *a_toggled_focused_pressed_shade;
RrAppearance *a_toggled_unfocused_unpressed_shade;
RrAppearance *a_toggled_unfocused_pressed_shade;
RrAppearance *a_disabled_focused_iconify; RrAppearance *a_disabled_focused_iconify;
RrAppearance *a_disabled_unfocused_iconify; RrAppearance *a_disabled_unfocused_iconify;
RrAppearance *a_hover_focused_iconify; RrAppearance *a_hover_focused_iconify;

View file

@ -26,12 +26,13 @@
#include <ctype.h> #include <ctype.h>
#include <string.h> #include <string.h>
static gboolean read_int(XrmDatabase db, gchar *rname, gint *value); static gboolean read_int(XrmDatabase db, const gchar *rname, gint *value);
static gboolean read_string(XrmDatabase db, gchar *rname, gchar **value); static gboolean read_string(XrmDatabase db, const gchar *rname,
static gboolean read_color(XrmDatabase db, gchar *rname, const gchar **value);
static gboolean read_color(XrmDatabase db, const gchar *rname,
gint *r, gint *g, gint *b); gint *r, gint *g, gint *b);
static int parse_inline_number(char *p) static int parse_inline_number(const char *p)
{ {
int neg = 1; int neg = 1;
int res = 0; int res = 0;
@ -45,7 +46,7 @@ static int parse_inline_number(char *p)
return res; return res;
} }
static gchar *create_class_name(gchar *rname) static gchar *create_class_name(const gchar *rname)
{ {
gchar *rclass = g_strdup(rname); gchar *rclass = g_strdup(rname);
gchar *p = rclass; gchar *p = rclass;
@ -60,7 +61,7 @@ static gchar *create_class_name(gchar *rname)
return rclass; return rclass;
} }
static gboolean read_int(XrmDatabase db, gchar *rname, gint *value) static gboolean read_int(XrmDatabase db, const gchar *rname, gint *value)
{ {
gboolean ret = FALSE; gboolean ret = FALSE;
gchar *rclass = create_class_name(rname); gchar *rclass = create_class_name(rname);
@ -78,7 +79,8 @@ static gboolean read_int(XrmDatabase db, gchar *rname, gint *value)
return ret; return ret;
} }
static gboolean read_string(XrmDatabase db, gchar *rname, gchar **value) static gboolean read_string(XrmDatabase db, const gchar *rname,
const gchar **value)
{ {
gboolean ret = FALSE; gboolean ret = FALSE;
gchar *rclass = create_class_name(rname); gchar *rclass = create_class_name(rname);
@ -104,7 +106,7 @@ static gchar hextodec(gchar h)
return -1; return -1;
} }
static gboolean parse_color(gchar *c, gint *r, gint *g, gint *b) static gboolean parse_color(const gchar *c, gint *r, gint *g, gint *b)
{ {
int dig1, dig2, i, color[3]; int dig1, dig2, i, color[3];
int len = strlen(c); int len = strlen(c);
@ -150,7 +152,7 @@ static gboolean parse_color(gchar *c, gint *r, gint *g, gint *b)
return FALSE; return FALSE;
} }
static gboolean read_color(XrmDatabase db, gchar *rname, static gboolean read_color(XrmDatabase db, const gchar *rname,
gint *r, gint *g, gint *b) gint *r, gint *g, gint *b)
{ {
gboolean ret = FALSE; gboolean ret = FALSE;
@ -279,7 +281,7 @@ int main(int argc, char **argv)
{ {
XrmDatabase db; XrmDatabase db;
int i,j,k; int i,j,k;
gchar *s; const gchar *s;
int ret = 0; int ret = 0;
if (argc > 1) { if (argc > 1) {
@ -406,11 +408,11 @@ int main(int argc, char **argv)
if (read_color(db, "window.active.button.toggled.image.color", if (read_color(db, "window.active.button.toggled.image.color",
&i, &j, &k)) &i, &j, &k))
COLOR5("window","active","buttons","toggled","image",i,j,k,255); COLOR5("window","active","buttons","toggled-unpressed","image",i,j,k,255);
if (read_color(db, "window.inactive.button.toggled.image.color", if (read_color(db, "window.inactive.button.toggled.image.color",
&i, &j, &k)) &i, &j, &k))
COLOR5("window","inactive","buttons","toggled","image",i,j,k,255); COLOR5("window","inactive","buttons","toggled-unpressed","image",i,j,k,255);
if (read_color(db, "menu.title.text.color", if (read_color(db, "menu.title.text.color",
&i, &j, &k)) &i, &j, &k))