From ef1c6e9214702d31a8f6e6d1578b4dbce8c3c4f2 Mon Sep 17 00:00:00 2001 From: Thomas James Alexander Thurman Date: Sat, 7 Oct 2006 17:21:05 +0000 Subject: [PATCH] described new theme format. * doc/theme-format.txt: described new theme format. * src/themes/Bright, src/themes/Crux: added version 2 themes. --- ChangeLog | 6 + doc/theme-format.txt | 89 ++- src/themes/Bright/metacity-theme-2.xml | 546 +++++++++++++ src/themes/Crux/active-above-button.png | Bin 0 -> 197 bytes src/themes/Crux/active-shade-button.png | Bin 0 -> 296 bytes src/themes/Crux/active-stick-button.png | Bin 0 -> 249 bytes src/themes/Crux/active-unabove-button.png | Bin 0 -> 205 bytes src/themes/Crux/active-unshade-button.png | Bin 0 -> 261 bytes src/themes/Crux/active-unstick-button.png | Bin 0 -> 248 bytes src/themes/Crux/inactive-above-button.png | Bin 0 -> 205 bytes src/themes/Crux/inactive-shade-button.png | Bin 0 -> 213 bytes src/themes/Crux/inactive-stick-button.png | Bin 0 -> 200 bytes src/themes/Crux/inactive-unabove-button.png | Bin 0 -> 212 bytes src/themes/Crux/inactive-unshade-button.png | Bin 0 -> 204 bytes src/themes/Crux/inactive-unstick-button.png | Bin 0 -> 190 bytes src/themes/Crux/metacity-theme-2.xml | 832 ++++++++++++++++++++ 16 files changed, 1471 insertions(+), 2 deletions(-) create mode 100644 src/themes/Bright/metacity-theme-2.xml create mode 100644 src/themes/Crux/active-above-button.png create mode 100644 src/themes/Crux/active-shade-button.png create mode 100644 src/themes/Crux/active-stick-button.png create mode 100644 src/themes/Crux/active-unabove-button.png create mode 100644 src/themes/Crux/active-unshade-button.png create mode 100644 src/themes/Crux/active-unstick-button.png create mode 100644 src/themes/Crux/inactive-above-button.png create mode 100644 src/themes/Crux/inactive-shade-button.png create mode 100644 src/themes/Crux/inactive-stick-button.png create mode 100644 src/themes/Crux/inactive-unabove-button.png create mode 100644 src/themes/Crux/inactive-unshade-button.png create mode 100644 src/themes/Crux/inactive-unstick-button.png create mode 100644 src/themes/Crux/metacity-theme-2.xml diff --git a/ChangeLog b/ChangeLog index 377b988f2..317bd4930 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-10-07 Thomas Thurman + + * doc/theme-format.txt: described new theme format. + + * src/themes/Bright, src/themes/Crux: added version 2 themes. + 2006-10-07 Thomas Thurman * common.h: Added "above" to the list of flags a frame can have, so diff --git a/doc/theme-format.txt b/doc/theme-format.txt index a574e89cf..95a6b4e76 100644 --- a/doc/theme-format.txt +++ b/doc/theme-format.txt @@ -1,6 +1,91 @@ -Docs on the theme format +Themes are in a simple XML-subset format. There are multiple versions +of the theme format, and a given theme can support more than one format. -Themes are in a simple XML-subset format. +Version 1: THEMEDIR/metacity-1/metacity-theme-1.xml + (original metacity format) +Version 2: THEMEDIR/metacity-1/metacity-theme-2.xml + +The subdirectory name is "metacity-1" in all versions. + +As you might expect, older versions of metacity will not understand +newer theme formats. However, newer versions will use old themes. +Metacity will always use the newest theme format it understands that +the X server supports. Some format versions are only supported if you +have the right X server features. + +Each format *requires* the corresponding filename. If you put version +2 format features in the metacity-1/metacity-theme-1.xml file, then +metacity will get angry. + +This document has separate sections for each format version. You may +want to read the document in reverse order, since the base features +are discussed under version 1. + +New Features in Theme Format Version 2 +====================================== + +The optional attributes rounded_top_left, rounded_top_right, +rounded_bottom_left and rounded_bottom_right on +should now be the radius of the corner in pixels. You may still use +the values "false" for 0 and "true" for 5, which means v1 values will +still work just fine. + + has a new optional attribute, hide_buttons. If this +is true, no buttons will be displayed on the titlebar. + +Anywhere you can use a positive integer, you can use an integer constant. + +As well as constant integers and reals, you may define constant colours, +thus: + + + + has two new optional attributes, background and alpha. +If you specify alpha, you must specify background. background is a +colour used for the background of the frame. alpha is the transparency +as a real between 0.0 and 1.0. If the current X server does not support +alpha channels, the value is ignored. + +The filename attribute of may begin with "theme:". If so, the +rest of the string is the name of a theme icon. The 64x64 version of the +icon is used, except for fallback mini_icons, which use the 16x16 version. +This does not affect ordinary resizing. For example: + + +s are parsed but ignored. + +Fallback icons can be specified using . There are two +optional arguments, icon and mini_icon. The values of these arguments +are identical to that of the filename attribute of . Fallback +icons are used when a window does not supply its own icon. If a fallback +icon is not specified with , Metacity will use a built-in +icon, as in metacity-theme-1. + +The element, as well as the original start_angle and end_angle +attributes, may be given from and to attributes. The values of these +attributes are given in degrees clockwise, with 0 being straight up. +For example: + + + may now take an optional resize attribute, with +the same interpretation as the resize attribute on . +If this attribute is omitted for state="shaded", it defaults to "both". +(If it is omitted for state="normal", it remains an error.) + +In addition to the four