diff options
author | Havoc Pennington <hp@pobox.com> | 2002-02-07 03:07:56 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2002-02-07 03:07:56 +0000 |
commit | 8ae714eeaef03db0a55c11fc31834c8d65e2ea03 (patch) | |
tree | e3bc1027754f8e70bfc06266f798f682802c4342 /src/themes | |
parent | 2be2d8ccbe196193d383841e1c990843a35d4f1b (diff) | |
download | metacity-8ae714eeaef03db0a55c11fc31834c8d65e2ea03.tar.gz |
disable custom log handler and fatal mask for now
2002-02-06 Havoc Pennington <hp@pobox.com>
* src/main.c (main): disable custom log handler and fatal mask for
now
* src/theme.c (meta_draw_op_list_draw):
Add META_DRAW_CLIP
* src/main.c: load theme, monitor current theme setting
* src/prefs.c: add "current theme" setting
* src/stack.c (meta_stack_free): don't try to free
last_root_children_stacked if it doesn't exist
* src/themewidget.c: pluggable GtkMisc subclass to use
for menu icons
* src/screen.c (meta_screen_manage_all_windows): fix
signed/unsigned warning
* src/frames.c: port to theme system
(meta_frames_style_set): chain up
* theme-format.txt: new file
* configure.in: add more compiler warnings
* src/theme.c: add various stuff needed to get theme parser
working. Remove the "spacer" concept from FrameLayout object.
Add draw op that references a draw op list.
* configure.in: require GTK 1.3.13
* src/Makefile.am: add theme-parser.[hc], implement loading a
theme
* src/theme.c: add "draw title" and "draw window icon" operations
(meta_draw_op_draw): put object_width/object_height in expression
environment before computing x/y. Handle out-of-memory when
creating pixbufs. Assorted other cleanups.
Diffstat (limited to 'src/themes')
-rw-r--r-- | src/themes/Atlanta/metacity-theme-1.xml | 239 | ||||
-rw-r--r-- | src/themes/Makefile.am | 29 |
2 files changed, 268 insertions, 0 deletions
diff --git a/src/themes/Atlanta/metacity-theme-1.xml b/src/themes/Atlanta/metacity-theme-1.xml new file mode 100644 index 00000000..dd767325 --- /dev/null +++ b/src/themes/Atlanta/metacity-theme-1.xml @@ -0,0 +1,239 @@ +<?xml version="1.0"?> +<metacity_theme> +<info> + <name>Default</name> + <author>Havoc Pennington <hp@redhat.com></author> + <copyright>Â Havoc Pennington, 2002</copyright> + <date>February 3, 2002</date> + <description>Simple low-overhead default theme that comes with Metacity.</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="17"/> + <distance name="button_height" value="17"/> + <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> + +<!-- strip borders off the normal geometry --> +<frame_geometry name="normal_borderless" parent="normal"> + <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> + +<!-- 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="8"/> +<constant name="SpacerHeight" value="11"/> + +<!-- 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="(width - ArrowWidth) / 2" + y="(height - ArrowHeight) / 2" + width="ArrowWidth" + height="ArrowHeight"/> +</draw_ops> + +<draw_ops name="menu_button_pressed"> + <include name="button_pressed_bg"/> + <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="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-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="button_pressed_bg"/> + <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="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 - 1" y2="height - ButtonIPad - 1"/> + <line color="gtk:fg[NORMAL]" + x1="ButtonIPad" y1="height - ButtonIPad - 1" + x2="width - ButtonIPad - 1" y2="ButtonIPad"/> +</draw_ops> + +<draw_ops name="close_button_pressed"> + <include name="button_pressed_bg"/> + <include name="close_button"/> +</draw_ops> + +<draw_ops name="outer_bevel"> + <rectangle color="#000000" + 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="focus_background"> + <include name="outer_bevel"/> + <rectangle color="#000000" + 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="title_gradient"> + <gradient type="diagonal" x="0" y="0" width="width-SpacerWidth" height="height"> + <color value="blend/gtk:bg[NORMAL]/gtk:bg[SELECTED]/0.6"/> + <color value="gtk:bg[SELECTED]"/> + </gradient> + <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"> + <clip x="0" y="0" width="width-SpacerWidth" height="height"/> + <title color="gtk:fg[SELECTED]" + 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"> + <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_normal"> + <include name="title_text"/> +</draw_ops> + +<draw_ops name="title_focused"> + <include name="title_gradient"/> + <include name="title_text_focused"/> +</draw_ops> + +<frame_style name="normal_unfocused" geometry="normal"> + <piece position="entire_background" draw_ops="outer_bevel"/> + <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"/> + <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" parent="normal_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" parent="normal_focused"> + <button function="maximize" state="normal" draw_ops="restore_button"/> + <button function="maximize" state="pressed" draw_ops="restore_button_pressed"/> +</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> + +<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"/> + +<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> diff --git a/src/themes/Makefile.am b/src/themes/Makefile.am new file mode 100644 index 00000000..9edfd4b5 --- /dev/null +++ b/src/themes/Makefile.am @@ -0,0 +1,29 @@ +THEMES= \ + Atlanta \ + Crux + +THEME_DIR=$(pkgdatadir)/themes + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(THEME_DIR); \ + for THEME in $(THEMES); do \ + echo '-- Installing theme '$$THEME; \ + $(mkinstalldirs) $(DESTDIR)$(THEME_DIR)/$$THEME; \ + (installfiles=`find $(srcdir)/$$THEME -name "*.png" -o -name "*.xml"`; \ + for i in $$installfiles; do \ + echo '-- Installing '$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(THEME_DIR)/$$THEME; \ + done) \ + done + +dist-hook: + mkdir $(distdir)/themes; \ + for THEME in $(THEMES); do \ + echo '-- Disting theme '$$THEME; \ + mkdir $(distdir)/$$THEME; \ + (installfiles=`find $(srcdir)/$$THEME -name "*.png" -o -name "*.xml"`; \ + for i in $$installfiles; do \ + echo '-- Disting '$$i ; \ + cp $$i $(distdir)/$$THEME; \ + done) \ + done |