described new theme format.

* doc/theme-format.txt: described new theme format.

        * src/themes/Bright, src/themes/Crux: added version 2 themes.
This commit is contained in:
Thomas James Alexander Thurman 2006-10-07 17:21:05 +00:00
parent 90359a5346
commit ef1c6e9214
16 changed files with 1471 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2006-10-07 Thomas Thurman <thomas@thurman.org.uk>
* doc/theme-format.txt: described new theme format.
* src/themes/Bright, src/themes/Crux: added version 2 themes.
2006-10-07 Thomas Thurman <thomas@thurman.org.uk>
* common.h: Added "above" to the list of flags a frame can have, so

View File

@ -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 <frame_geometry>
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.
<frame_geometry> 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:
<constant name="RevoltingPink" value="#FF00FF"/>
<constant name="Background" value="gtk:bg[NORMAL]"/>
<frame_style> 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 <image> 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:
<button function="close" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="theme:gnome-logout" x="2" y="2"
width="width-4" height="height-4"/>
<!-- Note: not "theme:gnome-logout.png" or similar. -->
</draw_ops>
</button>
<menu_icon>s are parsed but ignored.
Fallback icons can be specified using <fallback>. There are two
optional arguments, icon and mini_icon. The values of these arguments
are identical to that of the filename attribute of <image>. Fallback
icons are used when a window does not supply its own icon. If a fallback
icon is not specified with <fallback>, Metacity will use a built-in
icon, as in metacity-theme-1.
The <arc> 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:
<arc from="0.0" to="90.0" filled="true" color="#FF00FF"
x="0" y="5" width="15" height="15"/>
<frame state="shaded"> may now take an optional resize attribute, with
the same interpretation as the resize attribute on <frame state="normal">.
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 <button> functions which are required in
metacity-theme-1, there are six new functions in metacity-theme-2:
shade, unshade, above, unabove, stick and unstick.
Overview of Theme Format Version 1
==================================
<?xml version="1.0"?>
<metacity_theme>

View File

