diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | doc/Makefile.am | 2 | ||||
-rw-r--r-- | doc/metacity-theme.dtd | 273 | ||||
-rw-r--r-- | doc/theme-format.txt (renamed from theme-format.txt) | 0 |
5 files changed, 284 insertions, 1 deletions
@@ -1,3 +1,11 @@ +2002-11-20 Havoc Pennington <hp@pobox.com> + + * doc/metacity-theme.dtd: add DTD for themes from Ross Burton + + * doc/Makefile.am: doc subdir + + * doc/theme-format.txt: move to doc subdir + 2002-11-19 Havoc Pennington <hp@pobox.com> Should really fix #98303 diff --git a/Makefile.am b/Makefile.am index 08d8498dd..409f9b47f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ -SUBDIRS=src po +SUBDIRS=src po doc EXTRA_DIST=HACKING theme-format.txt metacity.spec.in metacity.spec \ intltool-extract.in intltool-merge.in intltool-update.in diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 000000000..f2c0073d5 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,2 @@ + +EXTRA_DIST=theme-format.txt metacity-theme.dtd diff --git a/doc/metacity-theme.dtd b/doc/metacity-theme.dtd new file mode 100644 index 000000000..4c52a1a49 --- /dev/null +++ b/doc/metacity-theme.dtd @@ -0,0 +1,273 @@ +<!-- + DTD for Metacity themes, as of Metacity 2.4.1 + Author: Ross Burton <ross@burtonini.com> + Copyright (C) 2002 Ross Burton + Licensed under the GPL, version 2 +--> + +<!-- Top-level element --> +<!ELEMENT metacity_theme (info,(window|frame_style_set|frame_style|frame_geometry|constant|draw_ops|menu_icon)+)> + +<!-- Theme metadata --> +<!ELEMENT info (name?|author?|copyright?|date?|description?)*> +<!ELEMENT name (#PCDATA)> +<!ELEMENT author (#PCDATA)> +<!ELEMENT copyright (#PCDATA)> +<!ELEMENT date (#PCDATA)> +<!ELEMENT description (#PCDATA)> + +<!ENTITY % xyrequired " + x CDATA #REQUIRED + y CDATA #REQUIRED +"> + +<!ENTITY % xyimplied " + x CDATA #IMPLIED + y CDATA #IMPLIED +"> + +<!ENTITY % widthheightrequired " + width CDATA #REQUIRED + height CDATA #REQUIRED +"> + +<!ENTITY % widthheightimplied " + width CDATA #IMPLIED + height CDATA #IMPLIED +"> + +<!ENTITY % boolean "(true|false)"> + +<!ENTITY % piece_positions " +(entire_background|titlebar|titlebar_middle|left_titlebar_edge|right_titlebar_edge|top_titlebar_edge|bottom_titlebar_edge|title|left_edge|right_edge|bottom_edge|overlay) +"> + +<!ENTITY % gtk-state " + state (normal|prelight|active|selected|insensitive) #REQUIRED +"> + +<!ENTITY % gtk-shadow " + shadow (none|in|out|etched_in|etched_out) #REQUIRED +"> + + +<!-- The actual theme --> + +<!ELEMENT window EMPTY> +<!ATTLIST window + type (normal|dialog|modal_dialog|menu|utility|border) #REQUIRED + style_set CDATA #REQUIRED +> + + +<!ELEMENT frame_style_set (frame+)> +<!ATTLIST frame_style_set + name CDATA #REQUIRED + parent CDATA #IMPLIED +> + +<!ELEMENT frame EMPTY> +<!ATTLIST frame + focus (yes|no) #REQUIRED + state (normal|maximized|shaded|maximized_and_shaded) #REQUIRED + resize (both|horizontal|vertical|none) #REQUIRED + style CDATA #REQUIRED +> + +<!ELEMENT frame_style (piece|button)*> +<!ATTLIST frame_style + name CDATA #REQUIRED + geometry CDATA #REQUIRED + parent CDATA #IMPLIED +> + +<!ELEMENT piece (draw_ops?)> +<!ATTLIST piece + position %piece_positions; #REQUIRED + draw_ops CDATA #IMPLIED +> + +<!ELEMENT button (draw_ops?)> +<!ATTLIST button + function (menu|minimize|maximize|close|left_left_background|left_middle_background|left_right_background|right_left_background|right_middle_background|right_right_background) #REQUIRED + state (normal|prelight|pressed) #REQUIRED + draw_ops CDATA #IMPLIED +> + +<!ELEMENT frame_geometry (border|(aspect_ratio|distance))+> +<!ATTLIST frame_geometry + name CDATA #REQUIRED + parent CDATA #IMPLIED + title_scale (xx-small|x-small|small|medium|large|x-large|xx-large) #IMPLIED + has_title (true|false) 'true' + rounded_top_left %boolean; #IMPLIED + rounded_top_right %boolean; #IMPLIED + rounded_bottom_left %boolean; #IMPLIED + rounded_bottom_right %boolean; #IMPLIED +> + +<!ELEMENT distance EMPTY> +<!ATTLIST distance + name (left_width|right_width|bottom_height|title_vertical_pad|right_titlebar_edge|left_titlebar_edge|button_width|button_height) #REQUIRED + value CDATA #REQUIRED +> + +<!ELEMENT border EMPTY> +<!ATTLIST border + name CDATA #REQUIRED + top CDATA #REQUIRED + bottom CDATA #REQUIRED + left CDATA #REQUIRED + right CDATA #REQUIRED +> + +<!ELEMENT aspect_ratio EMPTY> +<!ATTLIST aspect_ratio + name CDATA #REQUIRED + value CDATA #REQUIRED +> + +<!ELEMENT draw_ops (line|rectangle|arc|tint|gradient|image|gtk_arrow|gtk_box|gtk_vline|icon|title|clip|include|tile)*> +<!-- not sure about this.. maybe it should be removed. see #3478 in theme-parser.c --> +<!ATTLIST draw_ops + name CDATA #IMPLIED +> + +<!ELEMENT line EMPTY> +<!ATTLIST line + color CDATA #REQUIRED + x1 CDATA #REQUIRED + y1 CDATA #REQUIRED + x2 CDATA #REQUIRED + y2 CDATA #REQUIRED + width CDATA #IMPLIED + dash_on_length CDATA #IMPLIED + dash_off_length CDATA #IMPLIED +> + +<!ELEMENT rectangle EMPTY> +<!ATTLIST rectangle + color CDATA #REQUIRED + %xyrequired; + %widthheightrequired; + filled %boolean; 'false' +> + +<!ELEMENT arc EMTPY> +<!ATTLIST arc + color CDATA #REQUIRED + %xyrequired; + %widthheightrequired; + start_angle CDATA #REQUIRED + extent_angle CDATA #REQUIRED + filled %boolean; 'false' +> + +<!ELEMENT icon EMPTY> +<!ATTLIST icon + %xyrequired; + width CDATA #REQUIRED + height CDATA #REQUIRED + alpha CDATA #IMPLIED + fill_type (tile|scale) 'scale' +> + +<!ELEMENT image EMPTY> +<!ATTLIST image + filename CDATA #REQUIRED + colorize CDATA #IMPLIED + %xyrequired; + %widthheightrequired; + alpha CDATA #IMPLIED + fill_type (tile|scale) 'scale' +> + +<!ELEMENT tile EMPTY> +<!ATTLIST tile + name CDATA #REQUIRED + %xyrequired; + %widthheightrequired; + tile_xoffset CDATA #IMPLIED + tile_yoffset CDATA #IMPLIED + tile_width CDATA #REQUIRED + tile_height CDATA #REQUIRED +> + +<!ELEMENT clip EMPTY> +<!ATTLIST clip + %xyrequired; + %widthheightrequired; +> + +<!ELEMENT title EMPTY> +<!ATTLIST title + color CDATA #REQUIRED + %xyrequired; +> + +<!ELEMENT tint EMPTY> +<!ATTLIST tint + color CDATA #REQUIRED + %xyrequired; + %widthheightrequired; + alpha CDATA #REQUIRED +> + +<!ELEMENT gtk_box EMPTY> +<!ATTLIST gtk_box + %gtk-state; + %gtk-shadow; + %xyrequired; + %widthheightrequired; +> + +<!ELEMENT gtk_arrow EMPTY> +<!ATTLIST gtk_arrow + %gtk-state; + %gtk-shadow; + arrow (up|down|left|right) #REQUIRED + %xyrequired; + %widthheightrequired; + filed CDATA #IMPLIED +> + +<!ELEMENT gtk_vline EMPTY> +<!ATTLIST gtk_vline + %gtk-state; + x CDATA #REQUIRED + y1 CDATA #REQUIRED + y2 CDATA #REQUIRED +> + +<!ELEMENT gradient (color)+> +<!ATTLIST gradient + type (vertical|horizontal|diagonal) #REQUIRED + %xyrequired; + %widthheightrequired; + alpha CDATA #IMPLIED +> + +<!ELEMENT color EMPTY> +<!ATTLIST color + value CDATA #REQUIRED +> + +<!ELEMENT include EMPTY> +<!ATTLIST include + name CDATA #REQUIRED + %xyimplied; + %widthheightimplied; +> + +<!ELEMENT constant EMPTY> +<!ATTLIST constant + name CDATA #REQUIRED + value CDATA #REQUIRED +> + +<!ELEMENT menu_icon (draw_ops?)> +<!ATTLIST menu_icon + function (close|maximize|minimize|unmaximize) #REQUIRED + %gtk-state; + draw_ops CDATA #IMPLIED +> diff --git a/theme-format.txt b/doc/theme-format.txt index a574e89cf..a574e89cf 100644 --- a/theme-format.txt +++ b/doc/theme-format.txt |