# The syntax in the engine sections is a mess. Here are some hints: # gradient : '{' direction gradient-color-list '}' # | '<' INT '>' -- palette ref # direction : /* nothing */ # | VERTICAL # | HORIZONTAL # gradient-color-list : color # : color ',' gradient-color-list # : color '[' weight ']' gradient-color-list # weight : FLOAT # | INT # color : "#RRGGBB" # | '{' FLOAT ',' FLOAT ',' FLOAT '}' # | '<' color-ext '>' # color-ext : STRING -- file in $HOME to read color from # | '<' INT '>' -- use indexed palette entry # | '<' INT ',' FLOAT '>' -- multiply palette entry # Allow the engine module to be loaded no matter what --prefix GTK+ # was configured with module_path ".:/usr/lib/gtk/themes/engines" # Default style for all widgets to build from style "default" { font = "-adobe-helvetica-medium-r-normal-*-*-120-*-*-p-*-iso8859-1" fg[NORMAL] = "#000000" fg[ACTIVE] = "#000000" fg[PRELIGHT] = "#000000" fg[INSENSITIVE] = "#000000" fg[SELECTED] = "#ffffff" bg[NORMAL] = "#dcdcdc" bg[ACTIVE] = "#ababab" bg[PRELIGHT] = "#f2f2f2" bg[INSENSITIVE] = "#ffffff" bg[SELECTED] = "#0A5F89" text[NORMAL] = "#000000" text[ACTIVE] = "#000000" text[PRELIGHT] = "#000000" text[SELECTED] = "#000000" text[INSENSITIVE] = "#000000" base[NORMAL] = "#ffffff" base[PRELIGHT] = "#ffffff" base[INSENSITIVE] = "#ffffff" engine "eazel-engine" { # The focus/selection color palette[0] = { "#dcdcdc" } # The gradient used for recoloring images palette[1] = { "#000000", <0>, "#ffffff" } # Used for recolouring inactive images palette[2] = { "#000000", "#888888", "#ffffff" } # Set these colors here, so we can just reference the palette # bg[SELECTED] = <0> # base[SELECTED] = <0> # focus_color = <0> # insensitive_colors = "#636563", "#cecfce" # Create the default (only) stock image table. This maps from # identifiers used in the engine to reference image parts to # the actual images, and sets attributes of the images stock { "CHECK" { image = "check-default.png" } "CHECK_FOCUS" { image = "check-default-focus.png" recolor = <1> } "CHECK_HI" { image = "check-hilight.png" } "CHECK_HI_FOCUS" { image = "check-hilight-focus.png" recolor = <1> } "CHECK_PRESSED" { image = "check-pressed.png" } "CHECK_PRESSED_FOCUS" { image = "check-pressed-focus.png" recolor = <1> } "CHECK_DISABLED" { image = "check-insensitive.png" } "CHECK_ACTIVE" { image = "check-active-default.png" } "CHECK_ACTIVE_FOCUS" { image = "check-active-default-focus.png" recolor = <1> } "CHECK_ACTIVE_HI" { image = "check-active-hilight.png" } "CHECK_ACTIVE_HI_FOCUS" { image = "check-active-hilight-focus.png" recolor = <1> } "CHECK_ACTIVE_PRESSED" { image = "check-active-pressed.png" } "CHECK_ACTIVE_PRESSED_FOCUS" { image = "check-active-pressed-focus.png" recolor = <1> } "CHECK_ACTIVE_DISABLED" { image = "check-active-insensitive.png" } "OPTION" { image = "radio-default.png" } "OPTION_FOCUS" { image = "radio-default-focus.png" recolor = <1> } "OPTION_HI" { image = "radio-hilight.png" } "OPTION_HI_FOCUS" { image = "radio-hilight-focus.png" recolor = <1> } "OPTION_PRESSED" { image = "radio-pressed.png" } "OPTION_PRESSED_FOCUS" { image = "radio-pressed-focus.png" recolor = <1> } "OPTION_DISABLED" { image = "radio-insensitive.png" } "OPTION_ACTIVE" { image = "radio-active-default.png" } "OPTION_ACTIVE_FOCUS" { image = "radio-active-default-focus.png" recolor = <1> } "OPTION_ACTIVE_HI" { image = "radio-active-hilight.png" } "OPTION_ACTIVE_HI_FOCUS" { image = "radio-active-hilight-focus.png" recolor = <1> } "OPTION_ACTIVE_PRESSED" { image = "radio-active-pressed.png" } "OPTION_ACTIVE_PRESSED_FOCUS" { image = "radio-active-pressed-focus.png" recolor = <1> } "OPTION_ACTIVE_DISABLED" { image = "radio-active-insensitive.png" } "H_TROUGH" { image = "scroller-h-trough.png" border = { 28, 28, 2, 2 } } "V_TROUGH" { image = "scroller-v-trough.png" border = { 2, 2, 28, 28 } } "ARROW_UP" { image = "scroller-arrow-up.png" } "ARROW_UP_HI" { image = "scroller-arrow-up-hilight.png" } "ARROW_UP_ACTIVE" { image = "scroller-arrow-up-pressed.png" } "ARROW_DOWN" { image = "scroller-arrow-down.png" } "ARROW_DOWN_HI" { image = "scroller-arrow-down-hilight.png" } "ARROW_DOWN_ACTIVE" { image = "scroller-arrow-down-pressed.png" } "ARROW_RIGHT" { image = "scroller-arrow-right.png" } "ARROW_RIGHT_HI" { image = "scroller-arrow-right-hilight.png" } "ARROW_RIGHT_ACTIVE" { image = "scroller-arrow-right-pressed.png" } "ARROW_LEFT" { image = "scroller-arrow-left.png" } "ARROW_LEFT_HI" { image = "scroller-arrow-left-hilight.png" } "ARROW_LEFT_ACTIVE" { image = "scroller-arrow-left-pressed.png" } "H_SCROLLBAR" { image = "scroller-h.png" border = { 3, 3, 1, 1 } recolor = <1> } "H_SCROLLBAR_HI" { image = "scroller-h-hilight.png" border = { 3, 3, 1, 1 } recolor = <1> } "H_SCROLLBAR_INACTIVE" { image = "scroller-h.png" border = { 3, 3, 1, 1 } recolor = <2> } "H_SCROLLBAR_THUMB" { image = "scroller-h-thumb.png" recolor = <1> } "H_SCROLLBAR_THUMB_HI" { image = "scroller-h-thumb.png" recolor = <1> } "H_SCROLLBAR_THUMB_INACTIVE" { image = "scroller-h-thumb.png" recolor = <2> } "V_SCROLLBAR" { image = "scroller-v.png" border = { 1, 1, 3, 3 } recolor = <1> } "V_SCROLLBAR_HI" { image = "scroller-v.png" border = { 1, 1, 3, 3 } recolor = <1> } "V_SCROLLBAR_INACTIVE" { image = "scroller-v.png" border = { 1, 1, 3, 3 } recolor = <1> } "V_SCROLLBAR_THUMB" { image = "scroller-v-thumb.png" recolor = <1> } "V_SCROLLBAR_THUMB_HI" { image = "scroller-v-thumb.png" recolor = <1> } "V_SCROLLBAR_THUMB_INACTIVE" { image = "scroller-v-thumb.png" recolor = <2> } "PROGRESS_BAR" { image = "progressbar.png" border = { 4, 4, 1, 1 } recolor = <1> } "PROGRESS_BAR_LEFT" { image = "progressbar-left.png" } "PROGRESS_BAR_RIGHT" { image = "progressbar-right.png" border = { 0, 0, 2, 0 } } "PROGRESS_BAR_INACTIVE" { image = "progressbar.png" border = { 4, 4, 1, 1 } recolor = <2> } "PROGRESS_TROUGH" { image = "progressbar_trough.png" border = { 6, 4, 6, 4 } } "H_SLIDER_THUMB" { image = "slider_h_thumb.png" border = { 4, 4, 1, 1 } recolor = <1> } "H_SLIDER_THUMB_INACTIVE" { image = "slider_h_thumb.png" border = { 4, 4, 1, 1 } recolor = <2> } "H_SLIDER_TROUGH" { image = "slider_h_trough.png" border = { 6, 6, 0, 0 } } "H_SLIDER_TROUGH_ACTIVE" { image = "slider_h_trough_focus.png" border = { 6, 6, 0, 0 } recolor = <1> } "V_SLIDER_THUMB" { image = "slider_v_thumb.png" border = { 1, 1, 4, 4 } recolor = <1> } "V_SLIDER_THUMB_INACTIVE" { image = "slider_v_thumb.png" border = { 1, 1, 4, 4 } recolor = <2> } "V_SLIDER_TROUGH" { image = "slider_v_trough.png" border = { 0, 0, 6, 6 } } "V_SLIDER_TROUGH_ACTIVE" { image = "slider_v_trough_focus.png" border = { 0, 0, 6, 6 } recolor = <1> } "TAB_TOP" { image = "tab_usel.png" border = { 4, 4, 10, 5 } } "TAB_TOP_LEFT" { image = "tab_usel-left.png" border = { 4, 4, 10, 5 } } "TAB_TOP_ACTIVE" { image = "tab_sel.png" border = { 4, 14, 10, 5 } } "TAB_BOTTOM" { image = "tab_usel-bottom.png" border = { 4, 4, 10, 5 } } "TAB_BOTTOM_LEFT" { image = "tab_usel-bottom-left.png" border = { 4, 4, 10, 5 } } "TAB_BOTTOM_ACTIVE" { image = "tab_sel-bottom.png" border = { 4, 4, 10, 5 } } "SPIN_ARROW_UP" { image = "arrow_up-spinner.png" } "SPIN_ARROW_DOWN" { image = "arrow_down-spinner.png" } } } } # common default class "GtkWidget" style "default" # Style for widgets that don't want gradient backgrounds style "no-gradients" { engine "eazel-engine" { gradient[NORMAL] = {} gradient[ACTIVE] = {} gradient[PRELIGHT] = {} gradient[SELECTED] = {} } } class "GtkNotebook" style "no-gradients" class "GtkRuler" style "no-gradients" # Style used for (prelighted) menu items style "menuitem" { fg[PRELIGHT] = "#000000" engine "eazel-engine" { bg[PRELIGHT] = <0> gradient[NORMAL] = {} gradient[ACTIVE] = {} gradient[SELECTED] = {} # by default menuitem_gradient just references <0> gradient[PRELIGHT] = { "#f2f2f2" } # { vertical : <0,0.5> [3] <0> [10] <0> [2] <0,0.6> } } } class "GtkMenuItem" style "menuitem" widget_class "*.*MenuItem.*" style "menuitem" style "menu" { engine "eazel-engine" { gradient[NORMAL] = {} gradient[ACTIVE] = {} gradient[SELECTED] = {} } } # This enables gradiented menu backgrounds class "GtkMenu" style "menu" style "entry" { engine "eazel-engine" { thickness = 3 } } # some extra padding around text entries, so the focus marking fits class "GtkEntry" style "entry" class "GtkText" style "entry" style "slider" { engine "eazel-engine" { thickness = 0 } } class "GtkVScale" style "slider" class "GtkHScale" style "slider" style "eventbox" { # Causes the parent-relative feature of gdk_window_set_back_pixmap () # to be used. bg_pixmap[NORMAL] = "" bg_pixmap[INSENSITIVE] = "" bg_pixmap[PRELIGHT] = "" bg_pixmap[SELECTED] = "" bg_pixmap[ACTIVE] = "" engine "eazel-engine" {} } # Ensure that there are no holes in tool bars, etc.. class "GtkEventBox" style "eventbox" class "GtkSocket" style "eventbox" class "GtkPlug" style "eventbox" class "BonoboSocket" style "eventbox" class "BonoboPlug" style "eventbox" class "NautilusZoomControl" style "eventbox" # This sucks, but so far I've found no way to get a gradient drawn # in the middle part of the Foobar. Maybe it's possible to hardcode # a hack in eazel-theme-draw.c? (draw_flat_box perhaps?) widget_class "FoobarWidget.*" style "no-gradients"