<?xml version="1.0"?>
<metacity_theme>
	<info>
		<name>Wintergreen</name>
		<author>Sasha Koshka</author>
		<copyright>&#xC2; Sasha Koshka, 2024 and &#xC2; Havoc Pennington, 2002</copyright>
		<date>August 22, 2024</date>
		<description>Wintergreen window frames for Metacity. Based off of the "Atlanta" theme.</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"/>
		<aspect_ratio name="button" value="1.0"/>
		<distance name="title_vertical_pad" value="3"/>
		<border name="title_border" left="3" right="4" top="4" bottom="3"/>
		<border name="button_border" left="0" right="0" top="1" bottom="1"/>
	</frame_geometry>
	<frame_geometry name="normal_small_borders" parent="normal">
		<!-- strip borders off the normal geometry -->
		<distance name="left_width" value="0"/>
		<distance name="right_width" value="0"/>
		<distance name="bottom_height" value="0"/>
		<distance name="left_titlebar_edge" value="0"/>
		<distance name="right_titlebar_edge" value="0"/>
	</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="10"/>
		<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="ArrowSpacer" value="8"/>
	<constant name="MinArrowSize" value="7"/>
	<constant name="ButtonIPad" value="6"/>
	<constant name="ThickLineWidth" value="3"/>
	<constant name="IconTitleSpacing" value="2"/>
	<constant name="SpacerWidth" value="6"/>
	<constant name="SpacerHeight" value="9"/>
	<constant name="SpacerOffset" value="4"/>
	<!-- Buttons -->
	<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">
		<gtk_arrow state="normal" shadow="out" arrow="down" x="ArrowSpacer `min` (width-MinArrowSize)/2" y="ArrowSpacer `min` (height-MinArrowSize)/2" width="(width-(ArrowSpacer*2)) `max` MinArrowSize" height="(height-(ArrowSpacer*2)) `max` MinArrowSize"/>
	</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" y2="height - ButtonIPad - ThickLineWidth + 1" width="3"/>
		<!-- FIXME allow a constant here -->
	</draw_ops>
	<draw_ops name="minimize_button_pressed">
		<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-1" height="height-ButtonIPad*2-1"/>
		<line color="gtk:fg[NORMAL]" width="3" x1="ButtonIPad" y1="ButtonIPad+1" x2="width-ButtonIPad" y2="ButtonIPad+1"/>
	</draw_ops>
	<draw_ops name="maximize_button_pressed">
		<include name="maximize_button"/>
	</draw_ops>
	<draw_ops name="mini_window_icon">
		<rectangle color="gtk:bg[NORMAL]" filled="true" x="0" y="0" width="width-1" height="height-1"/>
		<rectangle color="gtk:fg[NORMAL]" filled="false" x="0" y="0" width="width-1" height="height-1"/>
		<line color="gtk:fg[NORMAL]" width="2" x1="0" y1="1" x2="width" 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_pressed">
		<include name="restore_button"/>
	</draw_ops>
	<draw_ops name="close_button">
		<line color="gtk:fg[NORMAL]" x1="ButtonIPad" y1="ButtonIPad" x2="width - ButtonIPad - 1" y2="height - ButtonIPad - 1" width="1"/>
		<line color="gtk:fg[NORMAL]" x1="ButtonIPad" y1="height - ButtonIPad - 1" x2="width - ButtonIPad - 1" y2="ButtonIPad" width="1"/>
	</draw_ops>
	<draw_ops name="close_button_pressed">
		<include name="close_button"/>
	</draw_ops>
	<draw_ops name="outer_bevel">
		<rectangle color="gtk:bg[NORMAL]" filled="true" x="1" y="1" width="width-3" height="height-3"/>
		<rectangle color="gtk:fg[NORMAL]" filled="false" 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_gradient">
		<gradient type="diagonal" x="0" y="0" width="width-SpacerWidth" height="height">
			<color value="#3D808F"/>
			<color value="#3D808F"/>
		</gradient>
	</draw_ops>
	<draw_ops name="title_spacer">
		<gtk_vline state="normal" x="width+1-SpacerWidth/2" y1="SpacerOffset" y2="height - SpacerOffset"/>
	</draw_ops>
	<draw_ops name="title_text_focused_with_icon">
		<clip x="0" y="0" width="width-SpacerWidth" height="height"/>
		<title color="#FFFFFF" x="(0 `max` (width-title_width-mini_icon_width-IconTitleSpacing)) / 2 + mini_icon_width + IconTitleSpacing" y="((height - title_height) / 2) `max` 0"/>
		<icon x="(0 `max` (width-title_width-mini_icon_width-IconTitleSpacing)) / 2" y="(height-mini_icon_height) / 2" width="mini_icon_width" height="mini_icon_height"/>
	</draw_ops>
	<draw_ops name="title_text_focused_no_icon">
		<clip x="0" y="0" width="width-SpacerWidth" height="height"/>
		<title color="gtk:fg[SELECTED]" x="(0 `max` (width-title_width)) / 2" y="((height - title_height) / 2) `max` 0"/>
	</draw_ops>
	<draw_ops name="title_text_with_icon">
		<clip x="0" y="0" width="width-SpacerWidth" height="height"/>
		<title color="gtk:fg[NORMAL]" x="(0 `max` (width-title_width-mini_icon_width-IconTitleSpacing)) / 2 + mini_icon_width + IconTitleSpacing" y="((height - title_height) / 2) `max` 0"/>
		<icon x="(0 `max` (width-title_width-mini_icon_width-IconTitleSpacing)) / 2" y="(height-mini_icon_height) / 2" width="mini_icon_width" height="mini_icon_height"/>
	</draw_ops>
	<draw_ops name="title_text_no_icon">
		<clip x="0" y="0" width="width-SpacerWidth" height="height"/>
		<title color="gtk:fg[NORMAL]" x="(0 `max` (width-title_width)) / 2" y="((height - title_height) / 2) `max` 0"/>
	</draw_ops>
	<draw_ops name="title_normal">
		<include name="title_spacer"/>
		<include name="title_text_with_icon"/>
	</draw_ops>
	<draw_ops name="title_focused">
		<include name="title_gradient"/>
		<include name="title_spacer"/>
		<include name="title_text_focused_with_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_gradient"/>
		<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="left_left_background" state="pressed" draw_ops="button_pressed_bg"/>
		<button function="left_middle_background" state="pressed" draw_ops="button_pressed_bg"/>
		<button function="left_right_background" state="pressed" draw_ops="button_pressed_bg"/>
		<button function="right_left_background" state="pressed" draw_ops="button_pressed_bg"/>
		<button function="right_middle_background" state="pressed" draw_ops="button_pressed_bg"/>
		<button function="right_right_background" state="pressed" draw_ops="button_pressed_bg"/>
		<button function="close" state="normal" draw_ops="close_button"/>
		<button function="close" state="pressed" draw_ops="close_button_pressed"/>
		<button function="minimize" state="normal" draw_ops="minimize_button"/>
		<button function="minimize" state="pressed" draw_ops="minimize_button_pressed"/>
		<button function="maximize" state="normal" draw_ops="maximize_button"/>
		<button function="maximize" state="pressed" draw_ops="maximize_button_pressed"/>
		<button function="menu" state="normal" draw_ops="menu_button"/>
		<button function="menu" state="pressed" draw_ops="menu_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="background_unfocused"/>
		<button function="maximize" state="normal" draw_ops="restore_button"/>
		<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_background"/>
		<button function="maximize" state="normal" draw_ops="restore_button"/>
		<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"/>
	<menu_icon function="maximize" state="normal" draw_ops="maximize_button"/>
	<menu_icon function="unmaximize" state="normal" draw_ops="restore_button"/>
	<menu_icon function="minimize" state="normal" draw_ops="minimize_button"/>
</metacity_theme>