@ -0,0 +1,546 @@
<?xml version="1.0"?>
<metacity_theme>
<info>
<name>Bright</name>
<author>Gaute Lindkvist &lt;lindkvis@linpro.no&gt;</author>
<copyright>&#194; Havoc Pennington, 2002 for Atlanta. &#194; Gaute Lindkvist, 2002 for modifications</copyright>
<date>February 3, 2002</date>
<description>Simple theme based on Havoc Pennington's Atlanta</description>
</info>
<frame_geometry name="normal">
<distance name="left_width" value="6"/>
<distance name="right_width" value="6"/>
<distance name="bottom_height" value="7"/>
<distance name="left_titlebar_edge" value="6"/>
<distance name="right_titlebar_edge" value="6"/>
<distance name="button_width" value="15"/>
<distance name="button_height" value="15"/>
<distance name="title_vertical_pad" value="4"/>
<border name="title_border" left="3" right="4" top="4" bottom="3"/>
<border name="button_border" left="1" right="2" top="2" bottom="1"/>
</frame_geometry>
<!-- strip borders off the normal geometry -->
<frame_geometry name="normal_small_borders" parent="normal">
<distance name="left_width" value="4"/>
<distance name="right_width" value="4"/>
<distance name="bottom_height" value="5"/>
<distance name="left_titlebar_edge" value="4"/>
<distance name="right_titlebar_edge" value="4"/>
</frame_geometry>
<frame_geometry name="utility" title_scale="xx-small">
<distance name="left_width" value="3"/>
<distance name="right_width" value="3"/>
<distance name="bottom_height" value="4"/>
<distance name="left_titlebar_edge" value="3"/>
<distance name="right_titlebar_edge" value="3"/>
<distance name="button_width" value="11"/>
<distance name="button_height" value="11"/>
<distance name="title_vertical_pad" value="1"/>
<border name="title_border" left="3" right="4" top="3" bottom="3"/>
<border name="button_border" left="0" right="0" top="1" bottom="1"/>
</frame_geometry>
<frame_geometry name="border" has_title="false">
<distance name="left_width" value="4"/>
<distance name="right_width" value="4"/>
<distance name="bottom_height" value="4"/>
<distance name="left_titlebar_edge" value="0"/>
<distance name="right_titlebar_edge" value="0"/>
<distance name="button_width" value="0"/>
<distance name="button_height" value="0"/>
<distance name="title_vertical_pad" value="4"/>
<border name="title_border" left="0" right="0" top="0" bottom="0"/>
<border name="button_border" left="0" right="0" top="0" bottom="0"/>
</frame_geometry>
<!-- define constants -->
<constant name="ArrowWidth" value="7"/>
<constant name="ArrowHeight" value="5"/>
<constant name="ButtonIPad" value="3"/>
<constant name="ThickLineWidth" value="3"/>
<constant name="IconTitleSpacing" value="2"/>
<constant name="SpacerWidth" value="7"/>
<constant name="SpacerHeight" value="11"/>
<!-- Buttons -->
<draw_ops name="button_normal_bg">
<rectangle color="gtk:fg[NORMAL]" filled="false"
x="0" y="0" width="width-2" height="height-2"/>
<line color="#BBBBBB"
x1="1"
y1="height-1"
x2="width"
y2="height-1"
width="1"/>
<line color="#BBBBBB"
x1="width-1"
y1="1"
x2="width-1"
y2="height-1"
width="1"/>
<rectangle color="gtk:base[NORMAL]" filled="true"
x="1" y="1" width="width-3" height="height-3"/>
</draw_ops>
<draw_ops name="button_pressed_bg">
<gtk_box state="active" shadow="in" x="0" y="0" width="width" height="height"/>
</draw_ops>
<draw_ops name="menu_button">
<clip x="0" y="0" width="width" height="height"/>
<icon x="(0 `max` (width-title_width-mini_icon_width-IconTitleSpacing)) / 2"
y="(height-mini_icon_height) / 2"
width="mini_icon_width-1" height="mini_icon_height-1"/>
</draw_ops>
<draw_ops name="menu_button_normal">
<include name="menu_button"/>
</draw_ops>
<draw_ops name="menu_button_pressed">
<include name="menu_button"/>
</draw_ops>
<draw_ops name="minimize_button">
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad"
y1="height - ButtonIPad - ThickLineWidth + 1"
x2="width - ButtonIPad-1"
y2="height - ButtonIPad - ThickLineWidth + 1"
width="ThickLineWidth"/>
</draw_ops>
<draw_ops name="minimize_button_normal">
<include name="button_normal_bg"/>
<include name="minimize_button"/>
</draw_ops>
<draw_ops name="minimize_button_pressed">
<include name="button_pressed_bg"/>
<include name="minimize_button"/>
</draw_ops>
<draw_ops name="maximize_button">
<rectangle color="gtk:fg[NORMAL]" filled="false"
x="ButtonIPad" y="ButtonIPad" width="width-ButtonIPad*2-2" height="height-ButtonIPad*2-2"/>
<line color="gtk:fg[NORMAL]" width="2"
x1="ButtonIPad" y1="ButtonIPad+1" x2="width-ButtonIPad-1" y2="ButtonIPad+1"/>
</draw_ops>
<draw_ops name="maximize_button_normal">
<include name="button_normal_bg"/>
<include name="maximize_button"/>
</draw_ops>
<draw_ops name="maximize_button_pressed">
<include name="button_pressed_bg"/>
<include name="maximize_button"/>
</draw_ops>
<draw_ops name="mini_window_icon">
<rectangle color="gtk:fg[NORMAL]" filled="false"
x="0" y="0" width="width-3" height="height-3"/>
<rectangle color="gtk:fg[NORMAL]" filled="false"
x="0" y="0" width="width-3" height="height-3"/>
<line color="gtk:fg[NORMAL]" width="1"
x1="0" y1="1" x2="width-1" y2="1"/>
</draw_ops>
<draw_ops name="restore_button">
<include name="mini_window_icon"
x="ButtonIPad" y="ButtonIPad"
width="width - 5 - ButtonIPad"
height="height - 5 - ButtonIPad"/>
<include name="mini_window_icon"
x="3 + ButtonIPad" y="3 + ButtonIPad"
width="width - 5 - ButtonIPad"
height="height - 5 - ButtonIPad"/>
</draw_ops>
<draw_ops name="restore_button_normal">
<include name="button_normal_bg"/>
<include name="restore_button"/>
</draw_ops>
<draw_ops name="restore_button_pressed">
<include name="button_pressed_bg"/>
<include name="restore_button"/>
</draw_ops>
<draw_ops name="close_button">
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad" y1="ButtonIPad"
x2="width - ButtonIPad - 2" y2="height - ButtonIPad - 2"/>
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad" y1="height - ButtonIPad - 2"
x2="width - ButtonIPad - 2" y2="ButtonIPad"/>
</draw_ops>
<draw_ops name="shade_button">
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad"
y1="ButtonIPad"
x2="width - ButtonIPad-1"
y2="ButtonIPad"
width="ThickLineWidth"/>
</draw_ops>
<draw_ops name="unshade_button">
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad"
y1="ButtonIPad"
x2="width - ButtonIPad-1"
y2="ButtonIPad"
width="ThickLineWidth"/>
<rectangle color="gtk:fg[NORMAL]" filled="false"
x="ButtonIPad"
y="ButtonIPad*2"
width="width - ButtonIPad*2-1"
height="height - ButtonIPad*3-1"/>
</draw_ops>
<draw_ops name="above_button">
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad"
y1="height/2"
x2="ButtonIPad + 2"
y2="height/2"
width="ThickLineWidth"/>
<line color="gtk:fg[NORMAL]"
x1="width - ButtonIPad-1"
y1="height/2"
x2="width - ButtonIPad-3"
y2="height/2"
width="ThickLineWidth"/>
<line color="gtk:fg[NORMAL]"
x1="width/2-1"
y1="height - ButtonIPad - 2"
x2="width/2+1"
y2="height - ButtonIPad - 2"
width="ThickLineWidth"/>
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad"
y1="ButtonIPad"
x2="width - ButtonIPad-1"
y2="ButtonIPad"
width="ThickLineWidth"/>
</draw_ops>
<draw_ops name="unabove_button">
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad"
y1="height/2"
x2="ButtonIPad + 2"
y2="height/2"
width="ThickLineWidth"/>
<line color="gtk:fg[NORMAL]"
x1="width - ButtonIPad-1"
y1="height/2"
x2="width - ButtonIPad-3"
y2="height/2"
width="ThickLineWidth"/>
<line color="gtk:fg[NORMAL]"
x1="width/2-1"
y1="height - ButtonIPad - 2"
x2="width/2+1"
y2="height - ButtonIPad - 2"
width="ThickLineWidth"/>
<line color="gtk:fg[NORMAL]"
x1="width/2-1"
y1="ButtonIPad"
x2="width/2+1"
y2="ButtonIPad"
width="ThickLineWidth"/>
</draw_ops>
<draw_ops name="stick_button">
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad" y1="ButtonIPad"
x2="ButtonIPad" y2="height - ButtonIPad - 2"/>
<line color="gtk:fg[NORMAL]"
x1="ButtonIPad" y1="height/2-1"
x2="width - ButtonIPad - 2" y2="height/2-1"/>
</draw_ops>
<draw_ops name="unstick_button">
<line color="gtk:fg[NORMAL]"
x1="width/2" y1="ButtonIPad"
x2="width/2" y2="height - ButtonIPad - 2"/>
<line color="gtk:fg[NORMAL]"
x1="width/2" y1="height/2-1"
x2="width - ButtonIPad - 2" y2="height/2-1"/>
<line color="gtk:fg[NORMAL]"
x1="width-ButtonIPad-2" y1="height/2-3"
x2="width-ButtonIPad-2" y2="height/2+2"/>
</draw_ops>
<draw_ops name="close_button_normal">
<include name="button_normal_bg"/>
<include name="close_button"/>
</draw_ops>
<draw_ops name="close_button_pressed">
<include name="button_pressed_bg"/>
<include name="close_button"/>
</draw_ops>
<draw_ops name="shade_button_normal">
<include name="button_normal_bg"/>
<include name="shade_button"/>
</draw_ops>
<draw_ops name="shade_button_pressed">
<include name="button_pressed_bg"/>
<include name="shade_button"/>
</draw_ops>
<draw_ops name="unshade_button_normal">
<include name="button_normal_bg"/>
<include name="unshade_button"/>
</draw_ops>
<draw_ops name="unshade_button_pressed">
<include name="button_pressed_bg"/>
<include name="unshade_button"/>
</draw_ops>
<draw_ops name="above_button_normal">
<include name="button_normal_bg"/>
<include name="above_button"/>
</draw_ops>
<draw_ops name="above_button_pressed">
<include name="button_pressed_bg"/>
<include name="above_button"/>
</draw_ops>
<draw_ops name="unabove_button_normal">
<include name="button_normal_bg"/>
<include name="unabove_button"/>
</draw_ops>
<draw_ops name="unabove_button_pressed">
<include name="button_pressed_bg"/>
<include name="unabove_button"/>
</draw_ops>
<draw_ops name="stick_button_normal">
<include name="button_normal_bg"/>
<include name="stick_button"/>
</draw_ops>
<draw_ops name="stick_button_pressed">
<include name="button_pressed_bg"/>
<include name="stick_button"/>
</draw_ops>
<draw_ops name="unstick_button_normal">
<include name="button_normal_bg"/>
<include name="unstick_button"/>
</draw_ops>
<draw_ops name="unstick_button_pressed">
<include name="button_pressed_bg"/>
<include name="unstick_button"/>
</draw_ops>
<draw_ops name="outer_bevel">
<rectangle color="gtk:fg[NORMAL]"
x="0" y="0" width="width-1" height="height-1"/>
<line color="gtk:light[NORMAL]"
x1="1" y1="1" x2="1" y2="height-2"/>
<line color="gtk:light[NORMAL]"
x1="1" y1="1" x2="width-2" y2="1"/>
<line color="gtk:dark[NORMAL]"
x1="width-2" y1="1" x2="width-2" y2="height-2"/>
<line color="gtk:dark[NORMAL]"
x1="1" y1="height-2" x2="width-2" y2="height-2"/>
</draw_ops>
<draw_ops name="blank">
<!-- nothing -->
</draw_ops>
<draw_ops name="focus_outline">
<rectangle color="gtk:fg[NORMAL]"
x="left_width-1" y="top_height-1"
width="width-left_width-right_width+1"
height="height-top_height-bottom_height+1"/>
</draw_ops>
<draw_ops name="focus_background">
<include name="outer_bevel"/>
<include name="focus_outline"/>
</draw_ops>
<draw_ops name="background_unfocused">
<include name="outer_bevel"/>
<include name="focus_outline"/>
</draw_ops>
<draw_ops name="title_box">
<rectangle color="gtk:fg[NORMAL]" filled="false"
x="0" y="1" width="width-SpacerWidth+3" height="height-2"/>
<line color="#BBBBBB"
x1="2"
y1="height-2"
x2="width-SpacerWidth+2"
y2="height-2"
width="1"/>
<line color="#BBBBBB"
x1="width-5"
y1="2"
x2="width-SpacerWidth+2"
y2="height-2"
width="1"/>
<rectangle color="gtk:bg[SELECTED]" filled="true"
x="1" y="2" width="width-5" height="height-3"/>
</draw_ops>
<draw_ops name="title_spacer">
<gtk_vline state="normal" x="width+1-SpacerWidth/2"
y1="(height-SpacerHeight)/2"
y2="height - (height-SpacerHeight)/2"/>
</draw_ops>
<draw_ops name="title_text_focused_no_icon">
<clip x="3" y="2" width="width-SpacerWidth-2" height="height-4"/>
<title color="gtk:fg[SELECTED]"
x="(3 `max` (width-title_width)) / 2+2"
y="((height - title_height) / 2) `max` 0"/>
</draw_ops>
<draw_ops name="title_text_no_icon">
<clip x="3" y="2" width="width-SpacerWidth-2" height="height-4"/>
<title color="gtk:fg[NORMAL]"
x="(3 `max` (width-title_width)) / 2+2"
y="((height - title_height) / 2) `max` 0"/>
</draw_ops>
<draw_ops name="title_normal">
<include name="title_text_no_icon"/>
</draw_ops>
<draw_ops name="title_focused">
<include name="title_box"/>
<include name="title_text_focused_no_icon"/>
</draw_ops>
<draw_ops name="title_utility">
<include name="title_spacer"/>
<include name="title_text_no_icon"/>
</draw_ops>
<draw_ops name="title_utility_focused">
<include name="title_box"/>
<include name="title_spacer"/>
<include name="title_text_focused_no_icon"/>
</draw_ops>
<frame_style name="normal_unfocused" geometry="normal">
<piece position="entire_background" draw_ops="background_unfocused"/>
<piece position="title" draw_ops="title_normal"/>
<!-- we don't specify for prelight, so normal is used -->
<button function="close" state="normal" draw_ops="close_button_normal"/>
<button function="close" state="pressed" draw_ops="close_button_pressed"/>
<button function="minimize" state="normal" draw_ops="minimize_button_normal"/>
<button function="minimize" state="pressed" draw_ops="minimize_button_pressed"/>
<button function="maximize" state="normal" draw_ops="maximize_button_normal"/>
<button function="maximize" state="pressed" draw_ops="maximize_button_pressed"/>
<button function="menu" state="normal" draw_ops="menu_button_normal"/>
<button function="menu" state="pressed" draw_ops="menu_button_pressed"/>
<button function="shade" state="normal" draw_ops="shade_button_normal"/>
<button function="shade" state="pressed" draw_ops="shade_button_pressed"/>
<button function="unshade" state="normal" draw_ops="unshade_button_normal"/>
<button function="unshade" state="pressed" draw_ops="unshade_button_pressed"/>
<button function="above" state="normal" draw_ops="above_button_normal"/>
<button function="above" state="pressed" draw_ops="above_button_pressed"/>
<button function="unabove" state="normal" draw_ops="unabove_button_normal"/>
<button function="unabove" state="pressed" draw_ops="unabove_button_pressed"/>
<button function="stick" state="normal" draw_ops="stick_button_normal"/>
<button function="stick" state="pressed" draw_ops="stick_button_pressed"/>
<button function="unstick" state="normal" draw_ops="unstick_button_normal"/>
<button function="unstick" state="pressed" draw_ops="unstick_button_pressed"/>
</frame_style>
<frame_style name="normal_focused" geometry="normal" parent="normal_unfocused">
<piece position="entire_background" draw_ops="focus_background"/>
<piece position="title" draw_ops="title_focused"/>
</frame_style>
<frame_style name="maximized_unfocused" geometry="normal_small_borders" parent="normal_unfocused">
<piece position="entire_background" draw_ops="blank"/>
<button function="maximize" state="normal" draw_ops="restore_button_normal"/>
<button function="maximize" state="pressed" draw_ops="restore_button_pressed"/>
</frame_style>
<frame_style name="maximized_focused" geometry="normal_small_borders" parent="normal_focused">
<piece position="entire_background" draw_ops="focus_outline"/>
<button function="maximize" state="normal" draw_ops="restore_button_normal"/>
<button function="maximize" state="pressed" draw_ops="restore_button_pressed"/>
</frame_style>
<frame_style name="utility_unfocused" geometry="utility" parent="normal_unfocused">
<piece position="title" draw_ops="title_utility"/>
</frame_style>
<frame_style name="utility_focused" geometry="utility" parent="normal_focused">
<piece position="title" draw_ops="title_utility_focused"/>
</frame_style>
<frame_style name="border" geometry="border" parent="normal_unfocused">
<piece position="entire_background" draw_ops="outer_bevel"/>
<piece position="title" draw_ops="blank"/>
</frame_style>
<frame_style_set name="normal">
<frame focus="yes" state="normal" resize="both" style="normal_focused"/>
<frame focus="no" state="normal" resize="both" style="normal_unfocused"/>
<frame focus="yes" state="maximized" style="maximized_focused"/>
<frame focus="no" state="maximized" style="maximized_unfocused"/>
<frame focus="yes" state="shaded" style="normal_focused"/>
<frame focus="no" state="shaded" style="normal_unfocused"/>
<frame focus="yes" state="maximized_and_shaded" style="maximized_focused"/>
<frame focus="no" state="maximized_and_shaded" style="maximized_unfocused"/>
</frame_style_set>
<frame_style_set name="utility" parent="normal">
<frame focus="yes" state="normal" resize="both" style="utility_focused"/>
<frame focus="no" state="normal" resize="both" style="utility_unfocused"/>
<!-- this is a bunch of crack since utility windows shouldn't be maximized -->
<frame focus="yes" state="maximized" style="utility_focused"/>
<frame focus="no" state="maximized" style="utility_unfocused"/>
<frame focus="yes" state="shaded" style="utility_focused"/>
<frame focus="no" state="shaded" style="utility_unfocused"/>
<frame focus="yes" state="maximized_and_shaded" style="utility_focused"/>
<frame focus="no" state="maximized_and_shaded" style="utility_unfocused"/>
</frame_style_set>
<frame_style_set name="border">
<frame focus="yes" state="normal" resize="both" style="border"/>
<frame focus="no" state="normal" resize="both" style="border"/>
<frame focus="yes" state="maximized" style="border"/>
<frame focus="no" state="maximized" style="border"/>
<frame focus="yes" state="shaded" style="border"/>
<frame focus="no" state="shaded" style="border"/>
<frame focus="yes" state="maximized_and_shaded" style="border"/>
<frame focus="no" state="maximized_and_shaded" style="border"/>
</frame_style_set>
<window type="normal" style_set="normal"/>
<window type="dialog" style_set="normal"/>
<window type="modal_dialog" style_set="normal"/>
<window type="menu" style_set="normal"/>
<window type="utility" style_set="utility"/>
<window type="border" style_set="border"/>
<menu_icon function="close" state="normal" draw_ops="close_button_normal"/>
<menu_icon function="maximize" state="normal" draw_ops="maximize_button_normal"/>
<menu_icon function="unmaximize" state="normal" draw_ops="restore_button_normal"/>
<menu_icon function="minimize" state="normal" draw_ops="minimize_button_normal"/>
</metacity_theme>

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

