# XP-2002-v0.7 - XP's default Luna blue theme clone - GTK2 theme/style for Gnome, including a Metacity theme named Lunacity by cuvou # krig - krigenator@gmail.com include "scrollbar.rc" include "menubar.rc" include "panel.rc" #gtk-menu-drop-shadow = 1 #This is the default color scheme gtk_color_scheme = "fg_color:#030506\nbg_color:#ECE9D8\nbase_color:#FFFFFF\ntext_color:#162122\nselected_bg_color:#316AC5\nselected_fg_color:#ffffff\ntooltip_bg_color:#FFFFBC\ntooltip_fg_color:#121415" gtk-icon-sizes = "panel-menu=16,16:panel=18,18:gtk-button=20,20:gtk-large-toolbar=24,24:gtk-small-toolbar=18,18:gtk-menu=18,18" style "theme-default" { GtkButton::default_border = { 0, 0, 0, 0 } GtkButton::child-displacement-x = 0 GtkButton::child-displacement-y = 0 #GtkWidget::focus-padding = 0 GtkRange::trough-border = 1 GtkRange::slider-width = 17 GtkRange::stepper-size = 17 # GtkRange::activate-slider = 1 # GtkRange:: trough-side-details = 1 GtkRange:: trough-under-steppers = 1 GtkScrollbar::min_slider_length = 36 # GtkScrollbar::has-secondary-backward-stepper = 1 GtkPaned::handle_size = 8 GtkMenuBar::internal-padding = 0 GtkTreeView::expander_size = 13 #15 GtkExpander::expander_size = 13 #17 GtkScale::slider-length = 11 GtkScale::slider-width = 24 GtkScale::trough-border = 0 GtkWidget::link-color = "#0062dc" # blue GtkWidget::visited-link-color = "#8c00dc" #purple #GtkWidget::interior_focus = 2 WnckTasklist::fade-overlay-rect = 0 WnckTasklist::fade-loop-time = 5.0 # 5 seconds WnckTasklist::fade-opacity = 0.5 # final opacity #makes menu only overlap border GtkMenu::horizontal-offset = -6 #removes extra padding at top and bottom of menus. Makes menuitem overlap border GtkMenu::vertical-padding = 3 GtkMenu::horizontal-padding = 3 #set to the same as roundness, used for better hotspot selection of tabs # GtkNotebook::tab-curvature = 1 GtkNotebook::tab-overlap = 0 GtkMenuItem ::horizontal-padding = 3 GtkMenuItem ::toggle-spacing = 5 GtkMenuItem ::arrow-spacing = 3 #Spacing between edge with indicator and text # GtkOptionMenu ::indicator-size = {11, 5} #GtkOptionMenu ::indicator-spacing = {6, 5, 4, 4} GtkBox ::spacing = 5 GtkCheckButton ::indicator-size = 13 GtkCheckButton ::indicator-spacing = 4 GtkRadioButton ::indicator-size = 13 GtkTreeView::horizontal_separator = 2 # GtkTreeView::odd_row_color = "#D3E5FA" # mix(0.98, shade (0.98, @base_color), @selected_bg_color) GtkTreeView ::row_ending_details = 0 GtkTreeView ::even_row_color = "#FFFFFF" #"#FAFBFF" # "#D3E5FA" # "#EDF3FE" GtkTreeView ::odd_row_color = "#FFFFFF" # "#D3E5FA" # "#EDF3FE" GtkScrolledWindow::scrollbar-spacing = 0 GtkScrolledWindow::scrollbars-within-bevel = 1 ################################################## GtkStatusbar ::shadow_type = GTK_SHADOW_NONE # GtkMenubar ::shadow_type = GTK_SHADOW_NONE GtkToolbar ::shadow_type = GTK_SHADOW_OUT GtkCList ::shadow_type = GTK_SHADOW_IN ## GtkFrame ::shadow_type = GTK_SHADOW_IN GtkScrolledWindow::shadow_type = GTK_SHADOW_IN GtkContainer ::shadow_type = GTK_SHADOW_ETCHED_IN # GtkBox ::shadow_type = GTK_SHADOW_OUT ## GtkPaned ::shadow_type = GTK_SHADOW_IN ################################################### # GtkToggleToolButton::active = 1 # GtkToolbar::button-relief= GTK_RELIEF_NORMAL # uncomment for always draw buttons xthickness = 1 ythickness = 1 fg[NORMAL] = @fg_color fg[ACTIVE] = @fg_color fg[PRELIGHT] = @fg_color fg[SELECTED] = @selected_fg_color fg[INSENSITIVE] = mix (0.675, shade (0.95, @bg_color), @fg_color) bg[NORMAL] = @bg_color bg[ACTIVE] = @bg_color bg[PRELIGHT] = @bg_color bg[SELECTED] = @selected_bg_color bg[INSENSITIVE] = shade (1.06, @bg_color) base[NORMAL] = @base_color base[ACTIVE] = shade (0.65, @base_color) base[PRELIGHT] = @base_color base[SELECTED] = @selected_bg_color base[INSENSITIVE] = shade (1.025, @bg_color) text[NORMAL] = @text_color text[ACTIVE] = shade (0.95, @base_color) text[PRELIGHT] = @text_color text[SELECTED] = @selected_fg_color text[INSENSITIVE] = mix (0.675, shade (0.95, @bg_color), @fg_color) engine "pixmap" { # handles image { function = HANDLE recolorable = TRUE file = "Others/divider-h.png" stretch = TRUE overlay_file = "Handles/handle-h.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = HANDLE recolorable = TRUE file = "Others/divider-v.png" stretch = TRUE overlay_file = "Handles/handle-v.png" overlay_stretch = FALSE orientation = VERTICAL } # shadows image { function = SHADOW shadow = IN recolorable = TRUE file = "Shadows/shadow-in.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = SHADOW shadow = OUT recolorable = TRUE file = "Shadows/shadow-out.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = SHADOW shadow = ETCHED_IN recolorable = TRUE file = "Shadows/shadow-etched-in.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = SHADOW shadow = ETCHED_OUT recolorable = TRUE file = "Shadows/shadow-etched-out.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = SHADOW shadow = NONE recolorable = TRUE file = "Shadows/shadow-none.png" border = { 0, 0, 0, 0 } stretch = TRUE } # shadow gaps image { function = SHADOW_GAP recolorable = TRUE file = "Frame-Gap/shadow-gap.png" border = { 2, 2, 3, 2 } stretch = TRUE gap_start_file = "Frame-Gap/frame-gap-start.png" gap_start_border = { 3, 0, 3, 0 } gap_end_file = "Frame-Gap/frame-gap-end.png" gap_end_border = { 0, 3, 3, 0 } gap_side = TOP } # focus image { function = FOCUS recolorable = TRUE file = "Others/focus.png" # transparent image is better? border = { 2, 2, 2, 2 } stretch = TRUE } # tooltip # arrows image { function = ARROW recolorable = TRUE overlay_file = "Arrows/arrow-up.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW state = NORMAL recolorable = TRUE overlay_file = "Arrows/arrow-down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW state = PRELIGHT recolorable = TRUE overlay_file = "Arrows/arrow-down-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW state = ACTIVE recolorable = TRUE overlay_file = "Arrows/arrow-down-active.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW state = INSENSITIVE recolorable = TRUE overlay_file = "Arrows/arrow-down-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW recolorable = TRUE overlay_file = "Arrows/arrow-left.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW state = INSENSITIVE recolorable = TRUE overlay_file = "Arrows/arrow-left-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW recolorable = TRUE overlay_file = "Arrows/arrow-right.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = INSENSITIVE recolorable = TRUE overlay_file = "Arrows/arrow-right-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image # used for dialog bg. in apps. like Inkscape { function = BOX recolorable = TRUE file = "Others/null-2.png" border = { 2, 2, 2, 2 } stretch = TRUE } # resize grip image { function = RESIZE_GRIP detail = "statusbar" recolorable = TRUE overlay_file = "Handles/resize-grip.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch= FALSE } # lines image { function = VLINE recolorable = TRUE file = "Lines/line-v.png" border = { 0, 0, 0, 0 } stretch = TRUE } image { function = HLINE recolorable = TRUE file = "Lines/line-h.png" border = { 0,0,0,0 } stretch = TRUE } # entry image { function = BOX recolorable = TRUE shadow = IN state = NORMAL file = "Shadows/entry-in.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX recolorable = TRUE shadow = OUT state = NORMAL file = "Shadows/text-entry.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = SHADOW detail = "entry" shadow = IN recolorable = FALSE file = "Shadows/text-entry.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = SHADOW detail = "entry" shadow = OUT recolorable = FALSE file = "Shadows/text-entry-out.png" border = { 2, 2, 2, 2 } stretch = TRUE } # check - radio image { function = OPTION recolorable = TRUE state = NORMAL shadow = OUT overlay_file = "Check-Radio/radio-normal.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "Check-Radio/radio-normal-prelight.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "Check-Radio/radio-normal.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = SELECTED shadow = OUT overlay_file = "Check-Radio/radio-normal.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "Check-Radio/radio-off-inactive.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = NORMAL shadow = IN overlay_file = "Check-Radio/radio-active.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "Check-Radio/radio-active-prelight.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "Check-Radio/radio-active.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = SELECTED shadow = IN overlay_file = "Check-Radio/radio-active.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/radio-on-inactive.png" overlay_stretch = FALSE } #check image { function = CHECK recolorable = TRUE state = NORMAL shadow = OUT overlay_file = "Check-Radio/check-normal.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "Check-Radio/check-normal-prelight.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "Check-Radio/check-normal.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = SELECTED shadow = OUT overlay_file = "Check-Radio/check-normal.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "Check-Radio/check-off-inactive.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = NORMAL shadow = IN overlay_file = "Check-Radio/check-active.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "Check-Radio/check-active-prelight.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "Check-Radio/check-active.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = SELECTED shadow = IN overlay_file = "Check-Radio/check-active.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/check-on-inactive.png" overlay_stretch = FALSE } } } class "GtkWidget" style "theme-default" class "GtkSeparator" style "theme-default" class "GtkStatusbar" style "theme-default" class "GtkWindow" style "theme-default" widget "PanelDItemEditor" style "theme-default" class "GtkHandleBox" style "theme-default" #class "GtkMenu" style "theme-default" class "GtkSeparator" style "theme-default" class "GtkFrame" style "theme-default" class "GtkPaned" style "theme-default" #class "GtkTooltip" style "theme-default" widget_class "*." style "theme-default" #################### FRAME TITLE ##################### style "frame-title" { # font_name = "Bold" fg[NORMAL] = mix (0.95, shade (1.0, @selected_bg_color), "blue") } widget_class "*.." style "frame-title" #################### BUTTONS ####################### style "button" = "default" { xthickness = 1 ythickness = 1 engine "pixmap" { image { function = BOX detail = "buttondefault" recolorable = TRUE file = "Buttons/button-default.png" border = { 5, 5, 5, 5 } stretch = TRUE } image { function = BOX state = PRELIGHT recolorable = TRUE file = "Buttons/button-prelight.png" border = { 5, 5, 5, 5 } stretch = TRUE } image { function = BOX state = ACTIVE file = "Buttons/button-active.png" border = { 5, 5, 5, 5 } stretch = TRUE } image { function = BOX recolorable = TRUE state = SELECTED file = "Buttons/button-active.png" border = { 5, 5, 5, 5 } stretch = TRUE } image { function = BOX state = INSENSITIVE file = "Buttons/button-insensitive.png" border = { 5, 5, 5, 5 } stretch = TRUE } image { function = BOX file = "Buttons/button-normal.png" border = { 5, 5, 5, 5 } stretch = TRUE } } } class "GtkButton" style "button" class "*Font*" style "button" class "GtkToggleButton" style "button" #class "GtkCombo" style "button" class "GtkToolbar" style "button" class "GtkToolButton" style "button" #widget_class "*Text*" style "red" ########## gtk-combo ################### style "gtk-combo" # = "combo" { xthickness = 1 ythickness = 2 # GtkWidget::interior_focus = 0 engine "pixmap" { image { function = SHADOW detail = "entry" shadow = IN recolorable = FALSE file = "Combo/text-entry.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX recolorable = TRUE state = PRELIGHT file = "Combo/gtk-combo-prelight.png" border = { 3, 3, 3, 3} stretch = TRUE } image { function = BOX recolorable = TRUE state = NORMAL file = "Combo/gtk-combo-normal.png" border = { 3, 3, 3, 3} stretch = TRUE } image { function = BOX recolorable = TRUE state = ACTIVE file = "Combo/gtk-combo-active.png" border = { 3, 3, 3, 3} stretch = TRUE } image { function = BOX recolorable = TRUE state = SELECTED file = "Combo/gtk-combo-active.png" border = { 3, 3, 3, 3} stretch = TRUE } image { function = BOX recolorable = TRUE state = INSENSITIVE file = "Combo/gtk-combo-insensitive.png" border = { 3, 3, 3, 3} stretch = TRUE } image { function = ARROW state = INSENSITIVE recolorable = TRUE overlay_file = "Combo/arrow-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = ARROW recolorable = TRUE state = NORMAL overlay_file = "Combo/arrow.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = ARROW recolorable = TRUE state = PRELIGHT overlay_file = "Combo/arrow-selected.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = ARROW recolorable = TRUE state = SELECTED overlay_file = "Combo/arrow-selected.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = ARROW recolorable = TRUE state = ACTIVE overlay_file = "Combo/arrow-selected.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } } } widget_class "*.GtkComboBoxEntry*" style "gtk-combo" #widget_class "*.GtkCombo*GtkButton*" style "gtk-combo" # uncomment for button style #widget_class "*.GtkCombo*" style "gtk-combo" # works, blue buttons widget_class "*.GtkCombo" style "gtk-combo" #works #widget_class "*.GtkComboGtkButton" style "gtk-combo" # works ########## combo ################### style "combo" { xthickness = 0 # optionmenu arrow should be centered now ythickness = 1 # GtkWidget::interior_focus = 0 engine "pixmap" { image { function = SHADOW detail = "entry" shadow = IN recolorable = FALSE file = "Combo/text-entry.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX recolorable = TRUE state = PRELIGHT file = "Combo/combo-prelight.png" border = { 1, 18, 4, 4} stretch = TRUE } image { function = BOX recolorable = TRUE state = NORMAL file = "Combo/combo-normal.png" border = { 1, 18, 4, 4} stretch = TRUE } image { function = BOX recolorable = TRUE state = ACTIVE file = "Combo/combo-active.png" border = { 1, 18, 4, 4} stretch = TRUE } image { function = BOX recolorable = TRUE state = SELECTED file = "Combo/combo-active.png" border = { 1, 18, 4, 4} stretch = TRUE } image { function = BOX recolorable = TRUE state = INSENSITIVE file = "Combo/combo-insensitive.png" border = { 1, 18, 4, 4} stretch = TRUE } image { function = TAB state = INSENSITIVE recolorable = TRUE overlay_file = "Combo/arrow-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = TAB recolorable = TRUE state = NORMAL overlay_file = "Combo/arrow.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = TAB recolorable = TRUE state = PRELIGHT overlay_file = "Combo/arrow-selected.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = TAB recolorable = TRUE state = SELECTED overlay_file = "Combo/arrow-selected.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = TAB recolorable = TRUE state = ACTIVE overlay_file = "Combo/arrow-selected.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } } } class "GtkOptionMenu" style "combo" # works widget_class "GtkCombo*GtkButton" style "combo" ################### MENU ################################# style "menu" = "default" { xthickness = 1 ythickness = 1 fg[NORMAL] = @fg_color ########## corrected for firefox text[NORMAL] = @fg_color ########## corrected for openoffice fg[PRELIGHT] = @base_color text[PRELIGHT] = @base_color engine "pixmap" { image { function = BOX recolorable = TRUE detail = "menu" file = "Menu/menu-bg.png" border = { 6, 1, 1, 1 } stretch = TRUE } image { function = HLINE recolorable = TRUE file = "Lines/line-h.png" border = { 0, 0, 0, 0 } stretch = TRUE } } } class "GtkMenu" style "menu" class "*GtkContainer*GtkMenu*" style "menu" class "GtkMenuBar" style "menu" ################################################## style "menu-item" { ythickness = 2 fg[PRELIGHT] = @base_color text[PRELIGHT] = @base_color engine "pixmap" { image { function = BOX recolorable = TRUE file = "Menu/item-bg.png" border = { 1, 1, 1, 1 } stretch = TRUE } image { function = ARROW recolorable = TRUE state = NORMAL overlay_file = "Menu/menu-item-arrow.png" overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW recolorable = TRUE state = PRELIGHT overlay_file = "Menu/menu-item-arrow-prelight.png" overlay_stretch = FALSE arrow_direction = RIGHT } } } class "GtkMenuItem" style "menu-item" widget_class "**" style "menu-item" #widget_class "**" style "separator-menu-item" # NOT PRESENT ################################################## style "menubar-item" { font_name = "9" xthickness = 2 ythickness = 2 fg[NORMAL] = @text_color fg[PRELIGHT] = @base_color text[PRELIGHT] = @base_color engine "pixmap" { image { function = BOX recolorable = TRUE file = "Menu/menubar-selected.png" border = { 1, 1, 1, 1 } stretch = TRUE } } } widget_class "*GtkMenuBar*Item*" style "menubar-item" ######################################### style "menu-item-fix" { # font_name = "Bold" fg[NORMAL] = @text_color } widget_class "*.." style "menu-item-fix" ########### ENTRY ########################## style "theme-entry" = "theme-default" { xthickness = 3 ythickness = 2 # GtkWidget::interior_focus = 1 base[NORMAL] = "#FFFFFF" base[ACTIVE] = shade (0.65,@base_color) base[INSENSITIVE] = shade (1.025,@bg_color) engine "pixmap" { image { function = SHADOW detail = "entry" shadow = IN recolorable = TRUE file = "Shadows/text-entry.png" border = { 2, 2, 2, 2 } stretch = TRUE } } } class "GtkEntry" style "theme-entry" widget_class "*Panel*GtkEntry*" style "theme-entry" # like for applet properties dialog ################ SPIN ENTRY ###################################### style "spin" { #xthickness = 2 #ythickness = 2 # GtkWidget::interior_focus = 0 base[ACTIVE] = "#8593A6" engine "pixmap" { image { function = SHADOW detail = "entry" shadow = IN recolorable = TRUE file = "Shadows/text-entry.png" border = { 2, 2, 2, 2 } stretch = TRUE } } } class "GtkSpin*" style "spin" class "GtkSpinEntry*" style "spin" ################ SPIN BUTTON ###################################### style "spinbutton" { xthickness = 3 ythickness = 2 # GtkWidget::interior_focus = 0 engine "pixmap" { image { function = ARROW } # background - the same for all states image { function = BOX state = NORMAL detail = "spinbutton" recolorable = TRUE file = "Spin/spin-bg.png" border = { 5, 5, 5, 5 } stretch = TRUE } # spin button - using overlay image only # up image { function = BOX state = NORMAL detail = "spinbutton_up" recolorable = TRUE overlay_file = "Spin/arrow-up.png" overlay_stretch = FALSE } image { function = BOX state = PRELIGHT detail = "spinbutton_up" recolorable = TRUE overlay_file = "Spin/arrow-up.png" overlay_stretch = FALSE } image { function = BOX state = INSENSITIVE detail = "spinbutton_up" recolorable = TRUE overlay_file = "Spin/arrow-up-disable.png" overlay_stretch = FALSE } image { function = BOX state = ACTIVE detail = "spinbutton_up" recolorable = TRUE overlay_file = "Spin/arrow-up.png" overlay_stretch = FALSE } # down image { function = BOX state = NORMAL detail = "spinbutton_down" recolorable = TRUE overlay_file = "Spin/arrow-down.png" overlay_stretch = FALSE } image { function = BOX state = PRELIGHT detail = "spinbutton_down" recolorable = TRUE overlay_file = "Spin/arrow-down.png" overlay_stretch = FALSE } image { function = BOX state = INSENSITIVE detail = "spinbutton_down" recolorable = TRUE overlay_file = "Spin/arrow-down-disable.png" overlay_stretch = FALSE } image { function = BOX state = ACTIVE detail = "spinbutton_down" recolorable = TRUE #file = "Spin/spin-transparent.png" #border = { 5, 5, 5, 5 } #stretch = TRUE overlay_file = "Spin/arrow-down.png" overlay_stretch = FALSE } } } class "GtkSpinButton" style "spinbutton" ## ############### RADIO BUTTON ################## style "radiobutton" = "theme-default" { engine "pixmap" { image { function = OPTION recolorable = TRUE state = NORMAL shadow = OUT overlay_file = "Check-Radio/radio-normal.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "Check-Radio/radio-normal-prelight.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "Check-Radio/radio-active.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "Check-Radio/radio-off-inactive.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = NORMAL shadow = IN overlay_file = "Check-Radio/radio-active.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "Check-Radio/radio-active-prelight.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "Check-Radio/radio-active.png" overlay_stretch = FALSE } image { function = OPTION recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/radio-on-inactive.png" overlay_stretch = FALSE } } } class "GtkRadioButton" style "radiobutton" class "GtkRadioMenuItem"style "radiobutton" ######### CHECK BUTTON ##################################### style "checkbutton" = "theme-default" { engine "pixmap" { image { function = CHECK recolorable = TRUE state = NORMAL shadow = OUT overlay_file = "Check-Radio/check-normal.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "Check-Radio/check-normal-prelight.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "Check-Radio/check-active.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "Check-Radio/check-off-inactive.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = NORMAL shadow = IN overlay_file = "Check-Radio/check-active.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "Check-Radio/check-active-prelight.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "Check-Radio/check-active.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/check-on-inactive.png" overlay_stretch = FALSE } } } class "GtkCheckButton" style "checkbutton" class "GtkCheckMenuItem" style "checkbutton" ############# NOTEBOOK #################### style "notebook" = "default" { GtkNotebook ::tab-overlap = 0 # font_name = "9" # custom tabs font size here xthickness = 2 ythickness = 2 fg[ACTIVE] = @text_color engine "pixmap" { image { function = EXTENSION recolorable = TRUE state = ACTIVE file = "Tabs/tab-bottom.png" border = { 5, 5, 0, 5 } stretch = TRUE gap_side = TOP } image { function = EXTENSION recolorable = TRUE state = ACTIVE file = "Tabs/tab-top.png" border = { 5, 5, 5, 0 } stretch = TRUE gap_side = BOTTOM } image { function = EXTENSION recolorable = TRUE state = ACTIVE file = "Tabs/tab-left.png" border = { 5, 0, 5, 5 } stretch = TRUE gap_side = RIGHT } image { function = EXTENSION recolorable = TRUE state = ACTIVE file = "Tabs/tab-right.png" border = { 0, 5, 5, 5 } stretch = TRUE gap_side = LEFT } image { function = EXTENSION recolorable = TRUE file = "Tabs/tab-top-active.png" border = { 5, 5, 5, 0 } stretch = TRUE gap_side = BOTTOM } image { function = EXTENSION recolorable = TRUE file = "Tabs/tab-bottom-active.png" border = { 5, 5, 0, 5 } stretch = TRUE gap_side = TOP } image { function = EXTENSION recolorable = TRUE file = "Tabs/tab-left-active.png" border = { 5, 0, 5, 5 } stretch = TRUE gap_side = RIGHT } image { function = EXTENSION recolorable = TRUE file = "Tabs/tab-right-active.png" border = { 0, 5, 5, 5 } stretch = TRUE gap_side = LEFT } # How to draw boxes with a gap on one side (ie the page of a notebook) image { function = BOX_GAP recolorable = TRUE file = "Tabs/notebook.png" border = { 1, 1, 1, 2 } stretch = TRUE gap_file = "Tabs/gap-top.png" gap_border = { 5, 5, 5, 5 } gap_start_file = "Others/null.png" gap_start_border= { 0, 0, 0, 0 } gap_end_file = "Others/null.png" gap_end_border = { 0, 0, 0, 0 } gap_side = TOP } image { function = BOX_GAP recolorable = TRUE file = "Tabs/notebook-bottom.png" border = { 1, 1, 2, 1 } stretch = TRUE gap_file = "Tabs/gap-bottom.png" gap_border = { 5, 5, 5, 5 } gap_start_file = "Others/null.png" gap_start_border= { 0, 0, 0, 0 } gap_end_file = "Others/null.png" gap_end_border = { 0, 0, 0, 0 } gap_side = BOTTOM } image { function = BOX_GAP recolorable = TRUE file = "Tabs/notebook-left.png" border = { 1, 2, 1, 1 } stretch = TRUE gap_file = "Tabs/gap-left.png" gap_border = { 5, 5, 5, 5 } gap_start_file = "Others/null.png" gap_start_border= { 0, 0, 0, 0 } gap_end_file = "Others/null.png" gap_end_border = { 0, 0, 0, 0 } gap_side = LEFT } image { function = BOX_GAP recolorable = TRUE file = "Tabs/notebook-right.png" border = { 2, 1, 1, 1 } stretch = TRUE gap_file = "Tabs/gap-right.png" gap_border = { 5, 5, 5, 5 } gap_start_file = "Others/null.png" gap_start_border= { 0, 0, 0, 0 } gap_end_file = "Others/null.png" gap_end_border = { 0, 0, 0, 0 } gap_side = RIGHT } # How to draw the box of a notebook when it isnt attached to a tab image { function = BOX recolorable = TRUE file = "Tabs/notebook.png" border = { 1, 1, 1, 2 } stretch = TRUE } } } class "GtkNotebook" style "notebook" widget_class "*" style "notebook" widget_class "**" style "notebook" widget_class "*.GtkLabel*" style "notebook" # tabs label ############# PROGRESS BAR ############################## style "progressbar" { fg[PRELIGHT] = @text_color xthickness = 3 ythickness = 3 engine "pixmap" { image { function = BOX recolorable = TRUE detail = "bar" file = "ProgressBar/progressbar-horiz.png" border = { 1, 1, 1, 1 } stretch = FALSE orientation = HORIZONTAL } image { function = BOX recolorable = TRUE detail = "trough" file = "ProgressBar/trough-progressbar-horiz.png" border = { 4, 4, 3, 3 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX recolorable = TRUE detail = "bar" file = "ProgressBar/progressbar-vert.png" border = { 1, 1, 1, 1 } stretch = FALSE orientation = VERTICAL } image { function = BOX recolorable = TRUE detail = "trough" file = "ProgressBar/trough-progressbar-vert.png" border = { 3, 3, 4, 4 } stretch = TRUE orientation = VERTICAL } } } widget_class "*ProgressBar*" style "progressbar" class "GtkProgressBar" style "progressbar" class "GtkBar" style "progressbar" widget_class "GtkWindow.GtkMenu.GtkCheckMenuItem.GtkHBox.GtkProgressBar" style "progressbar" ############################# RANGE ####################### style "range" = "default" { engine "pixmap" { # trough image { function = BOX recolorable = TRUE detail = "trough" file = "Range/trough-horizontal.png" border = { 3, 3, 1, 1 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX recolorable = TRUE detail = "trough" file = "Range/trough-vertical.png" border = { 1, 1, 3, 3 } stretch = TRUE orientation = VERTICAL } # sliders # horizontal image { function = SLIDER recolorable = TRUE state = NORMAL file = "Range/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-horiz.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = PRELIGHT file = "Range/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-horiz-prelight.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = SLIDER recolorable = TRUE state = INSENSITIVE file = "Range/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-horiz-insensitive.png" overlay_stretch = FALSE orientation = HORIZONTAL } # vertical image { function = SLIDER recolorable = TRUE state = NORMAL file = "Range/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-vert.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = SLIDER recolorable = TRUE state = PRELIGHT file = "Range/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-vert-prelight.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = SLIDER recolorable = TRUE state = INSENSITIVE file = "Range/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-vert-insensitive.png" overlay_stretch = FALSE orientation = VERTICAL } } } class "GtkRange" style "range" #class "GtkScale" style "range" widget "*IdoScaleMenuItem*" style "range" #indicator applet scale items## important ############### list ################## style "list" #= "default" { # font_name = "Bold" # custom font size xthickness = 0 ythickness = 0 # fg[NORMAL] = "#FFFFFF" fg[ACTIVE] = @fg_color # button-pressed label color # fg[PRELIGHT] = "#FFFFFF" engine "pixmap" { image { function = FOCUS recolorable = TRUE file = "List/tab-focus.png" border = { 1, 1, 1, 1 } stretch = TRUE } image { function = BOX recolorable = TRUE state = PRELIGHT file = "List/tab-prelight.png" border = { 3, 2, 1, 3 } stretch = TRUE } image { function = BOX recolorable = TRUE state = SELECTED file = "List/tab-selected.png" border = { 3, 2, 1, 3 } stretch = TRUE } image { function = BOX recolorable = TRUE state = ACTIVE file = "List/tab-active.png" border = { 2, 2, 3, 2 } stretch = TRUE } image { function = BOX recolorable = TRUE state = NORMAL file = "List/tab-normal.png" border = { 3, 2, 1, 3 } stretch = TRUE } image { function = BOX recolorable = TRUE state = INSENSITIVE file = "List/tab-insensitive.png" border = { 3, 2, 1, 3 } stretch = TRUE } } } widget_class "*." style "list" widget_class "*." style "list" widget_class "*." style "list" widget_class "*." style "list" widget_class "*..*" style "list" widget_class "*.ETree.*" style "list" widget_class "**" style "list" widget_class "**" style "list" widget_class "**" style "list" ################# tree-view ################################ style "gtktreeview" = "list" { engine "pixmap" { image { function = BOX recolorable = TRUE shadow = OUT state = NORMAL file = "ProgressBar/progress.png" border = { 3, 3, 3, 3 } stretch = TRUE } image { function = BOX recolorable = TRUE state = PRELIGHT file = "ProgressBar/progress.png" border = { 3, 3, 3, 3 } stretch = TRUE } image { function = BOX recolorable = TRUE state = ACTIVE file = "ProgressBar/progress.png" border = { 3, 3, 3, 3 } stretch = TRUE } image { function = BOX recolorable = TRUE state = SELECTED file = "ProgressBar/progress.png" border = { 3, 3, 3, 3 } stretch = TRUE } } } class "GtkTreeView*" style "gtktreeview" ########### panel arrow fix ############################ style "panel-arrow" { engine "pixmap" { # TOP PANEL image { function = ARROW recolorable = TRUE overlay_file = "Arrows/transparent.png" overlay_border = { 2, 2, 2, 2 } overlay_stretch = FALSE arrow_direction = DOWN } # BOTTOM PANEL image { function = ARROW recolorable = TRUE overlay_file = "Arrows/transparent.png" overlay_border = { 2, 2, 2, 2 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW recolorable = TRUE overlay_file = "Arrows/panel-arrow-left.png" overlay_border = { 2, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW recolorable = TRUE overlay_file = "Arrows/panel-arrow-right.png" overlay_border = { 0, 2, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } } } class "*Panel*" style "panel-arrow" # for panel applets widget_class "*Panel*.*Button*.*Arrow*" style "panel-arrow" ################### TOOLBAR ########################### style "toolbar" { xthickness = 4 ythickness = 4 engine "pixmap" { image { function = BOX file = "Toolbar/toolbar.png" border = { 1, 1, 1, 2 } stretch = TRUE } image { function = HANDLE recolorable = TRUE file = "Others/divider-h.png" stretch = TRUE overlay_file = "Handles/handle-h.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = HANDLE recolorable = TRUE file = "Others/divider-v.png" stretch = TRUE overlay_file = "Handles/handle-v.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = ARROW state = ACTIVE recolorable = TRUE overlay_file = "Arrows/arrow-down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } } } class "GtkToolbar" style "toolbar" # was flat style class "*HandleBox" style "toolbar" class "*Toolbar" style "toolbar" widget_class "*Nautilus*ToolBar*" style "toolbar" widget_class "*BonoboDockItem" style "toolbar" widget_class "*Toolbar" style "toolbar" ##################### TOOLBAR BUTTONS ############################### style "toolbuttons" = "default" { xthickness = 2 ythickness = 2 fg[ACTIVE] = @base_color #fg[PRELIGHT] = @base_color ########## corrected for visualbox engine "pixmap" { image { function = BOX recolorable = TRUE state = NORMAL file = "Toolbar/toolbutton-normal.png" border = { 5, 5, 5, 5 } stretch = TRUE } image { function = BOX recolorable = TRUE state = PRELIGHT file = "Toolbar/toolbutton-normal.png" border = { 5, 5, 5, 5 } stretch = TRUE } image { function = BOX recolorable = TRUE state = ACTIVE file = "Toolbar/toolbutton-active.png" border = { 5, 5, 5, 5 } stretch = TRUE } image { function = BOX recolorable = TRUE state = INSENSITIVE file = "Toolbar/toolbutton-insensitive.png" border = { 5, 5, 5, 5 } stretch = TRUE } } } widget_class "*Tool*GtkButton" style "toolbuttons" ############## tiled image as background ################# style "panel-applet-background" = "default" { engine "pixmap" { image { function = FLAT_BOX file = "Panel/applet-bg.png" stretch = TRUE border = { 3, 3, 3, 3 } } image { function = ARROW state = NORMAL recolorable = TRUE overlay_file = "Arrows/arrow-down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } } } #class "GtkWindow" style "window-background" # uncomment others class widget "PanelDItemEditor" style "panel-applet-background" ################ ################## tooltips ####################### style "tooltips" #= "theme-default" { xthickness = 8 ythickness = 4 bg[NORMAL] = @tooltip_bg_color # "#DCDCA0" # "black" #added ::background # text[SELECTED] = @base_color #added ::top-left background color (aurora) fg[NORMAL] = @tooltip_fg_color # "white" #added ::text color # text[NORMAL] = shade (0.98, @bg_color) #added ::tooltip border (aurora) } widget "gtk-tooltips*" style "tooltips" widget "gtk-tooltip*" style "tooltips" ################ # END