# Copyright 2014 Sam Hewitt. # # This file is part of the Paper GTK theme. # # The Paper GTK theme 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. # # The Paper GTK theme 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 the Paper GTK theme. If not, see http://www.gnu.org/licenses/. # Paper GTK2 Theme gtk-color-scheme = "base_color:#FFFFFF\nfg_color:#555555\ntooltip_fg_color:#FFFFFF\nselected_bg_color:#8B8B8B\nselected_fg_color:#FFFFFF\ntext_color:#555555\nbg_color:#EFEFEF\ninsensitive_bg_color:#efefef\ntooltip_bg_color:#333333\npanel_bg_color:#333333" gtk-auto-mnemonics = 1 gtk-primary-button-warps-slider = 1 style "default" { xthickness = 1 ythickness = 1 # Style Properties GtkWidget::focus-line-width = 1 GtkMenuBar::window-dragging = 1 GtkToolbar::window-dragging = 1 GtkToolbar::internal-padding = 4 GtkToolButton::icon-spacing = 4 GtkWidget::tooltip-radius = 3 GtkWidget::tooltip-alpha = 235 GtkWidget::new-tooltip-style = 1 #for compatibility GtkSeparatorMenuItem::horizontal-padding = 3 GtkSeparatorMenuItem::wide-separators = 1 GtkSeparatorMenuItem::separator-height = 1 GtkButton::child-displacement-y = 0 GtkButton::default-border = { 0, 0, 0, 0 } GtkButton::default-outside_border = { 0, 0, 0, 0 } GtkEntry::state-hint = 1 GtkScrollbar::trough-border = 0 GtkRange::trough-border = 0 GtkRange::slider-width = 13 GtkRange::stepper-size = 0 GtkScrollbar::activate-slider = 1 GtkScrollbar::has-backward-stepper = 0 GtkScrollbar::has-forward-stepper = 0 GtkScrollbar::min-slider-length = 42 GtkScrolledWindow::scrollbar-spacing = 0 GtkScrolledWindow::scrollbars-within-bevel = 1 GtkVScale::slider_length = 16 GtkVScale::slider_width = 16 GtkHScale::slider_length = 16 GtkHScale::slider_width = 17 GtkStatusbar::shadow_type = GTK_SHADOW_NONE GtkSpinButton::shadow_type = GTK_SHADOW_NONE GtkMenuBar::shadow-type = GTK_SHADOW_NONE GtkToolbar::shadow-type = GTK_SHADOW_NONE GtkMenuBar::internal-padding = 0 #( every window is misaligned for the sake of menus ): GtkMenu::horizontal-padding = 0 GtkMenu::vertical-padding = 0 GtkCheckButton::indicator_spacing = 3 GtkOptionMenu::indicator_spacing = { 8, 2, 0, 0 } GtkTreeView::row_ending_details = 0 GtkTreeView::expander-size = 11 GtkTreeView::vertical-separator = 4 GtkTreeView::horizontal-separator = 4 GtkTreeView::allow-rules = 1 GtkExpander::expander-size = 11 # Colors bg[NORMAL] = @bg_color bg[PRELIGHT] = shade (1.02, @bg_color) bg[SELECTED] = @selected_bg_color bg[INSENSITIVE] = @bg_color bg[ACTIVE] = shade (0.9, @bg_color) fg[NORMAL] = @text_color fg[PRELIGHT] = @fg_color fg[SELECTED] = @selected_fg_color fg[INSENSITIVE] = darker (@bg_color) fg[ACTIVE] = @fg_color text[NORMAL] = @text_color text[PRELIGHT] = @text_color text[SELECTED] = @selected_fg_color text[INSENSITIVE] = darker (@bg_color) text[ACTIVE] = @selected_fg_color base[NORMAL] = @base_color base[PRELIGHT] = shade (0.95, @bg_color) base[SELECTED] = @selected_bg_color base[INSENSITIVE] = @bg_color base[ACTIVE] = shade (0.9, @selected_bg_color) # For succinctness, all reasonable pixmap options remain here engine "pixmap" { # Check Buttons image { function = CHECK recolorable = TRUE state = NORMAL shadow = OUT overlay_file = "Check-Radio/checkbox-unchecked.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "Check-Radio/checkbox-unchecked.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "Check-Radio/checkbox-unchecked.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = SELECTED shadow = OUT overlay_file = "Check-Radio/checkbox-unchecked.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "Check-Radio/checkbox-unchecked-insensitive.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = NORMAL shadow = IN overlay_file = "Check-Radio/checkbox-checked.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "Check-Radio/checkbox-checked.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "Check-Radio/checkbox-checked.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = SELECTED shadow = IN overlay_file = "Check-Radio/checkbox-checked.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/checkbox-checked-insensitive.png" overlay_stretch = FALSE } # Radio Buttons image { function = OPTION state = NORMAL shadow = OUT overlay_file = "Check-Radio/option-unchecked.png" overlay_stretch = FALSE } image { function = OPTION state = PRELIGHT shadow = OUT overlay_file = "Check-Radio/option-unchecked.png" overlay_stretch = FALSE } image { function = OPTION state = ACTIVE shadow = OUT overlay_file = "Check-Radio/option-unchecked.png" overlay_stretch = FALSE } image { function = OPTION state = SELECTED shadow = OUT overlay_file = "Check-Radio/option-unchecked.png" overlay_stretch = FALSE } image { function = OPTION state = INSENSITIVE shadow = OUT overlay_file = "Check-Radio/option-unchecked-insensitive.png" overlay_stretch = FALSE } image { function = OPTION state = NORMAL shadow = IN overlay_file = "Check-Radio/option-checked.png" overlay_stretch = FALSE } image { function = OPTION state = PRELIGHT shadow = IN overlay_file = "Check-Radio/option-checked.png" overlay_stretch = FALSE } image { function = OPTION state = ACTIVE shadow = IN overlay_file = "Check-Radio/option-checked.png" overlay_stretch = FALSE } image { function = OPTION state = SELECTED shadow = IN overlay_file = "Check-Radio/option-checked.png" overlay_stretch = FALSE } image { function = OPTION state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/option-checked-insensitive.png" overlay_stretch = FALSE } # Arrows image { function = ARROW overlay_file = "Arrows/arrow-up.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/arrow-up-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW state = ACTIVE overlay_file = "Arrows/arrow-up-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW state = INSENSITIVE overlay_file = "Arrows/arrow-up-insens.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW state = NORMAL overlay_file = "Arrows/arrow-down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/arrow-down-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW state = ACTIVE overlay_file = "Arrows/arrow-down-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW state = INSENSITIVE overlay_file = "Arrows/arrow-down-insens.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW overlay_file = "Arrows/arrow-left.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/arrow-left-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW state = ACTIVE overlay_file = "Arrows/arrow-left-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW state = INSENSITIVE overlay_file = "Arrows/arrow-left-insens.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW overlay_file = "Arrows/arrow-right.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/arrow-right-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = ACTIVE overlay_file = "Arrows/arrow-right-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = INSENSITIVE overlay_file = "Arrows/arrow-right-insens.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } # Option Menu Arrows image { function = TAB state = INSENSITIVE overlay_file = "Arrows/arrow-down-insens.png" overlay_stretch = FALSE } image { function = TAB state = NORMAL overlay_file = "Arrows/arrow-down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = TAB state = PRELIGHT overlay_file = "Arrows/arrow-down-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } # Lines image { function = VLINE file = "Lines/line-v.png" border = { 0, 0, 0, 0 } stretch = TRUE } image { function = HLINE file = "Lines/line-h.png" border = { 0, 0, 0, 0 } stretch = TRUE } # Focus lines image { function = FOCUS file = "Others/focus.png" border = { 1, 1, 1, 1 } stretch = TRUE } # Handles image { function = HANDLE overlay_file = "Handles/handle-h.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = HANDLE overlay_file = "Handles/handle-v.png" overlay_stretch = FALSE orientation = VERTICAL } # Expanders image { function = EXPANDER expander_style = COLLAPSED file = "Expanders/plus.png" } image { function = EXPANDER expander_style = EXPANDED file = "Expanders/minus.png" } image { function = EXPANDER expander_style = SEMI_EXPANDED file = "Expanders/minus.png" } image { function = EXPANDER expander_style = SEMI_COLLAPSED file = "Expanders/plus.png" } image { function = RESIZE_GRIP state = NORMAL detail = "statusbar" overlay_file = "Others/null.png" overlay_border = { 0,0,0,0 } overlay_stretch = FALSE } # Shadows ( this area needs help :P ) image { function = SHADOW_GAP file = "Others/null.png" border = { 4, 4, 4, 4 } stretch = TRUE } } } style "dark" { color["bg_color_dark"] = "#263238" color["fg_color_dark"] = "#DADBDB" color["selected_fg_color_dark"] = "#DADBDB" color["selected_bg_color_dark"] = "#263238" fg[NORMAL] = @fg_color_dark fg[PRELIGHT] = shade (1.15, @fg_color_dark) fg[ACTIVE] = @fg_color_dark fg[SELECTED] = @selected_fg_color_dark fg[INSENSITIVE] = shade (0.5, @fg_color_dark) bg[NORMAL] = @bg_color_dark bg[ACTIVE] = shade (0.8, @bg_color_dark) bg[SELECTED] = @selected_bg_color bg[PRELIGHT] = shade (1.0, "#4D4C48") bg[INSENSITIVE] = shade (0.85, @bg_color_dark) text[NORMAL] = @fg_color_dark text[PRELIGHT] = shade (1.15, @fg_color_dark) text[SELECTED] = @selected_fg_color_dark text[ACTIVE] = @fg_color_dark text[INSENSITIVE] = mix (0.5, @bg_color, @bg_color_dark) } style "scrollbar" { engine "pixmap" { image { function = BOX detail = "trough" file = "Scrollbars/trough-scrollbar-horiz.png" border = { 19, 19, 4, 4 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX detail = "trough" file = "Scrollbars/trough-scrollbar-vert.png" border = { 4, 4, 19, 19 } stretch = TRUE orientation = VERTICAL } # Sliders image { function = SLIDER state = NORMAL file = "Scrollbars/slider-horiz.png" border = { 7, 7, 5, 5 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = ACTIVE file = "Scrollbars/slider-horiz-active.png" border = { 7, 7, 5, 5 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = PRELIGHT file = "Scrollbars/slider-horiz-prelight.png" border = { 7, 7, 5, 5 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = INSENSITIVE file = "Scrollbars/slider-horiz-insens.png" border = { 7, 7, 5, 5 } stretch = TRUE orientation = HORIZONTAL } # X Verticals image { function = SLIDER state = NORMAL file = "Scrollbars/slider-vert.png" border = { 5, 5, 7, 7 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = ACTIVE file = "Scrollbars/slider-vert-active.png" border = { 5, 5, 7, 7 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = PRELIGHT file = "Scrollbars/slider-vert-prelight.png" border = { 5, 5, 7, 7 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = INSENSITIVE file = "Scrollbars/slider-vert-insens.png" border = { 5, 5, 7, 7 } stretch = TRUE orientation = VERTICAL } } } style "scrollbar_dark" { engine "pixmap" { image { function = BOX detail = "trough" file = "Scrollbars/trough-scrollbar-horiz-dark.png" border = { 19, 19, 4, 4 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX detail = "trough" file = "Scrollbars/trough-scrollbar-vert-dark.png" border = { 4, 4, 19, 19 } stretch = TRUE orientation = VERTICAL } # Sliders image { function = SLIDER state = NORMAL file = "Scrollbars/slider-horiz.png" border = { 7, 7, 5, 5 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = ACTIVE file = "Scrollbars/slider-horiz-active.png" border = { 7, 7, 5, 5 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = PRELIGHT file = "Scrollbars/slider-horiz-prelight.png" border = { 7, 7, 5, 5 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = INSENSITIVE file = "Scrollbars/slider-horiz-insens.png" border = { 7, 7, 5, 5 } stretch = TRUE orientation = HORIZONTAL } # X Verticals image { function = SLIDER state = NORMAL file = "Scrollbars/slider-vert.png" border = { 5, 5, 7, 7 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = ACTIVE file = "Scrollbars/slider-vert-active.png" border = { 5, 5, 7, 7 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = PRELIGHT file = "Scrollbars/slider-vert-prelight.png" border = { 5, 5, 7, 7 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = INSENSITIVE file = "Scrollbars/slider-vert-insens.png" border = { 5, 5, 7, 7 } stretch = TRUE orientation = VERTICAL } } } style "menubar" { bg[PRELIGHT] = "#FFF" fg[SELECTED] = @text_color xthickness = 0 ythickness = 0 engine "pixmap" { image { function = BOX recolorable = TRUE state = PRELIGHT file = "Menu-Menubar/menubar_button.png" border = { 4, 4, 4, 4 } stretch = TRUE } } } style "menu" { xthickness = 0 ythickness = 0 GtkMenuItem::arrow-scaling = 0.4 bg[NORMAL] = shade (1.08, @bg_color) bg[INSENSITIVE] = @base_color bg[PRELIGHT] = @base_color engine "pixmap" # For menus that use horizontal lines rather than gtkseparator { image { function = HLINE file = "Lines/menu_line_h.png" border = { 0, 0, 0, 0 } stretch = TRUE } } } style "menu_item" { xthickness = 2 ythickness = 4 # HACK: Gtk doesn't actually read this value # while rendering the menu items, but Libreoffice # does; setting this value equal to the one in # fg[PRELIGHT] ensures a code path in the LO theming code # that falls back to a dark text color for menu item text # highlight. The price to pay is black text on menus as well, # but at least it's readable. # See https://bugs.freedesktop.org/show_bug.cgi?id=38038 bg[SELECTED] = @selected_fg_color bg[PRELIGHT] = @selected_bg_color fg[PRELIGHT] = @selected_fg_color text[PRELIGHT] = @selected_fg_color engine "pixmap" { # Check Buttons image { function = CHECK recolorable = TRUE state = NORMAL shadow = OUT overlay_file = "Others/null.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "Others/null.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "Others/null.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "Others/null.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = NORMAL shadow = IN overlay_file = "Check-Radio/menucheck.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "Check-Radio/menucheck_prelight.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "Check-Radio/menucheck.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "Others/null.png" overlay_stretch = FALSE } # Radio Buttons image { function = OPTION state = NORMAL shadow = OUT overlay_file = "Others/null.png" overlay_stretch = FALSE } image { function = OPTION state = PRELIGHT shadow = OUT overlay_file = "Others/null.png" overlay_stretch = FALSE } image { function = OPTION state = ACTIVE shadow = OUT overlay_file = "Others/null.png" overlay_stretch = FALSE } image { function = OPTION state = INSENSITIVE shadow = OUT overlay_file = "Others/null.png" overlay_stretch = FALSE } image { function = OPTION state = NORMAL shadow = IN overlay_file = "Check-Radio/menuoption.png" overlay_stretch = FALSE } image { function = OPTION state = PRELIGHT shadow = IN overlay_file = "Check-Radio/menuoption_prelight.png" overlay_stretch = FALSE } image { function = OPTION state = ACTIVE shadow = IN overlay_file = "Check-Radio/menuoption.png" overlay_stretch = FALSE } image { function = OPTION state = INSENSITIVE shadow = IN overlay_file = "Others/null.png" overlay_stretch = FALSE } image { function = SHADOW # This fixes boxy Qt menu items file = "Others/null.png" border = { 4, 4, 4, 4 } stretch = TRUE } # Arrow Buttons image { function = ARROW state = NORMAL overlay_file = "Arrows/menu-arrow.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/menu-arrow-prelight.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } } } style "menubar_item" { xthickness = 2 ythickness = 3 bg[PRELIGHT] = @selected_fg_color fg[PRELIGHT] = @text_color } style "button" { xthickness = 4 ythickness = 3 engine "pixmap" { image { function = BOX state = NORMAL file = "Buttons/button-default.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = BOX state = PRELIGHT file = "Buttons/button-prelight.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = BOX state = ACTIVE file = "Buttons/button-pressed.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = BOX state = INSENSITIVE file = "Buttons/button-insensitive.png" border = { 4, 4, 4, 4 } stretch = TRUE } } } style "button_nohilight" { xthickness = 4 ythickness = 3 engine "pixmap" { image { function = BOX state = NORMAL file = "Buttons/button-default-nohilight.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = BOX state = PRELIGHT file = "Buttons/button-prelight-nohilight.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = BOX state = ACTIVE file = "Buttons/button-pressed-nohilight.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = BOX state = INSENSITIVE file = "Buttons/button-insensitive-nohilight.png" border = { 4, 4, 4, 4 } stretch = TRUE } } } style "checkbutton" { fg[PRELIGHT] = @text_color fg[ACTIVE] = @text_color } style "entry" { xthickness = 3 ythickness = 4 base[NORMAL] = @base_color base[INSENSITIVE] = @insensitive_bg_color engine "pixmap" { image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/entry-border-bg.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/entry-border-disabled-bg.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/entry-border-active-bg.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = FLAT_BOX detail = "entry_bg" state = NORMAL overlay_file = "Entry/entry-border-fill.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = TRUE } image { function = FLAT_BOX detail = "entry_bg" state = ACTIVE overlay_file = "Entry/entry-border-fill.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = TRUE } } } style "notebook_entry" { engine "pixmap" { image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/entry-border-notebook.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/entry-border-disabled-notebook.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/entry-border-active-notebook.png" border = { 4, 4, 4, 4 } stretch = TRUE } } } style "notebook_tab_label" { fg[ACTIVE] = @text_color } style "combobox_entry" { xthickness = 3 ythickness = 4 engine "pixmap" { # LTR version image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/combo-entry-border-bg.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/combo-entry-border-disabled-bg.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/combo-entry-border-active-bg.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } # RTL version image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/combo-entry-border-rtl-bg.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/combo-entry-border-disabled-rtl-bg.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/combo-entry-border-active-rtl-bg.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } } } style "notebook_combobox_entry" { engine "pixmap" { # LTR version image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/combo-entry-border-notebook.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/combo-entry-border-disabled-notebook.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/combo-entry-border-active-notebook.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } # RTL version image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/combo-entry-border-rtl-notebook.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/combo-entry-border-disabled-rtl-notebook.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/combo-entry-border-active-rtl-notebook.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } } } style "combobox_entry_button" { fg[ACTIVE] = @text_color engine "pixmap" { # LTR version image { function = BOX state = NORMAL file = "Entry/combo-entry-button.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } image { function = BOX state = PRELIGHT file = "Entry/combo-entry-button.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } image { function = BOX state = INSENSITIVE file = "Entry/combo-entry-button-disabled.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } image { function = BOX state = ACTIVE file = "Entry/combo-entry-button-active.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = LTR } # RTL version image { function = BOX state = NORMAL file = "Entry/combo-entry-button-rtl.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } image { function = BOX state = PRELIGHT file = "Entry/combo-entry-button-rtl.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } image { function = BOX state = INSENSITIVE file = "Entry/combo-entry-button-disabled-rtl.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } image { function = BOX state = ACTIVE file = "Entry/combo-entry-button-active-rtl.png" border = { 4, 4, 5, 4 } stretch = TRUE direction = RTL } } } style "spinbutton" { bg[NORMAL] = @bg_color xthickness = 3 ythickness = 4 engine "pixmap" { image { function = ARROW } # Spin-Up LTR image { function = BOX state = NORMAL detail = "spinbutton_up" file = "Spin/up-background.png" border = { 1, 4, 5, 0 } stretch = TRUE overlay_file = "Arrows/arrow-up-small.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = PRELIGHT detail = "spinbutton_up" file = "Spin/up-background.png" border = { 1, 4, 5, 0 } stretch = TRUE overlay_file = "Arrows/arrow-up-small-prelight.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = INSENSITIVE detail = "spinbutton_up" file = "Spin/up-background-disable.png" border = { 1, 4, 5, 0 } stretch = TRUE overlay_file = "Arrows/arrow-up-small-insens.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = ACTIVE detail = "spinbutton_up" file = "Spin/up-background.png" border = { 1, 4, 5, 0 } stretch = TRUE overlay_file = "Arrows/arrow-up-small-prelight.png" overlay_stretch = FALSE direction = LTR } # Spin-Up RTL image { function = BOX state = NORMAL detail = "spinbutton_up" file = "Spin/up-background-rtl.png" border = { 4, 1, 5, 0 } stretch = TRUE overlay_file = "Arrows/arrow-up-small.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = PRELIGHT detail = "spinbutton_up" file = "Spin/up-background-rtl.png" border = { 4, 1, 5, 0 } stretch = TRUE overlay_file = "Arrows/arrow-up-small-prelight.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = INSENSITIVE detail = "spinbutton_up" file = "Spin/up-background-disable-rtl.png" border = { 4, 1, 5, 0 } stretch = TRUE overlay_file = "Arrows/arrow-up-small-insens.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = ACTIVE detail = "spinbutton_up" file = "Spin/up-background-rtl.png" border = { 4, 1, 5, 0 } stretch = TRUE overlay_file = "Arrows/arrow-up-small-prelight.png" overlay_stretch = FALSE direction = RTL } # Spin-Down LTR image { function = BOX state = NORMAL detail = "spinbutton_down" file = "Spin/down-background.png" border = { 1, 4, 1, 4 } stretch = TRUE overlay_file = "Arrows/arrow-down-small.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = PRELIGHT detail = "spinbutton_down" file = "Spin/down-background.png" border = { 1, 4, 1, 4 } stretch = TRUE overlay_file = "Arrows/arrow-down-small-prelight.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = INSENSITIVE detail = "spinbutton_down" file = "Spin/down-background-disable.png" border = { 1, 4, 1, 4 } stretch = TRUE overlay_file = "Arrows/arrow-down-small-insens.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = ACTIVE detail = "spinbutton_down" file = "Spin/down-background.png" border = { 1, 4, 1, 4 } stretch = TRUE overlay_file = "Arrows/arrow-down-small-prelight.png" overlay_stretch = FALSE direction = LTR } # Spin-Down RTL image { function = BOX state = NORMAL detail = "spinbutton_down" file = "Spin/down-background-rtl.png" border = { 4, 1, 1, 4 } stretch = TRUE overlay_file = "Arrows/arrow-down-small.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = PRELIGHT detail = "spinbutton_down" file = "Spin/down-background-rtl.png" border = { 4, 1, 1, 4 } stretch = TRUE overlay_file = "Arrows/arrow-down-small-prelight.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = INSENSITIVE detail = "spinbutton_down" file = "Spin/down-background-disable-rtl.png" border = { 4, 1, 1, 4 } stretch = TRUE overlay_file = "Arrows/arrow-down-small-insens.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = ACTIVE detail = "spinbutton_down" file = "Spin/down-background-rtl.png" border = { 4, 1, 1, 4 } stretch = TRUE overlay_file = "Arrows/arrow-down-small-prelight.png" overlay_stretch = FALSE direction = RTL } } } style "standalone_entry" { engine "pixmap" { image { function = FLAT_BOX detail = "entry_bg" state = NORMAL file = "Entry/entry-border-fill-plain.png" stretch = TRUE border = { 0, 0, 0, 0 } } image { function = FLAT_BOX detail = "entry_bg" state = ACTIVE file = "Entry/entry-border-fill-plain.png" stretch = TRUE border = { 0, 0, 0, 0 } } image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/entry-border-bg-solid.png" border = { 4, 4, 4, 4 } stretch = TRUE } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/entry-border-active-bg-solid.png" border = { 4, 4, 4, 4 } stretch = TRUE } } } style "notebook" { xthickness = 5 ythickness = 2 engine "pixmap" { image { function = EXTENSION state = ACTIVE file = "Tabs/tab-bottom.png" border = { 3,3,3,5 } stretch = TRUE gap_side = TOP } image { function = EXTENSION state = ACTIVE file = "Tabs/tab-top.png" border = { 3,3,5,3 } stretch = TRUE gap_side = BOTTOM } image { function = EXTENSION state = ACTIVE file = "Tabs/tab-left.png" border = { 3,3,3,3 } stretch = TRUE gap_side = RIGHT } image { function = EXTENSION state = ACTIVE file = "Tabs/tab-right.png" border = { 3,3,3,3 } stretch = TRUE gap_side = LEFT } image { function = EXTENSION file = "Tabs/tab-top-active.png" border = { 3,3,3,3 } stretch = TRUE gap_side = BOTTOM } image { function = EXTENSION file = "Tabs/tab-bottom-active.png" border = { 3,3,3,3 } stretch = TRUE gap_side = TOP } image { function = EXTENSION file = "Tabs/tab-left-active.png" border = { 3,3,3,3 } stretch = TRUE gap_side = RIGHT } image { function = EXTENSION file = "Tabs/tab-right-active.png" border = { 3,3,3,3 } 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 file = "Tabs/notebook.png" border = { 4, 4, 4, 4 } stretch = TRUE gap_file = "Tabs/notebook-gap-horiz.png" gap_border = { 1, 1, 0, 0 } gap_side = TOP } image { function = BOX_GAP file = "Tabs/notebook.png" border = { 4, 4, 4, 4 } stretch = TRUE gap_file = "Tabs/notebook-gap-horiz.png" gap_border = { 1, 1, 0, 0 } gap_side = BOTTOM } image { function = BOX_GAP file = "Tabs/notebook.png" border = { 4, 4, 4, 4 } stretch = TRUE gap_file = "Tabs/notebook-gap-vert.png" gap_border = { 0, 0, 1, 1 } gap_side = LEFT } image { function = BOX_GAP file = "Tabs/notebook.png" border = { 4, 4, 4, 4 } stretch = TRUE gap_file = "Tabs/notebook-gap-vert.png" gap_border = { 0, 0, 1, 1 } gap_side = RIGHT } # How to draw the box of a notebook when it isnt attached to a tab image { function = BOX file = "Tabs/notebook.png" border = { 4, 4, 4, 4 } stretch = TRUE } } } style "handlebox" { engine "pixmap" { image { function = BOX file = "Others/null.png" border = { 4, 4, 4, 4 } stretch = TRUE detail = "handlebox_bin" shadow = IN } image { function = BOX file = "Others/null.png" border = { 4, 4, 4, 4 } stretch = TRUE detail = "handlebox_bin" shadow = OUT } } } style "combobox_separator" { xthickness = 0 ythickness = 0 GtkWidget::wide-separators = 1 } style "combobox" { xthickness = 0 ythickness = 0 } style "combobox_button" { xthickness = 2 ythickness = 2 } style "range" { engine "pixmap" { image { function = BOX detail = "trough" file = "Range/trough-horizontal.png" border = { 4, 4, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX detail = "trough" file = "Range/trough-vertical.png" border = { 0, 0, 4, 4 } stretch = TRUE orientation = VERTICAL } # Horizontal image { function = SLIDER state = NORMAL file = "Others/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-horiz.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = SLIDER state = PRELIGHT file = "Others/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-horiz-prelight.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = SLIDER state = INSENSITIVE file = "Others/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-horiz.png" overlay_stretch = FALSE orientation = HORIZONTAL } # Vertical image { function = SLIDER state = NORMAL file = "Others/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-vert.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = SLIDER state = PRELIGHT file = "Others/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-vert-prelight.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = SLIDER state = INSENSITIVE file = "Others/null.png" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/slider-vert.png" overlay_stretch = FALSE orientation = VERTICAL } # Function below removes ugly boxes image { function = BOX file = "Others/null.png" border = { 3, 3, 3, 3 } stretch = TRUE } } } style "progressbar" { xthickness = 1 ythickness = 1 engine "pixmap" { image { function = BOX detail = "trough" file = "ProgressBar/trough-progressbar.png" border = { 4, 4, 4, 4 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX detail = "bar" file = "ProgressBar/progressbar.png" stretch = TRUE border = { 3, 3, 3, 3 } orientation = HORIZONTAL } image { function = BOX detail = "trough" file = "ProgressBar/trough-progressbar_v.png" border = { 4, 4, 4, 4 } stretch = TRUE orientation = VERTICAL } image { function = BOX detail = "bar" file = "ProgressBar/progressbar_v.png" stretch = TRUE border = { 3, 3, 3, 3 } orientation = VERTICAL } } } style "separator_menu_item" { engine "pixmap" { image { function = BOX file = "Lines/menu_line_h.png" border = { 0, 0, 1, 0 } stretch = TRUE } } } style "treeview_header" { ythickness = 1 fg[NORMAL] = shade(0.55, @bg_color) fg[PRELIGHT] = shade(0.80, @text_color) font_name = "Bold" engine "pixmap" { image { function = BOX file = "Others/tree_header.png" border = { 1, 1, 1, 1 } stretch = TRUE } } } style "scrolled_window" { xthickness = 1 ythickness = 1 engine "pixmap" { image { function = SHADOW file = "Shadows/frame.png" border = { 5, 5, 5, 5 } stretch = TRUE } } } style "frame" { xthickness = 1 ythickness = 1 engine "pixmap" { image { function = SHADOW file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE shadow = IN } image { function = SHADOW_GAP file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE gap_start_file = "Shadows/frame-gap-start.png" gap_start_border = { 1, 0, 0, 0 } gap_end_file = "Shadows/frame-gap-end.png" gap_end_border = { 0, 1, 0, 0 } shadow = IN } image { function = SHADOW file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE shadow = OUT } image { function = SHADOW_GAP file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE gap_start_file = "Shadows/frame-gap-start.png" gap_start_border = { 1, 0, 0, 0 } gap_end_file = "Shadows/frame-gap-end.png" gap_end_border = { 0, 1, 0, 0 } shadow = OUT } image { function = SHADOW file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE shadow = ETCHED_IN } image { function = SHADOW_GAP file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE gap_start_file = "Shadows/frame-gap-start.png" gap_start_border = { 1, 0, 0, 0 } gap_end_file = "Shadows/frame-gap-end.png" gap_end_border = { 0, 1, 0, 0 } shadow = ETCHED_IN } image { function = SHADOW file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE shadow = ETCHED_OUT } image { function = SHADOW_GAP file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE gap_start_file = "Shadows/frame-gap-start.png" gap_start_border = { 1, 0, 0, 0 } gap_end_file = "Shadows/frame-gap-end.png" gap_end_border = { 0, 1, 0, 0 } shadow = ETCHED_OUT } } } style "toolbar" { engine "pixmap" { image { function = SHADOW } } } style "inline_toolbar" { GtkToolbar::button-relief = GTK_RELIEF_NORMAL engine "pixmap" { image { function = BOX file = "Toolbar/inline-toolbar.png" stretch = TRUE } } } style "notebook_viewport" { bg[NORMAL] = @base_color } style "tooltips" { xthickness = 8 ythickness = 4 bg[NORMAL] = @tooltip_bg_color fg[NORMAL] = @tooltip_fg_color bg[SELECTED] = @tooltip_bg_color } style "null" { engine "pixmap" { image { function = BOX file = "Others/null.png" stretch = TRUE } } } class "GtkWidget" style "default" class "GtkScrollbar" style "scrollbar" class "GtkButton" style "button" class "GtkEntry" style "entry" class "GtkOldEditable" style "entry" class "GtkSpinButton" style "spinbutton" class "GtkNotebook" style "notebook" class "GtkRange" style "range" class "GtkProgressBar" style "progressbar" class "GtkSeparatorMenuItem" style "separator_menu_item" class "GtkScrolledWindow" style "scrolled_window" class "GtkFrame" style "frame" class "GtkToolbar" style "toolbar" widget_class "**" style "menubar" widget_class "**" style "menu" widget_class "**" style "menu_item" widget_class "*.*" style "menubar_item" widget_class "**" style "checkbutton" widget_class "*" style "combobox" widget_class "**" style "combobox_button" widget_class "**" style "combobox_separator" widget_class "*HandleBox" style "handlebox" widget_class "***" style "treeview_header" widget_class "**" style "inline_toolbar" widget_class "***" style "button_nohilight" widget_class "**" style "combobox_entry" widget_class "**" style "combobox_entry_button" widget_class "**" style "button_nohilight" widget_class "***" style "notebook_viewport" # Entries in notebooks draw with notebook's base color, but not if there's # something else in the middle that draws gray again widget_class "**" style "notebook_entry" widget_class "***" style "entry" widget_class "***" style "notebook_combobox_entry" widget_class "****" style "combobox_entry" # We also need to avoid changing fg color for the inactive notebook tab labels widget_class "*." style "notebook_tab_label" # GTK tooltips widget "gtk-tooltip*" style "tooltips" # Includes include "Apps/apps.rc" include "Apps/chrome.rc" include "Apps/eclipse.rc" include "Apps/gimp.rc" include "Apps/firefox.rc" include "Apps/libreoffice.rc" include "Apps/terminal.rc" include "Apps/thunar.rc" include "Apps/xfce.rc"