wintergreen-theme/themes/Wintergreen/metacity-1/metacity-theme-1.xml

257 lines
14 KiB
XML

<?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>