View File

@ -0,0 +1,832 @@
<?xml version="1.0"?>
<metacity_theme>
<info>
<name>Crux</name>
<author>Anders Carlsson &lt;andersca@gnu.org&gt;</author>
<copyright>&#194; Eazel Inc, 2000</copyright>
<date>February 6, 2002</date>
<description>A port of the Crux theme by Arlo Rose and John Harper</description>
</info>
<!-- define constants -->
<constant name="IconTitleSpacing" value="2"/> <!-- Space between menu button and title -->
<constant name="CenterTitlePieceWidth" value="48"/> <!-- Width of center title piece -->
<constant name="ButtonWidth" value="16"/> <!-- Button width -->
<frame_geometry name="normal" hide_buttons="true">
<distance name="left_width" value="5"/>
<distance name="right_width" value="6"/>
<distance name="bottom_height" value="6"/>
<distance name="left_titlebar_edge" value="5"/>
<distance name="right_titlebar_edge" value="6"/>
<aspect_ratio name="button" value="1.0"/>
<distance name="title_vertical_pad" value="0"/>
<border name="title_border" left="0" right="0" top="3" bottom="3"/>
<border name="button_border" left="0" right="0" top="3" bottom="3"/>
</frame_geometry>
<frame_geometry name="border" has_title="false" hide_buttons="true">
<distance name="left_width" value="5"/>
<distance name="right_width" value="6"/>
<distance name="bottom_height" value="6"/>
<distance name="left_titlebar_edge" value="0"/>
<distance name="right_titlebar_edge" value="0"/>
<distance name="button_width" value="0"/>
<distance name="button_height" value="0"/>
<distance name="title_vertical_pad" value="5"/>
<border name="title_border" left="0" right="0" top="0" bottom="0"/>
<border name="button_border" left="0" right="0" top="0" bottom="0"/>
</frame_geometry>
<!-- Buttons -->
<draw_ops name="active_button">
<image filename="active-button.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
<draw_ops name="active_button_pressed">
<image filename="active-button-pressed.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
<draw_ops name="active_button_prelight">
<image filename="active-button-prelight.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
<draw_ops name="inactive_button">
<image filename="inactive-button.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
<draw_ops name="inactive_button_pressed">
<image filename="inactive-button-pressed.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
<draw_ops name="inactive_button_prelight">
<image filename="inactive-button-prelight.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
<!-- Inactive style -->
<frame_style name="normal" geometry="normal">
<piece position="left_edge">
<draw_ops>
<image filename="inactive-left-border.png" x="0" y="0" width="object_width" height="height"/>
</draw_ops>
</piece>
<piece position="right_edge">
<draw_ops>
<image filename="inactive-right-border.png" x="0" y="0" width="object_width" height="height"/>
</draw_ops>
</piece>
<piece position="title">
<draw_ops>
<title color="gtk:fg[SELECTED]" x="IconTitleSpacing" y="0"/>
</draw_ops>
</piece>
<piece position="titlebar">
<draw_ops>
<image filename="inactive-left-top-border.png"
x="0" y="0" width="object_width" height="height"/>
<image filename="inactive-right-top-border.png"
x="width - object_width" y="0" width="object_width" height="height"/>
<image filename="inactive-top-center-left.png"
x="4" y="0"
width="(left_width + ButtonWidth + IconTitleSpacing + title_width) `min`
(width - right_width - 3 * ButtonWidth - CenterTitlePieceWidth * height / 22 - 3)"
height="height"/>
<image filename="inactive-top-center-mid.png"
x="((left_width + ButtonWidth + IconTitleSpacing + title_width) `min` (width - object_width * height / 22 - right_width - 3 * ButtonWidth)) + 1"
y="0" width="object_width * height / 22" height="height"/>
<image filename="inactive-top-center-right.png"
x="((left_width + ButtonWidth + IconTitleSpacing + title_width + CenterTitlePieceWidth * height / 22) `min` (width - 3 * ButtonWidth - right_width)) + 1"
y="0"
width="(width - title_width - left_width - ButtonWidth - IconTitleSpacing - CenterTitlePieceWidth * height / 22 - right_width) `max` (3 * ButtonWidth)"
height="height"/>
</draw_ops>
</piece>
<!-- We have to draw the bottom edge in the background piece
because that's the only way we can get the correct window height -->
<piece position="overlay">
<draw_ops>
<image filename="inactive-bottom-left-corner.png"
x="0" y="height - object_height" width="object_width" height="object_height"/>
<image filename="inactive-bottom-left-border.png" x="5" y="height - object_height"
width="((title_width + height / 2 - 4) `min` (width - object_width - 26))"
height="object_height"/>
<image filename="inactive-bottom-mid-border.png"
x="((title_width + height / 2) `min` (width - object_width - 6)) + 1"
y="height - object_height" width="object_width" height="object_height"/>
<image filename="inactive-bottom-right-border.png"
x="((title_width + height / 2 + 32)) + 1"
y="height - object_height"
width="(width - title_width - height / 2 - 32 - 7) `max` 0"
height="object_height"/>
<image filename="inactive-bottom-right-corner.png"
x="width - object_width" y="height - object_height" width="object_height" height="object_height"/>
</draw_ops>
</piece>
<button function="close" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-close-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="close" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-close-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="close" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-close-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="minimize" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-minimize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="minimize" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-minimize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="minimize" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-minimize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="maximize" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-maximize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="maximize" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-maximize-button.png" x="2" y="2" width="width - 4" height="height - 4"/>
</draw_ops>
</button>
<button function="maximize" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-maximize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unshade" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-unshade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unshade" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-unshade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unshade" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-unshade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="shade" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-shade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="shade" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-shade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="shade" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-shade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unabove" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-unabove-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unabove" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-unabove-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unabove" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-unabove-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="above" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-above-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="above" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-above-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="above" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-above-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="stick" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-stick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="stick" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-stick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="stick" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-stick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unstick" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-unstick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unstick" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-unstick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unstick" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-unstick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="menu" state="normal">
<draw_ops>
<image filename="inactive-menu-button.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
</button>
<button function="menu" state="pressed">
<draw_ops>
<image filename="inactive-menu-button-pressed.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
</button>
<button function="menu" state="prelight">
<draw_ops>
<image filename="inactive-menu-button-prelight.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
</button>
</frame_style>
<frame_style name="normal_maximized" parent="normal">
<button function="maximize" state="normal">
<draw_ops>
<include name="inactive_button"/>
<image filename="inactive-restore-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="maximize" state="pressed">
<draw_ops>
<include name="inactive_button_pressed"/>
<image filename="inactive-restore-button.png" x="2" y="2" width="width - 4" height="height - 4"/>
</draw_ops>
</button>
<button function="maximize" state="prelight">
<draw_ops>
<include name="inactive_button_prelight"/>
<image filename="inactive-restore-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
</frame_style>
<!-- Active (focused) shaded style -->
<frame_style name="normal_shaded" geometry="normal" parent="normal">
<piece position="left_titlebar_edge">
<draw_ops>
<image filename="inactive-left-top-border-shaded.png" x="0" y="3" width="object_width" height="object_height"/>
</draw_ops>
</piece>
<piece position="right_titlebar_edge">
<draw_ops>
<image filename="inactive-right-top-border-shaded.png" x="width - object_width" y="3" width="object_width" height="object_height"/>
</draw_ops>
</piece>
</frame_style>
<!-- Active (focused) style -->
<frame_style name="focused" geometry="normal">
<piece position="left_edge">
<draw_ops>
<image colorize="gtk:bg[SELECTED]" filename="active-left-border.png" x="0" y="0" width="object_width" height="height"/>
</draw_ops>
</piece>
<piece position="right_edge">
<draw_ops>
<image filename="active-right-border.png" x="0" y="0" width="object_width" height="height"/>
</draw_ops>
</piece>
<piece position="title">
<draw_ops>
<title color="gtk:fg[SELECTED]" x="IconTitleSpacing" y="((height - title_height) / 2) `max` 0"/>
</draw_ops>
</piece>
<piece position="titlebar">
<draw_ops>
<image filename="active-left-top-border.png"
colorize="gtk:bg[SELECTED]"
x="0" y="0" width="object_width" height="height"/>
<image filename="active-right-top-border.png"
x="width - object_width" y="0" width="object_width" height="height"/>
<image filename="active-top-center-left.png"
colorize="gtk:bg[SELECTED]"
x="4" y="0"
width="(left_width + ButtonWidth + IconTitleSpacing + title_width) `min`
(width - right_width - 3 * ButtonWidth - CenterTitlePieceWidth * height / 22 - 3)"
height="height"/>
<image filename="active-top-center-mid-left.png"
colorize="gtk:bg[SELECTED]"
x="((left_width + ButtonWidth + IconTitleSpacing + title_width) `min` (width - object_width * height / 22 - right_width - 3 * ButtonWidth)) + 1"
y="0" width="object_width * height / 22" height="height"/>
<image filename="active-top-center-mid-right.png"
x="((left_width + ButtonWidth + IconTitleSpacing + title_width) `min` (width - object_width * height / 22 - right_width - 3 * ButtonWidth)) + 1"
y="0" width="object_width * height / 22" height="height"/>
<image filename="active-top-center-right.png"
x="((left_width + ButtonWidth + IconTitleSpacing + title_width + CenterTitlePieceWidth * height / 22) `min` (width - 3 * ButtonWidth - right_width)) + 1"
y="0"
width="(width - title_width - left_width - ButtonWidth - IconTitleSpacing - CenterTitlePieceWidth * height / 22 - right_width) `max` (3 * ButtonWidth)"
height="height"/>
</draw_ops>
</piece>
<!-- We have to draw the bottom edge in the background piece
because that's the only way we can get the correct window height -->
<piece position="overlay">
<draw_ops>
<image filename="active-bottom-left-corner.png"
colorize="gtk:bg[SELECTED]"
x="0" y="height - object_height" width="object_width" height="object_height"/>
<image filename="active-bottom-left-border.png" x="5" y="height - object_height"
colorize="gtk:bg[SELECTED]"
width="((title_width + height / 2 - 4) `min` (width - object_width - 26))"
height="object_height"/>
<image filename="active-bottom-mid-left-border.png"
colorize="gtk:bg[SELECTED]"
x="((title_width + height / 2) `min` (width - object_width - 6)) + 1"
y="height - object_height" width="object_width" height="object_height"/>
<image filename="active-bottom-mid-right-border.png"
x="((title_width + height / 2) `min` (width - object_width - 6)) + 1"
y="height - object_height" width="object_width" height="object_height"/>
<image filename="active-bottom-right-border.png"
x="((title_width + height / 2 + 32)) + 1"
y="height - object_height"
width="(width - title_width - height / 2 - 32 - 7) `max` 0"
height="object_height"/>
<image filename="active-bottom-right-corner.png"
x="width - object_width" y="height - object_height" width="object_height" height="object_height"/>
</draw_ops>
</piece>
<button function="close" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-close-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="close" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-close-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="close" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-close-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="minimize" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-minimize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="minimize" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-minimize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="minimize" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-minimize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="maximize" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-maximize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="maximize" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-maximize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="maximize" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-maximize-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="shade" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-shade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="shade" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-shade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="shade" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-shade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unshade" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-unshade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unshade" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-unshade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unshade" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-unshade-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="above" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-above-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="above" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-above-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="above" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-above-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unabove" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-unabove-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unabove" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-unabove-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unabove" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-unabove-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="stick" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-stick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="stick" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-stick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="stick" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-stick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unstick" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-unstick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unstick" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-unstick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="unstick" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-unstick-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="menu" state="normal">
<draw_ops>
<image colorize="gtk:bg[SELECTED]" filename="active-menu-button.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
</button>
<button function="menu" state="pressed">
<draw_ops>
<image colorize="gtk:bg[SELECTED]" filename="active-menu-button-pressed.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
</button>
<button function="menu" state="prelight">
<draw_ops>
<image colorize="gtk:bg[SELECTED]" filename="active-menu-button-prelight.png" x="0" y="0" width="width" height="height"/>
</draw_ops>
</button>
</frame_style>
<frame_style name="focused_maximized" geometry="normal" parent="focused">
<button function="maximize" state="normal">
<draw_ops>
<include name="active_button"/>
<image filename="active-restore-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="maximize" state="pressed">
<draw_ops>
<include name="active_button_pressed"/>
<image filename="active-restore-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
<button function="maximize" state="prelight">
<draw_ops>
<include name="active_button_prelight"/>
<image filename="active-restore-button.png" x="2" y="2" width="width-4" height="height-4"/>
</draw_ops>
</button>
</frame_style>
<!-- Active (focused) shaded style -->
<frame_style name="focused_shaded" geometry="normal" parent="focused">
<piece position="left_titlebar_edge">
<draw_ops>
<image colorize="gtk:bg[SELECTED]" filename="active-left-top-border-shaded.png" x="0" y="3" width="object_width" height="object_height"/>
</draw_ops>
</piece>
<piece position="right_titlebar_edge">
<draw_ops>
<image filename="active-right-top-border-shaded.png" x="width - object_width" y="3" width="object_width" height="object_height"/>
</draw_ops>
</piece>
</frame_style>
<!-- Inactive border style -->
<frame_style name="border_unfocused" geometry="border" parent="normal">
<piece position="title"><draw_ops/></piece>
<piece position="titlebar">
<draw_ops>
<image filename="inactive-top-left-corner.png"
x="0" y="0" width="object_width" height="object_height"/>
<image filename="inactive-border-top-left-border.png" x="5" y="0"
width="((title_width + height / 2 - 4) `min` (width - object_width - 26))"
height="object_height"/>
<image filename="inactive-top-mid-border.png"
x="((title_width + height / 2) `min` (width - object_width - 6)) + 1"
y="0" width="object_width" height="object_height"/>
<image filename="inactive-border-top-right-border.png"
x="((title_width + height / 2 + 32)) + 1"
y="0"
width="(width - title_width - height / 2 - 32 - 7) `max` 0"
height="object_height"/>
<image filename="inactive-top-right-corner.png"
x="width - object_width" y="0" width="object_height" height="object_height"/>
</draw_ops>
</piece>
</frame_style>
<!-- Active (focused) border style -->
<frame_style name="border_focused" geometry="border" parent="focused">
<piece position="title"><draw_ops/></piece>
<piece position="titlebar">
<draw_ops>
<image filename="active-top-left-corner.png"
colorize="gtk:bg[SELECTED]"
x="0" y="0" width="object_width" height="object_height"/>
<image filename="active-border-top-left-border.png"
colorize="gtk:bg[SELECTED]" x="5" y="0"
width="((title_width + height / 2 - 4) `min` (width - object_width - 26))"
height="object_height"/>
<image filename="active-top-mid-left-border.png"
colorize="gtk:bg[SELECTED]"
x="((title_width + height / 2) `min` (width - object_width - 6)) + 1"
y="0" width="object_width" height="object_height"/>
<image filename="active-top-mid-right-border.png"
x="((title_width + height / 2) `min` (width - object_width - 6)) + 1"
y="0" width="object_width" height="object_height"/>
<image filename="active-border-top-right-border.png"
x="((title_width + height / 2 + 32)) + 1" y="0"
width="(width - title_width - height / 2 - 32 - 7) `max` 0"
height="object_height"/>
<image filename="active-top-right-corner.png"
x="width - object_width" y="0" width="object_height" height="object_height"/>
</draw_ops>
</piece>
</frame_style>
<frame_style_set name="normal">
<frame focus="yes" state="shaded" resize="both" style="focused_shaded"/>
<frame focus="yes" state="normal" resize="both" style="focused"/>
<frame focus="yes" state="maximized" style="focused_maximized"/>
<frame focus="yes" state="maximized_and_shaded" style="focused_maximized"/>
<frame focus="no" state="normal" resize="both" style="normal"/>
<frame focus="no" state="shaded" resize="both" style="normal_shaded"/>
<frame focus="no" state="maximized" style="normal_maximized"/>
<frame focus="no" state="maximized_and_shaded" style="normal_maximized"/>
</frame_style_set>
<frame_style_set name="border">
<frame focus="yes" state="normal" resize="both" style="border_focused"/>
<frame focus="yes" state="maximized" style="border_focused"/>
<frame focus="yes" state="shaded" resize="both" style="border_focused"/>
<frame focus="yes" state="maximized_and_shaded" style="border_focused"/>
<frame focus="no" state="normal" resize="both" style="border_unfocused"/>
<frame focus="no" state="maximized" style="border_unfocused"/>
<frame focus="no" state="shaded" resize="both" style="border_unfocused"/>
<frame focus="no" state="maximized_and_shaded" style="border_unfocused"/>
</frame_style_set>
<window type="normal" style_set="normal"/>
<window type="dialog" style_set="normal"/>
<window type="modal_dialog" style_set="normal"/>
<window type="menu" style_set="normal"/>
<window type="utility" style_set="normal"/>
<window type="border" style_set="border"/>
<menu_icon function="close" state="normal">
<draw_ops>
<image filename="active-close-button.png"
x="(width - object_width) / 2"
y="(height - object_height) / 2"
width="object_width" height="object_height"/>
</draw_ops>
</menu_icon>
<menu_icon function="maximize" state="normal">
<draw_ops>
<image filename="active-maximize-button.png"
x="(width - object_width) / 2"
y="(height - object_height) / 2"
width="object_width" height="object_height"/>
</draw_ops>
</menu_icon>
<menu_icon function="minimize" state="normal">
<draw_ops>
<image filename="active-minimize-button.png"
x="(width - object_width) / 2"
y="(height - object_height) / 2"
width="object_width" height="object_height"/>
</draw_ops>
</menu_icon>
<menu_icon function="unmaximize" state="normal">
<draw_ops>
</draw_ops>
</menu_icon>
</metacity_theme>