summaryrefslogtreecommitdiff
path: root/src/ui/theme.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/theme.c')
-rw-r--r--src/ui/theme.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ui/theme.c b/src/ui/theme.c
index 4385b7c6..667e60ff 100644
--- a/src/ui/theme.c
+++ b/src/ui/theme.c
@@ -5193,7 +5193,7 @@ meta_theme_validate (MetaTheme *theme,
}
for (i = 0; i < (int)META_FRAME_TYPE_LAST; i++)
- if (theme->style_sets_by_type[i] == NULL)
+ if (i != (int)META_FRAME_TYPE_ATTACHED && theme->style_sets_by_type[i] == NULL)
{
g_set_error (error, META_THEME_ERROR, META_THEME_ERROR_FAILED,
_("No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element"),
@@ -5271,7 +5271,10 @@ theme_get_style (MetaTheme *theme,
style_set = theme->style_sets_by_type[type];
- /* Right now the parser forces a style set for all types,
+ if (style_set == NULL && type == META_FRAME_TYPE_ATTACHED)
+ style_set = theme->style_sets_by_type[META_FRAME_TYPE_BORDER];
+
+ /* Right now the parser forces a style set for all other types,
* but this fallback code is here in case I take that out.
*/
if (style_set == NULL)
@@ -6229,6 +6232,8 @@ meta_frame_type_from_string (const char *str)
return META_FRAME_TYPE_MENU;
else if (strcmp ("border", str) == 0)
return META_FRAME_TYPE_BORDER;
+ else if (strcmp ("attached", str) == 0)
+ return META_FRAME_TYPE_ATTACHED;
#if 0
else if (strcmp ("toolbar", str) == 0)
return META_FRAME_TYPE_TOOLBAR;
@@ -6254,6 +6259,8 @@ meta_frame_type_to_string (MetaFrameType type)
return "menu";
case META_FRAME_TYPE_BORDER:
return "border";
+ case META_FRAME_TYPE_ATTACHED:
+ return "attached";
#if 0
case META_FRAME_TYPE_TOOLBAR:
return "toolbar";