# # This file is part of RawTherapee. # # Copyright (c) 2004-2011 Gabor Horvath # # RawTherapee is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # RawTherapee is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with RawTherapee. If not, see . # # Please keep this gtkrc in sync with the other ones from Clearlooks based themes. gtk-color-scheme = "rt_salt_pinch:#800000\nrt_base_color:#707070\nrt_fg_color:#A9A9A9\nrt_tooltip_fg_color:#A5A5A5\nrt_selected_bg_color:#562020\nrt_selected_fg_color:#E2E2E2\nrt_text_color:#C0C0C0\nrt_bg_color:#5F5F5F\nrt_tooltip_bg_color:#404040\nrt_tool_bg:#575757\nrt_tool_border:#6F6F6F" style "clearlooks-default" { xthickness = 1 ythickness = 1 ####################### # Style Properties ####################### GtkButton::child-displacement-x = 1 GtkButton::child-displacement-y = 1 GtkButton::default-border = { 0, 0, 0, 0 } GtkButton::image-spacing = 4 GtkToolButton::icon-spacing = 4 GtkCheckButton::indicator-size = 14 GtkPaned::handle-size = 6 GtkRange::trough-border = 0 GtkRange::slider-width = 14 GtkRange::stepper-size = 10 GtkScale::slider-width = 14 GtkScale::slider-length = 30 GtkScale::trough-side-details = 0 GtkScrollbar::min-slider-length = 30 GtkMenuBar::internal-padding = 0 GtkExpander::expander-size = 12 GtkExpander::expander-spacing = 2 GtkToolbar::internal-padding = 1 GtkTreeView::expander-size = 12 GtkTreeView::vertical-separator = 0 GtkTreeView::even_row_color = shade(0.97, @rt_base_color) GtkTreeView::odd_row_color = shade(0.9, @rt_base_color) GtkMenu::horizontal-padding = 0 GtkMenu::vertical-padding = 0 WnckTasklist::fade-overlay-rect = 0 # The following line hints to gecko (and possibly other appliations) # that the entry should be drawn transparently on the canvas. # Without this, gecko will fill in the background of the entry. GtkEntry::honors-transparent-bg-hint = 1 GtkEntry::progress-border = { 2, 2, 2, 2 } #################### # Color Definitions #################### bg[NORMAL] = @rt_bg_color bg[PRELIGHT] = shade (1.02, @rt_bg_color) bg[SELECTED] = @rt_selected_bg_color bg[INSENSITIVE] = shade (0.95, @rt_bg_color) bg[ACTIVE] = shade (0.7, @rt_bg_color) fg[NORMAL] = @rt_fg_color fg[PRELIGHT] = @rt_fg_color fg[SELECTED] = @rt_selected_fg_color fg[INSENSITIVE] = mix (0.2, @rt_fg_color, @rt_bg_color) fg[ACTIVE] = @rt_fg_color text[NORMAL] = @rt_text_color text[PRELIGHT] = @rt_text_color text[SELECTED] = @rt_selected_fg_color text[INSENSITIVE] = darker (@rt_bg_color) text[ACTIVE] = @rt_selected_fg_color base[NORMAL] = @rt_base_color base[PRELIGHT] = shade (1.05, @rt_bg_color) base[SELECTED] = @rt_selected_bg_color base[INSENSITIVE] = @rt_bg_color base[ACTIVE] = @rt_selected_bg_color engine "clearlooks" { colorize_scrollbar = TRUE reliefstyle = 1 menubarstyle = 2 toolbarstyle = 1 animation = FALSE radius = 3.0 # style between CLASSIC, GLOSSY, INVERTED and GUMMY style = GUMMY # Set a hint to disable backward compatibility fallbacks. hint = "use-hints" } } style "wide" { xthickness = 2 ythickness = 2 } style "wider" { xthickness = 3 ythickness = 3 } style "clearlooks-entry" { xthickness = 3 ythickness = 3 bg[SELECTED] = mix (0.4, @rt_selected_bg_color, @rt_base_color) fg[SELECTED] = @rt_selected_fg_color engine "clearlooks" { focus_color = shade (0.65, @rt_selected_bg_color) } } style "clearlooks-paned" { bg[PRELIGHT] = shade (0.9, @rt_bg_color) engine "clearlooks" { hint = "paned" } } style "clearlooks-HSV" { engine "clearlooks" { hint = "HSV" disable_focus = TRUE } } style "clearlooks-spinbutton" { engine "clearlooks" { hint = "spinbutton" } } style "clearlooks-axisadjuster" = "clearlooks-spinbutton" { # background base[INSENSITIVE] = @rt_tool_bg # text text[INSENSITIVE] = @rt_fg_color } style "clearlooks-framelessspinbutton" { # IMPORTANT! # base[NORMAL] must have the same color than clearlooks.toolContainer / bg[NORMAL] base[NORMAL] = @rt_tool_bg base[INSENSITIVE] = @rt_tool_bg bg[NORMAL] = @rt_tool_bg bg[INSENSITIVE] = @rt_tool_bg } style "clearlooks-scale" { xthickness = 2 ythickness = 2 bg[NORMAL] = shade (0.96, @rt_bg_color) bg[PRELIGHT] = shade (1.06, @rt_bg_color) # when GtkScale::trough-side-details = 1, bg[SELECTED] set the color of the slider background on the left of the knob #bg[SELECTED] = @rt_bg_color engine "clearlooks" { focus_color = @rt_selected_bg_color hint = "scale" } } style "clearlooks-thresholdselector" { xthickness = 6 ythickness = 6 bg[NORMAL] = @rt_tool_bg bg[ACTIVE] = shade (1.45, @rt_bg_color) bg[PRELIGHT] = shade (1.70, @rt_bg_color) bg[SELECTED] = shade (2.00, @rt_bg_color) fg[PRELIGHT] = shade (1.30, @rt_fg_color) } style "clearlooks-vscale" { engine "clearlooks" { hint = "vscale" } } style "clearlooks-hscale" { engine "clearlooks" { hint = "hscale" } } style "clearlooks-scrollbar" { #bg[SELECTED] = shade (1.09, @rt_bg_color) engine "pixmap" { image { function = BOX detail = "trough" file = "gray_textured/trough2.png" border = { 6,6,6,6 } stretch = TRUE orientation = VERTICAL } image { function = BOX detail = "trough" file = "gray_textured/trough2-h.png" border = { 6,6,6,6 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = NORMAL file = "gray_textured/slider-h.png" border = { 6,6,2,2 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = PRELIGHT file = "gray_textured/slider-h-pre.png" border = { 6,6,2,2 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = INSENSITIVE file = "gray_textured/slider-h-ins.png" border = { 6,6,2,2 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = NORMAL file = "gray_textured/slider-v.png" border = { 2, 2, 6, 6 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = PRELIGHT file = "gray_textured/slider-v-pre.png" border = { 2, 2, 6, 6 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = INSENSITIVE file = "gray_textured/slider-v-ins.png" border = { 2,2,6,6 } stretch = TRUE orientation = VERTICAL } image { function = STEPPER state = NORMAL file = "gray_textured/null.png" border = { 1,1,4,4 } stretch = TRUE arrow_direction = UP overlay_file = "gray_textured/arrow-up.png" overlay_stretch = FALSE } image { function = STEPPER state = PRELIGHT file = "gray_textured/null.png" border = { 1,1,4,4 } stretch = TRUE arrow_direction = UP overlay_file = "gray_textured/arrow-up-pre.png" overlay_stretch = FALSE } image { function = STEPPER state = ACTIVE file = "gray_textured/null.png" border = { 1,1,4,4 } stretch = TRUE arrow_direction = UP overlay_file = "gray_textured/arrow-up.png" overlay_stretch = FALSE } image { function = STEPPER state = INSENSITIVE file = "gray_textured/null.png" border = { 1,1,4,4 } stretch = TRUE arrow_direction = UP overlay_file = "gray_textured/arrow-up-ins.png" overlay_stretch = FALSE } image { function = STEPPER state = NORMAL file = "gray_textured/null.png" border = { 1,1,4,4 } stretch = TRUE arrow_direction = DOWN overlay_file = "gray_textured/arrow-down.png" overlay_stretch = FALSE } image { function = STEPPER state = PRELIGHT file = "gray_textured/null.png" border = { 1,1,4,4 } stretch = TRUE arrow_direction = DOWN overlay_file = "gray_textured/arrow-down-pre.png" overlay_stretch = FALSE } image { function = STEPPER state = ACTIVE file = "gray_textured/null.png" border = { 1,1,4,4 } stretch = TRUE arrow_direction = DOWN overlay_file = "gray_textured/arrow-down.png" overlay_stretch = FALSE } image { function = STEPPER state = INSENSITIVE file = "gray_textured/null.png" border = { 1,1,4,4 } stretch = TRUE arrow_direction = DOWN overlay_file = "gray_textured/arrow-down-ins.png" overlay_stretch = FALSE } image { function = STEPPER state = NORMAL file = "gray_textured/null.png" border = { 4,4,1,1 } stretch = TRUE arrow_direction = RIGHT overlay_file = "gray_textured/arrow-right.png" overlay_stretch = FALSE } image { function = STEPPER state = PRELIGHT file = "gray_textured/null.png" border = { 4,4,1,1 } stretch = TRUE arrow_direction = RIGHT overlay_file = "gray_textured/arrow-right-pre.png" overlay_stretch = FALSE } image { function = STEPPER state = ACTIVE file = "gray_textured/null.png" border = { 4,4,1,1 } stretch = TRUE arrow_direction = RIGHT overlay_file = "gray_textured/arrow-right.png" overlay_stretch = FALSE } image { function = STEPPER state = INSENSITIVE file = "gray_textured/null.png" border = { 4,4,1,1 } stretch = TRUE arrow_direction = RIGHT overlay_file = "gray_textured/arrow-right-ins.png" overlay_stretch = FALSE } image { function = STEPPER state = NORMAL file = "gray_textured/null.png" border = { 4,4,1,1 } stretch = TRUE arrow_direction = LEFT overlay_file = "gray_textured/arrow-left.png" overlay_stretch = FALSE } image { function = STEPPER state = PRELIGHT file = "gray_textured/null.png" border = { 4,4,1,1 } stretch = TRUE arrow_direction = LEFT overlay_file = "gray_textured/arrow-left-pre.png" overlay_stretch = FALSE } image { function = STEPPER state = ACTIVE file = "gray_textured/null.png" border = { 4,4,1,1 } stretch = TRUE arrow_direction = LEFT overlay_file = "gray_textured/arrow-left.png" overlay_stretch = FALSE } image { function = STEPPER state = INSENSITIVE file = "gray_textured/null.png" border = { 4,4,1,1 } stretch = TRUE arrow_direction = LEFT overlay_file = "gray_textured/arrow-left-ins.png" overlay_stretch = FALSE } } } style "clearlooks-hscrollbar" { engine "clearlooks" { hint = "hscrollbar" } } style "clearlooks-vscrollbar" { engine "clearlooks" { hint = "vscrollbar" } } style "clearlooks-range" { engine "pixmap" { # image # { # function = FOCUS # file = "gray_textured/null.png" # stretch = TRUE # } image { function = BOX detail = "trough" file = "gray_textured/pbtroughh.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX detail = "trough" file = "gray_textured/pbtroughv.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = NORMAL file = "gray_textured/rangeslider.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = PRELIGHT file = "gray_textured/rangeslider-pre.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = ACTIVE file = "gray_textured/rangeslider-pre.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = INSENSITIVE file = "gray_textured/rangeslider-ins.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = NORMAL file = "gray_textured/rangeslider.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = PRELIGHT file = "gray_textured/rangeslider-pre.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = ACTIVE file = "gray_textured/rangeslider-pre.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = INSENSITIVE file = "gray_textured/rangeslider-ins.png" border = { 6, 6, 6, 6 } stretch = TRUE orientation = VERTICAL } } } style "clearlooks-notebook_bg" { bg[NORMAL] = @rt_bg_color bg[ACTIVE] = shade (0.85, @rt_bg_color) } style "clearlooks-toolContainer" { xthickness = 0 ythickness = 0 # IMPORTANT! # If you modify bg[NORMAL] below, you must set clearlooks-framelessspinbutton -> base[NORMAL] to the very same value bg[NORMAL] = @rt_tool_bg bg[INSENSITIVE] = @rt_tool_bg } style "clearlooks-separator" { bg[NORMAL] = mix(0.85, @rt_tool_bg, @rt_tool_border) bg[INSENSITIVE] = mix(0.60, @rt_tool_bg, @rt_tool_border) } style "clearlooks-frame" { bg[NORMAL] = mix(0.95, @rt_tool_bg, @rt_tool_border) bg[INSENSITIVE] = mix(0.60, @rt_tool_bg, @rt_tool_border) } style "clearlooks-toolFrame" = "clearlooks-toolContainer" { bg[NORMAL] = @rt_tool_bg fg[NORMAL] = @rt_tool_border fg[INSENSITIVE] = mix(0.5, @rt_bg_color, @rt_tool_border) } style "clearlooks-toolExpanderBox" { bg[NORMAL] = @rt_tool_bg bg[INSENSITIVE] = @rt_tool_bg } style "clearlooks-combobox" { text[NORMAL] = @rt_fg_color text[PRELIGHT] = shade(1.15, @rt_fg_color) text[SELECTED] = @rt_selected_fg_color text[INSENSITIVE] = mix (0.2, @rt_fg_color, @rt_bg_color) text[ACTIVE] = @rt_fg_color } style "clearlooks-button" { bg[NORMAL] = shade (0.93, @rt_tool_bg) bg[PRELIGHT] = shade (0.85, @rt_tool_bg) bg[ACTIVE] = shade (0.70, @rt_tool_bg) fg[NORMAL] = @rt_fg_color fg[PRELIGHT] = shade(1.15, @rt_fg_color) fg[SELECTED] = @rt_selected_fg_color fg[INSENSITIVE] = mix (0.2, @rt_fg_color, @rt_bg_color) fg[ACTIVE] = @rt_fg_color engine "clearlooks" { hint = "button" } } style "clearlooks-histButton" { GtkButton::child-displacement-x = 0 GtkButton::child-displacement-y = 0 } # The color is changed by the notebook_bg style, this style # changes the x/ythickness style "clearlooks-notebook" { xthickness = 3 ythickness = 3 bg[SELECTED] = @rt_salt_pinch } style "clearlooks-statusbar" { engine "clearlooks" { hint = "statusbar" } } style "clearlooks-comboboxentry" { engine "clearlooks" { # Note: # If you set the appears-as-list option on comboboxes in the theme, # then you should set this hint on the combobox instead. hint = "comboboxentry" } } style "clearlooks-expander" { xthickness = 3 ythickness = 3 fg[NORMAL] = "#a0a0a0" fg[PRELIGHT] = "#d0d0d0" fg[INSENSITIVE] = "#808080" bg[PRELIGHT] = mix (0.5, @rt_salt_pinch, @rt_bg_color) base[NORMAL] = @rt_salt_pinch base[PRELIGHT] = @rt_salt_pinch base[INSENSITIVE] = @rt_salt_pinch } style "clearlooks-subexpander" = "clearlooks-expander"{ bg[NORMAL] = @rt_tool_bg } style "clearlooks-menubar" { engine "clearlooks" { hint = "menubar" } } style "clearlooks-menu" { xthickness = 0 ythickness = 0 bg[NORMAL] = @rt_tooltip_bg_color engine "clearlooks" { radius = 0.0 } } style "clearlooks-menu_item" { xthickness = 2 ythickness = 3 fg[PRELIGHT] = @rt_selected_fg_color text[NORMAL] = @rt_fg_color text[PRELIGHT] = @rt_selected_fg_color } # This style is there to modify the separator menu items. The goals are: # 1. Get a specific height. # 2. The line should go to the edges (ie. no border at the left/right) style "clearlooks-separator_menu_item" { xthickness = 1 ythickness = 0 GtkSeparatorMenuItem::horizontal-padding = 0 GtkWidget::wide-separators = 1 GtkWidget::separator-width = 1 GtkWidget::separator-height = 7 } style "clearlooks-frame_title" { fg[NORMAL] = lighter (@rt_fg_color) fg[PRELIGHT] = lighter (@rt_fg_color) fg[ACTIVE] = lighter (@rt_fg_color) fg[SELECTED] = lighter (@rt_fg_color) } style "clearlooks-partialPasteHeaderSep" { bg[NORMAL] = mix (0.25, @rt_fg_color, @rt_bg_color) } style "clearlooks-checkbutton" { text[NORMAL] = @rt_selected_fg_color fg[PRELIGHT] = @rt_fg_color bg[SELECTED] = @rt_base_color bg[PRELIGHT] = @rt_base_color bg[SELECTED] = @rt_base_color engine "clearlooks" { hint = "checkbutton" } } style "clearlooks-treeview" { # For an unkown reason, shading 7C99AD produce a redish color, so we have to set the value manually text[ACTIVE] = @rt_selected_fg_color base[ACTIVE] = mix(0.50, @rt_selected_bg_color, @rt_base_color) engine "clearlooks" { hint = "treeview" } } # The almost useless progress bar style style "clearlooks-progressbar" { xthickness = 1 ythickness = 1 fg[PRELIGHT] = @rt_selected_fg_color engine "clearlooks" { # Explicitly set the radius for the progress bars inside menu items. radius = 3.0 hint = "progressbar" } } # This style is based on the clearlooks-default style, so that the colors from the button # style are overriden again. style "clearlooks-treeview_header" = "clearlooks-default" { xthickness = 2 ythickness = 1 bg[NORMAL] = shade (0.80, @rt_bg_color) engine "clearlooks" { radius = 0.0 hint = "treeview-header" } } style "clearlooks-tooltips" { xthickness = 4 ythickness = 4 bg[NORMAL] = @rt_tooltip_bg_color fg[NORMAL] = @rt_tooltip_fg_color } ############################################################################### # The following part of the gtkrc applies the different styles to the widgets. ############################################################################### # The clearlooks-default style is applied to every widget class "GtkWidget" style "clearlooks-default" class "GtkSeparator" style "wide" class "GtkFrame" style "wide" class "GtkCalendar" style "wide" class "GtkCheckButton" style "wider" class "GtkRadioButton" style "wider" class "GtkEntry" style "clearlooks-entry" class "GtkPaned" style "clearlooks-paned" class "GtkSpinButton" style "clearlooks-spinbutton" class "GtkRange" style "clearlooks-range" class "GtkScrollbar" style "clearlooks-scrollbar" class "GtkHSV" style "clearlooks-HSV" # General matching follows. The order is choosen so that the right styles override # each other. EG. progressbar needs to be more important than the menu match. widget_class "*" style "clearlooks-notebook_bg" # This is not perfect, it could be done better. # (That is modify *every* widget in the notebook, and change those back that # we really don't want changed) widget_class "**" style "clearlooks-notebook_bg" widget_class "**" style "clearlooks-notebook_bg" widget_class "**" style "clearlooks-notebook_bg" widget_class "**" style "clearlooks-notebook_bg" widget_class "**" style "clearlooks-notebook_bg" widget_class "*." style "clearlooks-combobox" widget_class "**" style "clearlooks-button" widget_class "*" style "clearlooks-notebook" widget_class "**" style "clearlooks-statusbar" #widget_class "**" style "clearlooks-comboboxentry" widget_class "**" style "clearlooks-combobox" widget_class "**" style "clearlooks-checkbutton" widget_class "**" style "clearlooks-menubar" widget_class "**" style "clearlooks-menu" widget_class "**" style "clearlooks-menu_item" widget_class "**" style "clearlooks-separator_menu_item" widget_class "*." style "clearlooks-frame" widget_class "*.." style "clearlooks-frame_title" widget_class "*.*" style "clearlooks-treeview" widget_class "*" style "clearlooks-progressbar" # Treeview headers (and similar stock GTK+ widgets) widget_class "*.." style "clearlooks-treeview_header" widget_class "*.." style "clearlooks-treeview_header" widget_class "*.." style "clearlooks-treeview_header" widget_class "*.." style "clearlooks-treeview_header" widget_class "*...*." style "clearlooks-separator" widget_class "*...*." style "clearlooks-toolExpanderBox" widget "*.partialPasteHeader.*" style "clearlooks-frame_title" widget "*.partialPasteHeaderSep" style "clearlooks-partialPasteHeaderSep" widget "*.histButton" style "clearlooks-histButton" widget "*.FramelessSpinButton" style "clearlooks-framelessspinbutton" widget "*.ThresholdSelector" style "clearlooks-thresholdselector" widget "*.MyExpanderTitle.*" style "clearlooks-expander" widget "*.MyExpanderTitle" style "clearlooks-expander" widget "*.ExpanderBox" style "clearlooks-toolFrame" widget "*.ExpanderBox.*.MyExpanderTitle" style "clearlooks-subexpander" widget "*.ExpanderBox.*.MyExpanderTitle.*" style "clearlooks-subexpander" widget "*.AxisAdjuster" style "clearlooks-axisadjuster" # The window of the tooltip is called "gtk-tooltip" ################################################################## # FIXME: # This will not work if one embeds eg. a button into the tooltip. # As far as I can tell right now we will need to rework the theme # quite a bit to get this working correctly. # (It will involve setting different priorities, etc.) ################################################################## widget "gtk-tooltip*" style "clearlooks-tooltips" gtk-icon-theme-name="Dark"