###################################################################### # Aluminum Alloy # A Port of a Mac OS X theme originally made by Max Rudberg - http://www.maxthemes.com #Thank you the permission and original pixmaps! ###################################################################### gtk-icon-sizes = "panel-menu=24,24:gtk-menu=16,16" gtk-menu-drop-shadow = 1 gtk-menu-shadow-delay = 10 include "icons/iconrc" style "osx-default" { GtkScrollbar::has_secondary_backward_stepper = 1 GtkScrollbar::has_secondary_forward_stepper = 0 #GtkWidget::interior_focus = 1 #GtkWidget::focus-line-width=0 GtkButton::default_border = { 0, 0, 0, 0 } GtkButton::default_outside_border = { 0, 0, 0, 0 } #GtkButton::default_border = { 3,3,3,3 } #GtkButton::default_outside_border = { 3,3,3,3 } #GtkDialog::action_area_border = {0,0,0,0} GtkButton::min_width = 23 #Yes or No? #GtkWidget::focus_padding = 1 #GtkEntry::padding = 2 GtkPaned::handle_size = 8 GtkTextView::shadow_type = GTK_SHADOW_IN GtkFrame::shadow_type = GTK_SHADOW_IN GtkScrolledWindow::shadow_type = GTK_SHADOW_IN #GtkEntry::shadow_type = GTK_SHADOW_NONE GtkSpin::shadow_type = GTK_SHADOW_NONE GtkComboBox::shadow_type = GTK_SHADOW_NONE GtkHandle::shadow_type = GTK_SHADOW_OUT #GtkContainer::shadow_type = GTK_SHADOW_NONE #GtkPaned::shadow_type = GTK_SHADOW_IN GtkMenuBar::internal-padding = 0 #GtkMenuBar::shadow_type = GTK_SHADOW_NONE GtkContainer::border_width = 0 #These properties control how the image on a button is displaced when it is clicked. #GtkButton::child_displacement_x = 0 #GtkButton::child_displacement_y = 1 #GtkButtonBox::child_min_width = 28 GtkOptionMenu::indicator_size = { 11, 20 } GtkOptionMenu::indicator_spacing = { 6, 3, 1, 1 } #xthickness = 1 #ythickness = 1 #This sets the color for odd rows in TreeViews to be light blue, instead of using #the color set by gtk. GtkTreeView::odd_row_color = "#d3d8e1" fg[NORMAL] = "#000000" fg[ACTIVE] = "#000000" # fg[PRELIGHT] = "#000000" fg[SELECTED] = "#000000" fg[INSENSITIVE] = "#747474" bg[NORMAL] = "#e4e7ed" bg[ACTIVE] = "#e4e7ed" bg[PRELIGHT] = "#e4e7ed" bg[SELECTED] = "#c4c4c4" bg[INSENSITIVE] = "#e4e7ed" base[NORMAL] = "#FFFFFF" base[ACTIVE] = "#8b929f" ## base[PRELIGHT] = "#FFFFFF" base[INSENSITIVE]= "#e4e7ed" base[SELECTED] = "#8b929f" text[INSENSITIVE]= "#747474" text[SELECTED] = "#000000" text[ACTIVE] = "#000000" text[PRELIGHT] = "#ffffff" #app backgrouds #bg_pixmap[NORMAL] = "bg_light.png" #bg_pixmap[PRELIGHT] = "bg_light.png" #A semi-transparent hi-light for files selected in Nautilus NautilusIconContainer::highlight_alpha=150 # NautilusIconContainer::dark_info_color = "#000000" # NautilusIconContainer::light_info_color = "#ffffff" engine "pixmap" { # # Tooltips # image { function = FLAT_BOX recolorable = TRUE detail = "tooltip" file = "tooltip.png" border = { 2, 2, 2, 2 } stretch = TRUE } # #This defines how the focus is drawn. Using a transparent image means there is #no line around a widget when it is in focus. image { function = FOCUS recolorable = TRUE overlay_file = "transparent.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = TRUE } #The following four entries describe how the different types of shadows #are drawn image { function = SHADOW recolorable = TRUE shadow = OUT file = "shadow_etched_out.png" border = { 3, 3, 3, 3} stretch = TRUE } image { function = SHADOW recolorable = TRUE shadow = IN file = "shadow_in.png" border = { 3, 3, 3, 3 } stretch = TRUE } image { function = SHADOW recolorable = TRUE shadow = ETCHED_IN file = "shadow_etched_in.png" border = { 3, 3, 3, 3 } stretch = TRUE } image { function = SHADOW recolorable = TRUE shadow = ETCHED_OUT file = "shadow_etched_out.png" border = { 3, 3, 3, 3 } stretch = TRUE } #How to draw horizontal lines image { function = HLINE recolorable = TRUE file = "hline_245.png" border = { 3, 3, 0, 0 } stretch = FALSE } #How to draw vertical lines image { function = VLINE recolorable = TRUE file = "vline.png" border = { 1, 0, 1, 1 } stretch = TRUE } # # The handle on Handleboxes # image { function = HANDLE recolorable = TRUE overlay_file = "pane_splitter.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE orientation = VERTICAL } image { function = HANDLE recolorable = TRUE overlay_file = "pane_splitter.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE orientation = HORIZONTAL } # # How to draw shadows with a gap on one side # } } ##################################################### #Buttons ##################################################### style "button" { xthickness = 3 ythickness = 0 engine "pixmap" { image { function = BOX recolorable = TRUE state = NORMAL detail = "buttondefault" shadow = IN file = "button_normal.png" border = {12,12,6,9} stretch = TRUE } image { function = BOX recolorable = FALSE state = NORMAL shadow = OUT file = "button_normal.png" border = {12,12,6,9} stretch = TRUE } image { function = BOX recolorable = FALSE state = PRELIGHT shadow = IN file = "button_prelight.png" border = {12,12,6,9} stretch = TRUE } image { function = BOX recolorable = FALSE state = ACTIVE shadow = IN file = "button_push.png" border = {12,12,6,9} stretch = TRUE } image { function = BOX recolorable = TRUE state = PRELIGHT shadow = OUT file = "button_prelight.png" border = {12,12,6,9} stretch = TRUE } image { function = BOX recolorable = TRUE state = NORMAL shadow = IN file = "button_prelight.png" border = {12,12,6,9} stretch = TRUE } image { function = BOX recolorable = TRUE state = INSENSITIVE shadow = IN file = "button_flat.png" border = {12,12,6,9} stretch = TRUE } image { function = BOX recolorable = TRUE state = INSENSITIVE shadow = OUT file = "button_flat.png" border = {12,12,6,9} stretch = TRUE } image { function = BOX recolorable = TRUE state = SELECTED shadow = IN file = "button_prelight.png" border = {12,12,6,9} stretch = TRUE } image { function = BOX recolorable = TRUE state = ACTIVE shadow = IN file = "button_prelight.png" border = {12,12,6,9} stretch = TRUE } } } class "GtkButton" style "button" ################################################ # Paned Widgets: Windows divided into two or more sections, which can be # resized by dragging handles. ################################################ style "osx-paned" = "osx-default" { #This section describes how panes are drawn. Panes are windows that are separated #into two parts by a horizontal or vertical divider. The instructions set here over-ride #the instructions set above for how to draw handles. #xthickness = 5 #ythickness = 5 #This defines the thickness of the bar that divides the window. GtkPaned::handle_size = 8 engine "pixmap" { # The handle on horizontal dividers image { function = HANDLE recolorable = TRUE file = "null.png" border = { 1, 1, 1, 1 } stretch = TRUE overlay_file = "pane_splitter.png" overlay_border = {0,0,0,0} overlay_stretch = FALSE orientation = HORIZONTAL } # The handle on vertical dividers image { function = HANDLE recolorable = TRUE file = "null.png" border = { 1, 1, 1, 1 } stretch = TRUE overlay_file = "pane_splitter.png" overlay_border = {0,0,0,0} overlay_stretch = FALSE orientation = VERTICAL } } } class "Gtk*Paned" style "osx-paned" ############################################### # Menus ############################################### style "osx-menu" { bg_pixmap[NORMAL] = "menu_back.png" xthickness = 1 ythickness = 1 #bg[SELECTED] = { 0.30,0.35,0.65 } fg[PRELIGHT] = "#ffffff" fg[NORMAL] = "#ffffff" fg[ACTIVE] = "#ffffff" engine "pixmap" { image { function = BOX recolorable = TRUE file = "menu_border.png" border = { 1, 1, 1, 1 } stretch = TRUE } image { function = HLINE recolorable = TRUE file = "hline_menu.png" border = { 0, 0, 0, 0 } stretch = FALSE } } } #widget_class "*Menu*" style "osx-menu" class "GtkMenu" style "osx-menu" ############################################### # Menu Items ############################################### style "MenuItem" { xthickness = 3 ythickness = 2 #bg[SELECTED] = { 0.30,0.35,0.65 } fg[PRELIGHT] = "#ffffff" engine "pixmap" { #This image is used to draw the highlight on a menu entry when it is #moused over. image { function = BOX recolorable = TRUE file = "menu_hi-light.png" border = { 10, 2, 2, 2 } stretch = TRUE } image { function = HLINE recolorable = TRUE file = "hline_menu.png" border = { 0, 0, 0, 0 } stretch = FALSE } } } widget_class "*.GtkMenuItem.*" style "MenuItem" widget_class "*.GtkAccelMenuItem.*" style "MenuItem" class "GtkMenuItem" style "MenuItem" ############################################### # Styles and Controls for Option Menus ############################################### style "OptionMenu" { engine "pixmap" { image { function = BOX recolorable = TRUE file = "menubar_option.png" border = { 12, 23, 7, 11 } stretch = TRUE } image { function = TAB recolorable = TRUE overlay_file = "menubar_option_arrow.png" overlay_stretch = FALSE } image { function = TAB recolorable = TRUE state = INSENSITIVE overlay_file = "menubar_option_arrow_insensitive.png" overlay_stretch = FALSE } } ########################################### } class "GtkOptionMenu" style "OptionMenu" ##################################################### #Notebook: How to draw the tabs, spacings, and backgrounds for notebooks. ##################################################### style "notebook" { xthickness = 4 ythickness = 1 engine "pixmap" { # NOTEBOOK TABS # FIXME: Do left and right tabs as well # TOP # top background tabs image { function = EXTENSION state = ACTIVE gap_side = BOTTOM file = "new_tab_top_inactive.png" border = {10,10,5,8} stretch = TRUE } # top foreground tab image { function = EXTENSION gap_side = BOTTOM file = "new_tab_top_active.png" border = {10,10,5,8} stretch = TRUE } #BOTTOM image { function = EXTENSION state = ACTIVE gap_side = TOP file = "new_tab_top_inactive.png" border = {10,10,5,8} stretch = TRUE } # top foreground tab image { function = EXTENSION gap_side = TOP file = "new_tab_top_active.png" border = {10,10,5,8} stretch = TRUE } #LEFT image { function = EXTENSION state = ACTIVE gap_side = RIGHT file = "new_tab_top_inactive.png" border = {10,10,5,8} stretch = TRUE } # top foreground tab image { function = EXTENSION gap_side = RIGHT file = "new_tab_top_active.png" border = {10,10,5,8} stretch = TRUE } #RIGHT image { function = EXTENSION state = ACTIVE gap_side = LEFT file = "new_tab_top_inactive.png" border = {10,10,5,8} stretch = TRUE } # top foreground tab image { function = EXTENSION gap_side = LEFT file = "new_tab_top_active.png" border = {10,10,5,8} stretch = TRUE } # NOTEBOOK BORDERS # tabs on top image { function = BOX_GAP gap_side = TOP file = "notebook_border.png" border = {10,10,10,10} stretch = TRUE } # tabs on bottom image { function = BOX_GAP gap_side = BOTTOM file = "notebook_border.png" border = {10,10,10,10} stretch = TRUE } # tabs on left image { function = BOX_GAP gap_side = LEFT file = "notebook_border.png" border = {10,10,10,10} stretch = TRUE } # tabs on right image { function = BOX_GAP gap_side = RIGHT file = "notebook_border.png" border = {10,10,10,10} stretch = TRUE } # # How to draw the box of a notebook when it isnt attached to a tab # image { function = BOX recolorable = TRUE file = "notebook_border.png" border = { 10, 10, 10, 10 } stretch = TRUE gap_side = TOP } } } class "GtkNotebook" style "notebook" ##################################################### # Text Entries ##################################################### style "entry" { #xthickness = 2 #ythickness = 2 #bg[SELECTED] = { 0.30,0.35,0.65 } #fg[PRELIGHT] = "#ffffff" # #In the default style we set this color to white because it sets the background color for #things like GtkText and GtkList, etc, which we want white. But here we set the background #color for GtkEntry to be light gray so that it blends in with things like toolbars. This causes a #problem for GtkEntry widgets that appear on, say, notebook tabs. It would be *great* if I #knew how to make the base of a GtkEntry widget transparent so that it blended in with #whatever widget it sits on top of. base[NORMAL] = "#e4e7ed" #bg_pixmap[NORMAL] = "menu_background.png" engine "pixmap" { image { function = FLAT_BOX recolorable = TRUE state = INSENSITIVE detail = "entry_bg" file = "text_entry.png" border = {6,6,6,6 } stretch = TRUE } image { function = FLAT_BOX recolorable = TRUE state = NORMAL detail = "entry_bg" file = "text_entry.png" border = {6,6,6,6 } stretch = TRUE } image { function = FLAT_BOX recolorable = TRUE state = SELECTED detail = "entry_bg" file = "out_sel.png" border = { 3,3,3,3 } stretch = TRUE } #This is a transparent shadow. image { function = SHADOW recolorable = TRUE shadow = IN #file = "null.png" file = "transparent.png" border = { 1,1,1,1 } stretch = TRUE } image { function = FOCUS recolorable = TRUE overlay_file = "transparent.png" overlay_border = { 2, 2, 2, 2 } overlay_stretch = TRUE } } } class "GtkEntry" style "entry" ############################################### # Gtk Lists, like the Rhythmbox playlist or Nautilus Listview ############################################### style "list-header" { xthickness = 2 #ythickness = 2 GtkTreeView::odd_row_color = "#e4ebf5" GtkTreeView::even_row_color = "#ffffff" } widget_class "*List" style "list-header" #widget_class "*Tree*" style "list-header" widget_class "GtkCList" style "list-header" #The values I set here have to do with the relative size of three graphic elements #I have used: the slider, the arrow box, and the trough. They all have the same width #of 15 pixels, but gtk wants to put in some spacing between them. It seems like it #places the sliders inside the trough with a default 1 pixel border on either side of the slider, #so that the trough has its width stretched by an additional two pixels(?). Setting the #trough border makes the arrow box sit on top of the trough squarely, by making sure that #the trough stays the same width as the arrowbox(?). I could be totally wrong here. ########################################### # Scrollbars ########################################### # style "Scrollbar" { GtkRange::trough_border = 0 GtkVScale::slider_length = 16 GtkVScale::slider_width = 19 GtkHScale::slider_length = 17 GtkHScale::slider_width = 19 GtkRange::slider_width = 15 GtkRange::stepper_size = 15 GtkScrollbar::min_slider_length = 30 engine "pixmap" { image { function = BOX recolorable = TRUE detail = "trough" file = "vertical_trough.png" border = { 0, 0, 39, 39 } stretch = TRUE orientation = VERTICAL } image { function = BOX recolorable = TRUE detail = "trough" file = "horizontal_trough.png" border = { 39, 39, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = NORMAL file = "scrollbar_horizontal.png" border = { 12, 12, 6, 6 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = PRELIGHT file = "scrollbar_horizontal.png" border = { 12, 12, 6 ,6 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = INSENSITIVE file = "scrollbar_horizontal_insens.png" border = { 12, 12, 6 ,6 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = NORMAL file = "scrollbar_vertical.png" border = { 6, 6, 12, 12 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER recolorable = TRUE state = PRELIGHT file = "scrollbar_vertical.png" border = { 6, 6, 12, 12 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER recolorable = TRUE state = INSENSITIVE file = "scrollbar_vertical_insens.png" border = { 6, 6, 12, 12 } stretch = TRUE orientation = VERTICAL } # innen a nyilak image { function = BOX recolorable = TRUE state = NORMAL file = "vscroll_down.png" border = { 0, 0, 0, 0 } stretch = TRUE } image { function = BOX recolorable = TRUE state = PRELIGHT file = "vscroll_down.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX recolorable = TRUE state = ACTIVE file = "vscroll_down.png" border = { 0, 0, 0, 0 } stretch = TRUE } image { function = BOX recolorable = TRUE state = INSENSITIVE file = "vscroll_down.png" border = { 0, 0, 0, 0 } stretch = TRUE } image { function = ARROW recolorable = TRUE state = NORMAL overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW recolorable = TRUE state = NORMAL overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW recolorable = TRUE state = NORMAL overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW recolorable = TRUE state = NORMAL overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW recolorable = TRUE state = PRELIGHT overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW recolorable = TRUE state = PRELIGHT overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW recolorable = TRUE state = PRELIGHT overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW recolorable = TRUE state = PRELIGHT overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } # itt az insensitive image { function = ARROW recolorable = TRUE state = INSENSITIVE overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW recolorable = TRUE state =INSENSITIVE overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW recolorable = TRUE state = INSENSITIVE overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW recolorable = TRUE state = INSENSITIVE overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } # idáig insensitive image { function = ARROW recolorable = TRUE shadow = IN overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW recolorable = TRUE shadow = IN overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW recolorable = TRUE shadow = IN overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW recolorable = TRUE shadow = IN overlay_file = "null.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } } } class "GtkScrollbar" style "Scrollbar" ########################################### # Scales: The sliders used for volume, track position, etc. Drawn without # arrow boxes on the end. ########################################### #Problem: scales in some apps, like the Gimp, dont look right when they #are small. The slider is too thin and has two overlapping pieces and looks #like crap. style "Scales" { GtkVScale::slider_length = 21 GtkVScale::slider_width = 21 GtkHScale::slider_length = 21 GtkHScale::slider_width = 21 engine "pixmap" { image { function = BOX recolorable = TRUE detail = "trough" file = "slider_vert_bg_new.png" border = { 0, 0, 10, 10 } stretch = TRUE orientation = VERTICAL } image { function = BOX recolorable = TRUE detail = "trough" file = "slider_horiz_bg_new.png" border = { 10, 10, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = NORMAL file = "slider_button_norm_south.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = PRELIGHT file = "slider_button_prelight_south.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = INSENSITIVE file = "slider_button_insens_south.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = NORMAL file = "slider_button_norm_east.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER recolorable = TRUE state = PRELIGHT file = "slider_button_prelight_east.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER recolorable = TRUE state = INSENSITIVE file = "slider_button_insens_east.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } } } class "GtkScale" style "Scales" ################################################## #Spin Controls #--------------- #These are buttons with two arrows that let you set some value by clicking the #the arrows. The widget might also have a text entry box for setting the value #directly by typing it in. ################################################## style "spin" { engine "pixmap" { #First we set the images for drawing different parts of a text entry that #might be attached to the widget. This could be done by inheriting from the #style used for GtkEntry, but we just set everything here explicitly. Still having #the same problem as with GtkEntry with the white outline if we do not draw #a shadow with a thick enough border. image { function = FLAT_BOX recolorable = TRUE state = NORMAL detail = "entry_bg" file = "text_entry.png" border = {6,6,6,6 } stretch = TRUE } image { function = FLAT_BOX recolorable = TRUE state = SELECTED detail = "entry_bg" file = "out_sel.png" border = { 3,3,3,3 } stretch = TRUE } image { function = FLAT_BOX recolorable = TRUE state = INSENSITIVE detail = "entry_bg" file = "text_entry.png" border = {6,6,6,6 } stretch = TRUE } image { function = FOCUS recolorable = TRUE overlay_file = "text_entry_focus.png" overlay_border = { 2, 2, 2, 2 } overlay_stretch = TRUE } image { function = SHADOW recolorable = TRUE shadow = IN file = "null.png" border = { 0,0,0,0 } stretch = TRUE } #The following two sections define the images used to draw the up and #down spin buttons in the INSENSITIVE state. image { function = BOX recolorable = TRUE state = INSENSITIVE detail = "spinbutton_up" file = "spin_up_insens.png" border = { 0,0,0,0 } stretch = TRUE } image { function = BOX recolorable = TRUE state = INSENSITIVE detail = "spinbutton_down" file = "spin_down_insens.png" border = { 0,0,0,0 } stretch = TRUE } #The following two sections define the images used to draw the up and #down spin buttons in the PRELIGHT state. image { function = BOX recolorable = TRUE state = PRELIGHT detail = "spinbutton_up" file = "spin_up_pre.png" border = { 0,0,0,0 } stretch = TRUE } image { function = BOX recolorable = TRUE state = PRELIGHT detail = "spinbutton_down" file = "spin_down_pre.png" border = { 0,0,0,0 } stretch = TRUE } #The following two sections define the images used to draw the up and #down spin buttons in any states that we have not already defined. image { function = BOX state = NORMAL recolorable = TRUE detail = "spinbutton_up" file = "spin_up.png" border = { 0,0,0,0 } stretch = TRUE } image { function = BOX recolorable = TRUE state = NORMAL detail = "spinbutton_down" file = "spin_down.png" border = { 0,0,0,0 } stretch = TRUE } #Pushed state image { function = BOX state = ACTIVE recolorable = TRUE detail = "spinbutton_up" file = "spin_up_push.png" border = { 0,0,0,0 } stretch = TRUE } image { function = BOX recolorable = TRUE state = ACTIVE detail = "spinbutton_down" file = "spin_down_push.png" border = { 0,0,0,0 } stretch = TRUE } #The arrows drawn on the spinbuttons are set by the next two #entries. Different types of arrows can be used for different #states by setting images for each state. image { function = ARROW recolorable = TRUE overlay_file = "spin_button_up_arrow.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW recolorable = TRUE overlay_file = "spin_button_down_arrow.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } } } class "GtkSpin*" style "spin" ############################################ # Check Boxes # -------------- # This section tells GTK how to draw check boxes. ############################################ style "CheckBox" { engine "pixmap" { #This is the image used to draw an unchecked box. image { function = CHECK recolorable = TRUE state = NORMAL shadow = OUT overlay_file = "check_out.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "check_out.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "check_out_push.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "check_out_insens.png" overlay_stretch = FALSE } #This is the image used to draw a selected (checked) box. image { function = CHECK recolorable = TRUE state = NORMAL shadow = IN overlay_file = "check_in.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "check_in.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "check_in_push.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "check_in_insens.png" overlay_stretch = FALSE } #Use this image to draw the highlight when a line with a check box #is moused over. image { function = FLAT_BOX recolorable = TRUE file = "checklight.png" border = { 1, 1, 1, 1 } } } } class "GtkCheckButton" style "CheckBox" ############################################ # Radio Buttons ############################################ style "RadioButton" { engine "pixmap" { image { function = OPTION recolorable = TRUE state = NORMAL shadow = OUT overlay_file = "option_out.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "option_out.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "option_out_push.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "option_out_insens.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = NORMAL shadow = IN overlay_file = "option_in.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "option_in.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "option_in_push.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "option_in_insens.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } #Use this image to draw the highlight when a line with a radio box #is moused over. image { function = FLAT_BOX recolorable = TRUE file = "checklight.png" border = { 1, 1, 1, 1 } } } } class "GtkRadioButton" style "RadioButton" ################################################ # Statusbars Drawn by gtk (info bar on the bottom of the window) ################################################ style "osx-GtkStatusbar" = "osx-default" { xthickness = 2 ythickness = 2 GtkStatusbar::shadow_type = GTK_SHADOW_NONE engine "pixmap" { #This does not seem to be working. It seems that you can tell gtk how #to draw the resizing grip in the bottom right corner of the window, which #seems to be part of the status bar. Not sure why it is not working. image { function = RESIZE_GRIP recolorable = TRUE #state = NORMAL detail = "statusbar" overlay_file = "resize_grip.png" overlay_border = {1,1,1,1 } overlay_stretch = FALSE } } } class "GtkStatusbar" style "osx-GtkStatusbar" ########################################### #Progress Bars ########################################### style "ProgressBar" { xthickness = 1 ythickness = 1 engine "pixmap" { image { function = BOX recolorable = TRUE detail = "bar" file = "progressbar.png" border = { 0, 0, 3, 3} stretch = FALSE } image { function = BOX recolorable = TRUE detail = "trough" file = "trough.png" border = { 3, 3, 4, 4} stretch = TRUE orientation = HORIZONTAL } } } class "GtkProgressBar" style "ProgressBar" ########################################### #GtkFrame ########################################### style "Frames" { #xthickness = 1 #ythickness = 1 font_name = "Bold" engine "pixmap" { image { function = FLAT_BOX recolorable = TRUE file = "menu_hi-light.png" border = { 10, 2, 2, 2} stretch = TRUE } image { function = EXTENSION state = ACTIVE gap_side = BOTTOM file = "menu_hi-light.png" border = {10,2,2,2} stretch = TRUE } } } #widget_class "*GtkNotebook.GtkLabel" style "Frames" #widget_class "*GtkNotebook.GtkHBox.GtkLabel" style "Frames" #widget_class "*GtkFrame.GtkLabel" style "Frames" #widget_class "*GtkFrame.GtkHBox.GtkLabel" style "Frames" ################################################ # Text Widgets ################################################ style "osx-Text" = "osx-default" { base[NORMAL] = "#FFFFFF" fg[PRELIGHT] = "#FFFFFF" } class "GtkTextView" style "osx-Text" class "GtkScrolledWindow" style "osx-Text" #Widgets that have not been defined yet class "GtkWidget" style "osx-default" style "osx-tooltips" = "osx-default" { xthickness = 4 ythickness = 4 bg[NORMAL] = { 1.0,1.0,0.75 } }