Arc-39-theme/common/gtk-2.0/main.rc

2346 lines
52 KiB
Plaintext

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 = 2
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 = 32
GtkScrolledWindow::scrollbar-spacing = 0
GtkScrolledWindow::scrollbars-within-bevel = 1
GtkScale::slider_length = 15
GtkScale::slider_width = 15
GtkScale::trough-side-details = 1
GtkProgressBar::min-horizontal-bar-height = 8
GtkProgressBar::min-vertical-bar-width = 8
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
GtkTreeView::odd_row_color = shade(0.98, @base_color)
GtkExpander::expander-size = 11
GnomeHRef::link_color = @link_color
GtkHTML::link-color = @link_color
GtkIMHtmlr::hyperlink-color = @link_color
GtkIMHtml::hyperlink-color = @link_color
GtkWidget::link-color = @link_color
GtkWidget::visited-link-color = @visited_link_color
# Colors
bg[NORMAL] = @bg_color
bg[PRELIGHT] = mix(0.25, @selected_bg_color, @bg_color)
bg[SELECTED] = @selected_bg_color
bg[INSENSITIVE] = @insensitive_bg_color
bg[ACTIVE] = @selected_bg_color
fg[NORMAL] = @fg_color
fg[PRELIGHT] = @fg_color
fg[SELECTED] = @selected_fg_color
fg[INSENSITIVE] = @insensitive_fg_color
fg[ACTIVE] = @selected_fg_color
text[NORMAL] = @text_color
text[PRELIGHT] = @text_color
text[SELECTED] = @selected_fg_color
text[INSENSITIVE] = @insensitive_fg_color
text[ACTIVE] = @selected_fg_color
base[NORMAL] = @base_color
base[PRELIGHT] = mix(0.25, @selected_bg_color, @base_color)
base[SELECTED] = @selected_bg_color
base[INSENSITIVE] = @bg_color
base[ACTIVE] = @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 = "assets/checkbox-unchecked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = PRELIGHT
shadow = OUT
overlay_file = "assets/checkbox-unchecked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = ACTIVE
shadow = OUT
overlay_file = "assets/checkbox-unchecked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = SELECTED
shadow = OUT
overlay_file = "assets/checkbox-unchecked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = INSENSITIVE
shadow = OUT
overlay_file = "assets/checkbox-unchecked-insensitive.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = NORMAL
shadow = IN
overlay_file = "assets/checkbox-checked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = PRELIGHT
shadow = IN
overlay_file = "assets/checkbox-checked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = ACTIVE
shadow = IN
overlay_file = "assets/checkbox-checked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = SELECTED
shadow = IN
overlay_file = "assets/checkbox-checked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = INSENSITIVE
shadow = IN
overlay_file = "assets/checkbox-checked-insensitive.png"
overlay_stretch = FALSE
}
# Radio Buttons
image {
function = OPTION
state = NORMAL
shadow = OUT
overlay_file = "assets/radio-unchecked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = PRELIGHT
shadow = OUT
overlay_file = "assets/radio-unchecked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = ACTIVE
shadow = OUT
overlay_file = "assets/radio-unchecked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = SELECTED
shadow = OUT
overlay_file = "assets/radio-unchecked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = INSENSITIVE
shadow = OUT
overlay_file = "assets/radio-unchecked-insensitive.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = NORMAL
shadow = IN
overlay_file = "assets/radio-checked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = PRELIGHT
shadow = IN
overlay_file = "assets/radio-checked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = ACTIVE
shadow = IN
overlay_file = "assets/radio-checked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = SELECTED
shadow = IN
overlay_file = "assets/radio-checked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = INSENSITIVE
shadow = IN
overlay_file = "assets/radio-checked-insensitive.png"
overlay_stretch = FALSE
}
# Arrows
image {
function = ARROW
overlay_file = "assets/arrow-up.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = UP
}
image {
function = ARROW
state = PRELIGHT
overlay_file = "assets/arrow-up-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = UP
}
image {
function = ARROW
state = ACTIVE
overlay_file = "assets/arrow-up-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = UP
}
image {
function = ARROW
state = INSENSITIVE
overlay_file = "assets/arrow-up-insens.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = UP
}
image {
function = ARROW
state = NORMAL
overlay_file = "assets/arrow-down.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = DOWN
}
image {
function = ARROW
state = PRELIGHT
overlay_file = "assets/arrow-down-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = DOWN
}
image {
function = ARROW
state = ACTIVE
overlay_file = "assets/arrow-down-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = DOWN
}
image {
function = ARROW
state = INSENSITIVE
overlay_file = "assets/arrow-down-insens.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = DOWN
}
image {
function = ARROW
overlay_file = "assets/arrow-left.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = LEFT
}
image {
function = ARROW
state= PRELIGHT
overlay_file = "assets/arrow-left-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = LEFT
}
image {
function = ARROW
state = ACTIVE
overlay_file = "assets/arrow-left-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = LEFT
}
image {
function = ARROW
state = INSENSITIVE
overlay_file = "assets/arrow-left-insens.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = LEFT
}
image {
function = ARROW
overlay_file = "assets/arrow-right.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = RIGHT
}
image {
function = ARROW
state = PRELIGHT
overlay_file = "assets/arrow-right-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = RIGHT
}
image {
function = ARROW
state = ACTIVE
overlay_file = "assets/arrow-right-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = RIGHT
}
image {
function = ARROW
state = INSENSITIVE
overlay_file = "assets/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 = "assets/arrow-down-insens.png"
overlay_stretch = FALSE
}
image {
function = TAB
state = NORMAL
overlay_file = "assets/arrow-down.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
}
image {
function = TAB
state = PRELIGHT
overlay_file = "assets/arrow-down-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
}
# Lines
image {
function = VLINE
file = "assets/line-v.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
}
image {
function = HLINE
file = "assets/line-h.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
}
# Focuslines
image {
function = FOCUS
file = "assets/focus-line.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
}
# Handles
image {
function = HANDLE
overlay_file = "assets/handle-h.png"
overlay_stretch = FALSE
orientation = HORIZONTAL
}
image {
function = HANDLE
overlay_file = "assets/handle-v.png"
overlay_stretch = FALSE
orientation = VERTICAL
}
# Expanders
image {
function = EXPANDER
expander_style = COLLAPSED
file = "assets/plus.png"
}
image {
function = EXPANDER
expander_style = EXPANDED
file = "assets/minus.png"
}
image {
function = EXPANDER
expander_style = SEMI_EXPANDED
file = "assets/minus.png"
}
image {
function = EXPANDER
expander_style = SEMI_COLLAPSED
file = "assets/plus.png"
}
image {
function = RESIZE_GRIP
state = NORMAL
detail = "statusbar"
overlay_file = "assets/null.png"
overlay_border = { 0,0,0,0 }
overlay_stretch = FALSE
}
# Shadows ( this area needs help :P )
image {
function = SHADOW_GAP
file = "assets/null.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
}
}
}
style "toplevel_hack" {
engine "adwaita" {
}
}
style "ooo_stepper_hack" {
GtkScrollbar::stepper-size = 0
GtkScrollbar::has-backward-stepper = 0
GtkScrollbar::has-forward-stepper = 0
}
style "scrollbar" {
engine "pixmap" {
image {
function = BOX
detail = "trough"
file = "assets/trough-scrollbar-horiz.png"
border = { 2, 2, 3, 3 }
stretch = TRUE
orientation = HORIZONTAL
}
image {
function = BOX
detail = "trough"
file = "assets/trough-scrollbar-vert.png"
border = { 3, 3, 2, 2 }
stretch = TRUE
orientation = VERTICAL
}
image {
function = ARROW
overlay_file = "assets/null.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = UP
}
image {
function = ARROW
overlay_file = "assets/null.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = DOWN
}
image {
function = ARROW
overlay_file = "assets/null.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = LEFT
}
image {
function = ARROW
overlay_file = "assets/null.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = RIGHT
}
# Sliders
image {
function = SLIDER
state = NORMAL
file = "assets/slider-horiz.png"
border = { 5, 5, 3, 3 }
stretch = TRUE
orientation = HORIZONTAL
}
image {
function = SLIDER
state = ACTIVE
file = "assets/slider-horiz-active.png"
border = { 5, 5, 3, 3 }
stretch = TRUE
orientation = HORIZONTAL
}
image {
function = SLIDER
state = PRELIGHT
file = "assets/slider-horiz-prelight.png"
border = { 5, 5, 3, 3 }
stretch = TRUE
orientation = HORIZONTAL
}
image {
function = SLIDER
state = INSENSITIVE
file = "assets/slider-horiz-insens.png"
border = { 5, 5, 3, 3 }
stretch = TRUE
orientation = HORIZONTAL
}
# X Verticals
image {
function = SLIDER
state = NORMAL
file = "assets/slider-vert.png"
border = { 3, 3, 5, 5 }
stretch = TRUE
orientation = VERTICAL
}
image {
function = SLIDER
state = ACTIVE
file = "assets/slider-vert-active.png"
border = { 3, 3, 5, 5 }
stretch = TRUE
orientation = VERTICAL
}
image {
function = SLIDER
state = PRELIGHT
file = "assets/slider-vert-prelight.png"
border = { 3, 3, 5, 5 }
stretch = TRUE
orientation = VERTICAL
}
image {
function = SLIDER
state = INSENSITIVE
file = "assets/slider-vert-insens.png"
border = { 3, 3, 5, 5 }
stretch = TRUE
orientation = VERTICAL
}
}
}
style "menu" {
xthickness = 0
ythickness = 0
GtkMenuItem::arrow-scaling = 0.4
bg[NORMAL] = @menu_bg
bg[INSENSITIVE] = @menu_bg
bg[PRELIGHT] = @menu_bg
engine "pixmap" { # For menus that use horizontal lines rather than gtkseparator
image {
function = HLINE
file = "assets/null.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
}
}
}
style "menu_framed_box" {
engine "adwaita" {
}
}
style "menu_item"
{
xthickness = 2
ythickness = 5
# 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
fg[NORMAL] = @fg_color
fg[SELECTED] = @selected_fg_color
fg[PRELIGHT] = @selected_fg_color
text[PRELIGHT] = @selected_fg_color
engine "pixmap" {
image {
function = BOX
state = PRELIGHT
file = "assets/menuitem.png"
border = { 1, 0, 1, 0 }
stretch = TRUE
}
# Fix invisible scale trough on selected menuitems
image {
function = BOX
detail = "trough-lower"
file = "assets/trough-horizontal.png"
border = { 8, 8, 0, 0 }
stretch = TRUE
orientation = HORIZONTAL
}
image {
function = SLIDER
state = PRELIGHT
file = "assets/null.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
overlay_file = "assets/slider.png"
overlay_stretch = FALSE
orientation = HORIZONTAL
}
# Check Buttons
image {
function = CHECK
recolorable = TRUE
state = NORMAL
shadow = OUT
overlay_file = "assets/menu-checkbox-unchecked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = PRELIGHT
shadow = OUT
overlay_file = "assets/menu-checkbox-unchecked-selected.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = ACTIVE
shadow = OUT
overlay_file = "assets/menu-checkbox-unchecked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = INSENSITIVE
shadow = OUT
overlay_file = "assets/menu-checkbox-unchecked-insensitive.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = NORMAL
shadow = IN
overlay_file = "assets/menu-checkbox-checked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = PRELIGHT
shadow = IN
overlay_file = "assets/menu-checkbox-checked-selected.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = ACTIVE
shadow = IN
overlay_file = "assets/menu-checkbox-checked.png"
overlay_stretch = FALSE
}
image {
function = CHECK
recolorable = TRUE
state = INSENSITIVE
shadow = IN
overlay_file = "assets/menu-checkbox-checked-insensitive.png"
overlay_stretch = FALSE
}
# Radio Buttons
image {
function = OPTION
state = NORMAL
shadow = OUT
overlay_file = "assets/menu-radio-unchecked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = PRELIGHT
shadow = OUT
overlay_file = "assets/menu-radio-unchecked-selected.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = ACTIVE
shadow = OUT
overlay_file = "assets/menu-radio-unchecked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = INSENSITIVE
shadow = OUT
overlay_file = "assets/menu-radio-unchecked-insensitive.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = NORMAL
shadow = IN
overlay_file = "assets/menu-radio-checked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = PRELIGHT
shadow = IN
overlay_file = "assets/menu-radio-checked-selected.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = ACTIVE
shadow = IN
overlay_file = "assets/menu-radio-checked.png"
overlay_stretch = FALSE
}
image {
function = OPTION
state = INSENSITIVE
shadow = IN
overlay_file = "assets/menu-radio-checked-insensitive.png"
overlay_stretch = FALSE
}
image {
function = SHADOW # This fixes boxy Qt menu items
file = "assets/null.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
}
# Arrow Buttons
image {
function = ARROW
state = NORMAL
overlay_file = "assets/menu-arrow.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = RIGHT
}
image {
function = ARROW
state = PRELIGHT
overlay_file = "assets/menu-arrow-prelight.png"
overlay_border = { 0, 0, 0, 0 }
overlay_stretch = FALSE
arrow_direction = RIGHT
}
}
}
style "button" {
xthickness = 4
ythickness = 4
engine "pixmap" {
image {
function = BOX
state = NORMAL
file = "assets/button.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
}
image {
function = BOX
state = PRELIGHT
file = "assets/button-hover.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
}
image {
function = BOX
state = ACTIVE
file = "assets/button-active.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
}
image {
function = BOX
state = INSENSITIVE
file = "assets/button-insensitive.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
}
}
}
style "checkbutton" {
fg[PRELIGHT] = @fg_color
fg[ACTIVE] = @fg_color
}
style "entry" {
xthickness = 6
ythickness = 4
engine "pixmap" {
image {
function = SHADOW
state = NORMAL
detail = "entry"
file = "assets/entry-bg.png"
border = {6, 6, 6, 6}
stretch = TRUE
}
image {
function = SHADOW
state = ACTIVE
detail = "entry"
file = "assets/entry-active-bg.png"
border = {6, 6, 6, 6}
stretch = TRUE
}
image {
function = SHADOW
state = INSENSITIVE
detail = "entry"
file = "assets/entry-disabled-bg.png"
border = {6, 6, 6, 6}
stretch = TRUE
}
image {
function = FLAT_BOX
state = ACTIVE
detail = "entry_bg"
file = "assets/entry-background.png"
}
image {
function = FLAT_BOX
state = INSENSITIVE
detail = "entry_bg"
file = "assets/entry-background-disabled.png"
}
image {
function = FLAT_BOX
detail = "entry_bg"
file = "assets/entry-background.png"
}
}
}
style "notebook_entry" {
engine "pixmap" {
image {
function = SHADOW
state = NORMAL
detail = "entry"
file = "assets/entry-notebook.png"
border = {6, 6, 6, 6}
stretch = TRUE
}
image {
function = SHADOW
state = ACTIVE
detail = "entry"
file = "assets/entry-active-notebook.png"
border = {6, 6, 6, 6}
stretch = TRUE
}
image {
function = SHADOW
state = INSENSITIVE
detail = "entry"
file = "assets/entry-disabled-notebook.png"
border = {6, 6, 6, 6}
stretch = TRUE
}
}
}
style "notebook_tab_label" = "text" {
fg[ACTIVE] = @fg_color # We also need to avoid changing fg color for the inactive notebook tab labels
}
style "combobox_entry"
{
xthickness = 3
ythickness = 4
engine "pixmap" {
# LTR version
image {
function = SHADOW
detail = "entry"
state = NORMAL
shadow = IN
file = "assets/combo-entry.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
image {
function = SHADOW
detail = "entry"
state = INSENSITIVE
shadow = IN
file = "assets/combo-entry-insensitive.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
image {
function = SHADOW
detail = "entry"
state = ACTIVE
file = "assets/combo-entry-focus.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
# RTL version
image {
function = SHADOW
detail = "entry"
state = NORMAL
shadow = IN
file = "assets/combo-entry-rtl.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = RTL
}
image {
function = SHADOW
detail = "entry"
state = INSENSITIVE
shadow = IN
file = "assets/combo-entry-insensitive-rtl.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = RTL
}
image {
function = SHADOW
detail = "entry"
state = ACTIVE
file = "assets/combo-entry-focus-rtl.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 = "assets/combo-entry-notebook.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
image {
function = SHADOW
detail = "entry"
state = INSENSITIVE
shadow = IN
file = "assets/combo-entry-insensitive-notebook.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
image {
function = SHADOW
detail = "entry"
state = ACTIVE
file = "assets/combo-entry-focus-notebook.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
# RTL version
image {
function = SHADOW
detail = "entry"
state = NORMAL
shadow = IN
file = "assets/combo-entry-notebook-rtl.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = RTL
}
image {
function = SHADOW
detail = "entry"
state = INSENSITIVE
shadow = IN
file = "assets/combo-entry-insensitive-notebook-rtl.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = RTL
}
image {
function = SHADOW
detail = "entry"
state = ACTIVE
file = "assets/combo-entry-focus-notebook-rtl.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = RTL
}
}
}
style "combobox_entry_button"
{
xthickness = 6
engine "pixmap" {
# LTR version
image {
function = BOX
state = NORMAL
file = "assets/combo-entry-button.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
image {
function = BOX
state = PRELIGHT
file = "assets/combo-entry-button.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
image {
function = BOX
state = INSENSITIVE
file = "assets/combo-entry-button-insensitive.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
image {
function = BOX
state = ACTIVE
file = "assets/combo-entry-button-active.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = LTR
}
# RTL version
image {
function = BOX
state = NORMAL
file = "assets/combo-entry-button-rtl.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = RTL
}
image {
function = BOX
state = PRELIGHT
file = "assets/combo-entry-button-rtl.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = RTL
}
image {
function = BOX
state = INSENSITIVE
file = "assets/combo-entry-button-insensitive-rtl.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = RTL
}
image {
function = BOX
state = ACTIVE
file = "assets/combo-entry-button-active-rtl.png"
border = { 4, 4, 5, 4 }
stretch = TRUE
direction = RTL
}
}
}
style "spinbutton" {
bg[NORMAL] = @bg_color
xthickness = 6
ythickness = 4
engine "pixmap" {
image {
function = ARROW
}
# Spin-Up LTR
image {
function = BOX
state = NORMAL
detail = "spinbutton_up"
file = "assets/up-background.png"
border = { 1, 4, 5, 0 }
stretch = TRUE
overlay_file = "assets/arrow-up-small.png"
overlay_stretch = FALSE
direction = LTR
}
image {
function = BOX
state = PRELIGHT
detail = "spinbutton_up"
file = "assets/up-background.png"
border = { 1, 4, 5, 0 }
stretch = TRUE
overlay_file = "assets/arrow-up-small-prelight.png"
overlay_stretch = FALSE
direction = LTR
}
image {
function = BOX
state = INSENSITIVE
detail = "spinbutton_up"
file = "assets/up-background-disable.png"
border = { 1, 4, 5, 0 }
stretch = TRUE
overlay_file = "assets/arrow-up-small-insens.png"
overlay_stretch = FALSE
direction = LTR
}
image {
function = BOX
state = ACTIVE
detail = "spinbutton_up"
file = "assets/up-background.png"
border = { 1, 4, 5, 0 }
stretch = TRUE
overlay_file = "assets/arrow-up-small-prelight.png"
overlay_stretch = FALSE
direction = LTR
}
# Spin-Up RTL
image {
function = BOX
state = NORMAL
detail = "spinbutton_up"
file = "assets/up-background-rtl.png"
border = { 4, 1, 5, 0 }
stretch = TRUE
overlay_file = "assets/arrow-up-small.png"
overlay_stretch = FALSE
direction = RTL
}
image {
function = BOX
state = PRELIGHT
detail = "spinbutton_up"
file = "assets/up-background-rtl.png"
border = { 4, 1, 5, 0 }
stretch = TRUE
overlay_file = "assets/arrow-up-small-prelight.png"
overlay_stretch = FALSE
direction = RTL
}
image {
function = BOX
state = INSENSITIVE
detail = "spinbutton_up"
file = "assets/up-background-disable-rtl.png"
border = { 4, 1, 5, 0 }
stretch = TRUE
overlay_file = "assets/arrow-up-small-insens.png"
overlay_stretch = FALSE
direction = RTL
}
image {
function = BOX
state = ACTIVE
detail = "spinbutton_up"
file = "assets/up-background-rtl.png"
border = { 4, 1, 5, 0 }
stretch = TRUE
overlay_file = "assets/arrow-up-small-prelight.png"
overlay_stretch = FALSE
direction = RTL
}
# Spin-Down LTR
image {
function = BOX
state = NORMAL
detail = "spinbutton_down"
file = "assets/down-background.png"
border = { 1, 4, 1, 4 }
stretch = TRUE
overlay_file = "assets/arrow-down-small.png"
overlay_stretch = FALSE
direction = LTR
}
image {
function = BOX
state = PRELIGHT
detail = "spinbutton_down"
file = "assets/down-background.png"
border = { 1, 4, 1, 4 }
stretch = TRUE
overlay_file = "assets/arrow-down-small-prelight.png"
overlay_stretch = FALSE
direction = LTR
}
image {
function = BOX
state = INSENSITIVE
detail = "spinbutton_down"
file = "assets/down-background-disable.png"
border = { 1, 4, 1, 4 }
stretch = TRUE
overlay_file = "assets/arrow-down-small-insens.png"
overlay_stretch = FALSE
direction = LTR
}
image {
function = BOX
state = ACTIVE
detail = "spinbutton_down"
file = "assets/down-background.png"
border = { 1, 4, 1, 4 }
stretch = TRUE
overlay_file = "assets/arrow-down-small-prelight.png"
overlay_stretch = FALSE
direction = LTR
}
# Spin-Down RTL
image {
function = BOX
state = NORMAL
detail = "spinbutton_down"
file = "assets/down-background-rtl.png"
border = { 4, 1, 1, 4 }
stretch = TRUE
overlay_file = "assets/arrow-down-small.png"
overlay_stretch = FALSE
direction = RTL
}
image {
function = BOX
state = PRELIGHT
detail = "spinbutton_down"
file = "assets/down-background-rtl.png"
border = { 4, 1, 1, 4 }
stretch = TRUE
overlay_file = "assets/arrow-down-small-prelight.png"
overlay_stretch = FALSE
direction = RTL
}
image {
function = BOX
state = INSENSITIVE
detail = "spinbutton_down"
file = "assets/down-background-disable-rtl.png"
border = { 4, 1, 1, 4 }
stretch = TRUE
overlay_file = "assets/arrow-down-small-insens.png"
overlay_stretch = FALSE
direction = RTL
}
image {
function = BOX
state = ACTIVE
detail = "spinbutton_down"
file = "assets/down-background-rtl.png"
border = { 4, 1, 1, 4 }
stretch = TRUE
overlay_file = "assets/arrow-down-small-prelight.png"
overlay_stretch = FALSE
direction = RTL
}
}
}
style "gimp_spin_scale" {
bg[NORMAL] = @base_color
engine "pixmap" {
image {
function = FLAT_BOX
detail = "entry_bg"
state = NORMAL
}
image {
function = FLAT_BOX
detail = "entry_bg"
state = ACTIVE
}
image {
function = BOX
state = NORMAL
detail = "spinbutton_up"
overlay_file = "assets/arrow-up-small.png"
overlay_stretch = FALSE
}
image {
function = BOX
state = PRELIGHT
detail = "spinbutton_up"
overlay_file = "assets/arrow-up-small-prelight.png"
overlay_stretch = FALSE
}
image {
function = BOX
state = ACTIVE
detail = "spinbutton_up"
overlay_file = "assets/arrow-up-small-prelight.png"
overlay_stretch = FALSE
}
image {
function = BOX
state = INSENSITIVE
detail = "spinbutton_up"
overlay_file = "assets/arrow-up-small-insens.png"
overlay_stretch = FALSE
}
image {
function = BOX
state = NORMAL
detail = "spinbutton_down"
overlay_file = "assets/arrow-down-small.png"
overlay_stretch = FALSE
}
image {
function = BOX
state = PRELIGHT
detail = "spinbutton_down"
overlay_file = "assets/arrow-down-small-prelight.png"
overlay_stretch = FALSE
}
image {
function = BOX
state = ACTIVE
detail = "spinbutton_down"
overlay_file = "assets/arrow-down-small-prelight.png"
overlay_stretch = FALSE
}
image {
function = BOX
state = INSENSITIVE
detail = "spinbutton_down"
overlay_file = "assets/arrow-down-small-insens.png"
overlay_stretch = FALSE
}
}
}
style "notebook" {
xthickness = 5
ythickness = 2
engine "pixmap" {
image {
function = EXTENSION
state = ACTIVE
file = "assets/null.png"
border = { 0,0,0,0 }
stretch = TRUE
gap_side = TOP
}
image {
function = EXTENSION
state = ACTIVE
file = "assets/null.png"
border = { 0,0,0,0 }
stretch = TRUE
gap_side = BOTTOM
}
image {
function = EXTENSION
state = ACTIVE
file = "assets/null.png"
border = { 0,0,0,0 }
stretch = TRUE
gap_side = RIGHT
}
image {
function = EXTENSION
state = ACTIVE
file = "assets/null.png"
border = { 0,0,0,0 }
stretch = TRUE
gap_side = LEFT
}
image {
function = EXTENSION
file = "assets/tab-top-active.png"
border = { 3,3,3,3 }
stretch = TRUE
gap_side = BOTTOM
}
image {
function = EXTENSION
file = "assets/tab-bottom-active.png"
border = { 3,3,3,3 }
stretch = TRUE
gap_side = TOP
}
image {
function = EXTENSION
file = "assets/tab-left-active.png"
border = { 3,3,3,3 }
stretch = TRUE
gap_side = RIGHT
}
image {
function = EXTENSION
file = "assets/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 = "assets/notebook.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
gap_file = "assets/notebook-gap-horiz.png"
gap_border = { 1, 1, 0, 0 }
gap_side = TOP
}
image {
function = BOX_GAP
file = "assets/notebook.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
gap_file = "assets/notebook-gap-horiz.png"
gap_border = { 1, 1, 0, 0 }
gap_side = BOTTOM
}
image {
function = BOX_GAP
file = "assets/notebook.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
gap_file = "assets/notebook-gap-vert.png"
gap_border = { 0, 0, 1, 1 }
gap_side = LEFT
}
image {
function = BOX_GAP
file = "assets/notebook.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
gap_file = "assets/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 = "assets/notebook.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
}
}
}
style "handlebox" {
engine "pixmap" {
image {
function = BOX
file = "assets/null.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
detail = "handlebox_bin"
shadow = IN
}
image {
function = BOX
file = "assets/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 = 3
ythickness = 3
}
style "range" {
engine "pixmap" {
image {
function = BOX
detail = "trough-upper"
file = "assets/trough-horizontal.png"
border = { 8, 8, 0, 0 }
stretch = TRUE
orientation = HORIZONTAL
}
image {
function = BOX
detail = "trough-lower"
file = "assets/trough-horizontal-active.png"
border = { 8, 8, 0, 0 }
stretch = TRUE
orientation = HORIZONTAL
}
image {
function = BOX
detail = "trough-upper"
file = "assets/trough-vertical.png"
border = { 0, 0, 8, 8 }
stretch = TRUE
orientation = VERTICAL
}
image {
function = BOX
detail = "trough-lower"
file = "assets/trough-vertical-active.png"
border = { 0, 0, 8, 8 }
stretch = TRUE
orientation = VERTICAL
}
# Horizontal
image {
function = SLIDER
state = NORMAL
file = "assets/null.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
overlay_file = "assets/slider.png"
overlay_stretch = FALSE
orientation = HORIZONTAL
}
image {
function = SLIDER
state = PRELIGHT
file = "assets/null.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
overlay_file = "assets/slider-prelight.png"
overlay_stretch = FALSE
orientation = HORIZONTAL
}
image {
function = SLIDER
state = INSENSITIVE
file = "assets/null.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
overlay_file = "assets/slider-insensitive.png"
overlay_stretch = FALSE
orientation = HORIZONTAL
}
# Vertical
image {
function = SLIDER
state = NORMAL
file = "assets/null.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
overlay_file = "assets/slider.png"
overlay_stretch = FALSE
orientation = VERTICAL
}
image {
function = SLIDER
state = PRELIGHT
file = "assets/null.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
overlay_file = "assets/slider-prelight.png"
overlay_stretch = FALSE
orientation = VERTICAL
}
image {
function = SLIDER
state = INSENSITIVE
file = "assets/null.png"
border = { 0, 0, 0, 0 }
stretch = TRUE
overlay_file = "assets/slider-insensitive.png"
overlay_stretch = FALSE
orientation = VERTICAL
}
# Function below removes ugly boxes
image {
function = BOX
file = "assets/null.png"
border = { 3, 3, 3, 3 }
stretch = TRUE
}
}
}
style "progressbar" {
xthickness = 1
ythickness = 1
fg[NORMAL] = @fg_color
fg[PRELIGHT] = @selected_fg_color
engine "pixmap" {
image {
function = BOX
detail = "trough"
file = "assets/trough-progressbar.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
orientation = HORIZONTAL
}
image {
function = BOX
detail = "bar"
file = "assets/progressbar.png"
stretch = TRUE
border = { 3, 3, 3, 3 }
orientation = HORIZONTAL
}
image {
function = BOX
detail = "trough"
file = "assets/trough-progressbar_v.png"
border = { 4, 4, 4, 4 }
stretch = TRUE
orientation = VERTICAL
}
image {
function = BOX
detail = "bar"
file = "assets/progressbar_v.png"
stretch = TRUE
border = { 3, 3, 3, 3 }
orientation = VERTICAL
}
}
}
style "separator_menu_item" {
engine "pixmap" {
image {
function = BOX
file = "assets/null.png"
border = { 0, 0, 1, 0 }
stretch = TRUE
}
}
}
style "treeview_header" {
ythickness = 1
fg[PRELIGHT] = mix(0.70, @text_color, @base_color)
font_name = "Bold"
engine "pixmap" {
image {
function = BOX
file = "assets/tree_header.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
}
}
}
# Treeview Rows
style "treeview" {
xthickness = 2
ythickness = 0
}
style "scrolled_window" {
xthickness = 1
ythickness = 1
engine "pixmap" {
image {
function = SHADOW
file = "assets/frame.png"
border = { 5, 5, 5, 5 }
stretch = TRUE
}
}
}
style "frame" {
xthickness = 1
ythickness = 1
engine "pixmap" {
image {
function = SHADOW
file = "assets/frame.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
shadow = IN
}
image {
function = SHADOW_GAP
file = "assets/frame.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
gap_start_file = "assets/frame-gap-start.png"
gap_start_border = { 1, 0, 0, 0 }
gap_end_file = "assets/frame-gap-end.png"
gap_end_border = { 0, 1, 0, 0 }
shadow = IN
}
image {
function = SHADOW
file = "assets/frame.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
shadow = OUT
}
image {
function = SHADOW_GAP
file = "assets/frame.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
gap_start_file = "assets/frame-gap-start.png"
gap_start_border = { 1, 0, 0, 0 }
gap_end_file = "assets/frame-gap-end.png"
gap_end_border = { 0, 1, 0, 0 }
shadow = OUT
}
image {
function = SHADOW
file = "assets/frame.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
shadow = ETCHED_IN
}
image {
function = SHADOW_GAP
file = "assets/frame.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
gap_start_file = "assets/frame-gap-start.png"
gap_start_border = { 1, 0, 0, 0 }
gap_end_file = "assets/frame-gap-end.png"
gap_end_border = { 0, 1, 0, 0 }
shadow = ETCHED_IN
}
image {
function = SHADOW
file = "assets/frame.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
shadow = ETCHED_OUT
}
image {
function = SHADOW_GAP
file = "assets/frame.png"
border = { 1, 1, 1, 1 }
stretch = TRUE
gap_start_file = "assets/frame-gap-start.png"
gap_start_border = { 1, 0, 0, 0 }
gap_end_file = "assets/frame-gap-end.png"
gap_end_border = { 0, 1, 0, 0 }
shadow = ETCHED_OUT
}
}
}
style "gimp_toolbox_frame" {
engine "pixmap" {
image {
function = SHADOW
}
}
}
style "toolbar" {
engine "pixmap" {
image {
function = BOX
file = "assets/toolbar.png"
stretch = TRUE
border = { 1, 1, 1, 1 }
}
image {
function = HANDLE
overlay_file = "assets/handle-h.png"
overlay_stretch = FALSE
orientation = HORIZONTAL
}
image {
function = HANDLE
overlay_file = "assets/handle-v.png"
overlay_stretch = FALSE
orientation = VERTICAL
}
image {
function = VLINE
recolorable = TRUE
file = "assets/null.png"
}
image {
function = HLINE
recolorable = TRUE
file = "assets/null.png"
}
}
}
style "inline_toolbar" {
GtkToolbar::button-relief = GTK_RELIEF_NORMAL
engine "pixmap" {
image {
function = BOX
file = "assets/inline-toolbar.png"
stretch = TRUE
border = { 1, 1, 1, 1 }
}
}
}
style "notebook_viewport" {
bg[NORMAL] = @notebook_bg
}
style "notebook_eventbox" {
bg[NORMAL] = @notebook_bg
bg[ACTIVE] = @bg_color
}
style "tooltips" {
xthickness = 8
ythickness = 4
bg[NORMAL] = @tooltip_bg_color
fg[NORMAL] = @tooltip_fg_color
bg[SELECTED] = @tooltip_bg_color
}
style "eclipse-tooltips" {
xthickness = 8
ythickness = 4
bg[NORMAL] = shade(1.05, @bg_color)
fg[NORMAL] = @text_color
bg[SELECTED] = shade(1.05, @bg_color)
}
style "xfdesktop-icon-view" {
XfdesktopIconView::label-alpha = 0
XfdesktopIconView::selected-label-alpha = 100
XfdesktopIconView::shadow-x-offset = 0
XfdesktopIconView::shadow-y-offset = 1
XfdesktopIconView::selected-shadow-x-offset = 0
XfdesktopIconView::selected-shadow-y-offset = 1
XfdesktopIconView::shadow-color = "#000000"
XfdesktopIconView::selected-shadow-color = "#000000"
XfdesktopIconView::shadow-blur-radius = 2
XfdesktopIconView::cell-spacing = 2
XfdesktopIconView::cell-padding = 6
XfdesktopIconView::cell-text-width-proportion = 1.9
fg[NORMAL] = @selected_fg_color
fg[ACTIVE] = @selected_fg_color
}
style "xfwm-tabwin" {
Xfwm4TabwinWidget::border-width = 1
Xfwm4TabwinWidget::border-alpha = 1.0
Xfwm4TabwinWidget::icon-size = 64
Xfwm4TabwinWidget::alpha = 1.0
Xfwm4TabwinWidget::border-radius = 2
bg[NORMAL] = @bg_color
bg[SELECTED] = @bg_color
fg[NORMAL] = @fg_color
engine "murrine" {
contrast = 0.7
glazestyle = 0
glowstyle = 0
highlight_shade = 1.0
gradient_shades = {1.0,1.0,1.0,1.0}
border_shades = { 0.8, 0.8 }
}
}
style "xfwm-tabwin-button" {
font_name = "bold"
bg[SELECTED] = @selected_bg_color
}
# Chromium
style "chrome_menu_item" {
bg[SELECTED] = @selected_bg_color
}
# Text Style
style "text" = "default" {
engine "murrine" { textstyle = 0 }
}
style "menu_text" = "menu_item" {
engine "murrine" { textstyle = 0 }
}
style "checkbutton_text" = "checkbutton" {
engine "murrine" { textstyle = 0 }
}
style "null" {
engine "pixmap" {
image {
function = BOX
file = "assets/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 "GtkTreeView" style "treeview"
class "GtkToolbar" style "toolbar"
class "*HandleBox" style "toolbar"
widget_class "*<GtkMenu>*" style "menu"
widget_class "*<GtkMenu>*" style "menu_framed_box"
widget_class "*<GtkMenuItem>*" style "menu_item"
widget_class "*<GtkCheckButton>*" style "checkbutton"
widget_class "*<GtkComboBox>" style "combobox"
widget_class "*<GtkComboBox>*<GtkButton>" style "combobox_button"
widget_class "*<GtkComboBox>*<GtkSeparator>" style "combobox_separator"
widget_class "*<GtkTreeView>*<GtkButton>*" style "treeview_header"
widget_class "*<GtkFileChooserDefault>*<GtkToolbar>" style "inline_toolbar"
widget_class "*<GtkComboBoxEntry>*<GtkEntry>" style "combobox_entry"
widget_class "*<GtkComboBoxEntry>*<GtkButton>" style "combobox_entry_button"
widget_class "*<GtkNotebook>*<GtkScrolledWindow>*<GtkViewport>" style "notebook_viewport"
widget_class "*HandleBox" style "toolbar"
# 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 "*<GtkNotebook>*<GtkEntry>" style "notebook_entry"
widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkEntry>" style "entry"
widget_class "*<GtkNotebook>*<GtkComboBoxEntry>*<GtkEntry>" style "notebook_combobox_entry"
widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkComboBoxEntry>*<GtkEntry>" style "combobox_entry"
# GTK tooltips
widget "gtk-tooltip*" style "tooltips"
#Fix GVim tabs
widget_class "*<GtkNotebook>*<GtkEventBox>" style "notebook_eventbox"
# Xchat special cases
widget "*xchat-inputbox" style "entry"
# GIMP
# Disable gradients completely for GimpSpinScale
#class "GimpSpinScale" style "gimp_spin_scale"
# Remove borders from "Wilbert frame" in Gimp
widget_class "*<GimpToolbox>*<GtkFrame>" style "gimp_toolbox_frame"
# Chrome/Chromium
widget_class "*Chrom*Button*" style "button"
widget_class "*<GtkCustomMenu>*<GtkCustomMenuItem>*" style "chrome_menu_item"
# Eclipse/SWT
widget "gtk-tooltips*" style "eclipse-tooltips"
widget "*swt-toolbar-flat" style "null"
# Openoffice, Libreoffice
class "GtkWindow" style "toplevel_hack"
widget "*openoffice-toplevel*" style "ooo_stepper_hack"
# Xfce
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"
widget "xfwm4-tabwin*" style "xfwm-tabwin"
widget "xfwm4-tabwin*GtkButton*" style "xfwm-tabwin-button"
# Fixes ugly text shadows for insensitive text
widget_class "*<GtkLabel>" style "text"
widget_class "*<GtkMenu>*<GtkLabel>" style "menu_text"
widget_class "*<GtkComboBox>*<GtkCellLayout>" style "text"
widget_class "*<GtkNotebook>.<GtkLabel>" style "notebook_tab_label" # NOTE: Styles aren't additive, so the last one for a given class match overrides all the others. Care must be taken to properly order these matches, and inherit or redefine the properties of the overriden styles to get the correct visuals. A couple wrong things with this: firstly, GTK is using fg[ACTIVE] for *inactive* tabs, so naturally it looks wrong (thanks, geniuses). Secondly, you can't match "<Notebook>.<Label>" (or any other widget combination), simply because the tabs don't seem to immediately follow the notebook, so you effectively can't theme them unless you use a glob pattern which would ruin absolutely everything else inside notebooks (i.e. buttons' labels). Thus, this is unfixable.
widget_class "*<GtkNotebook>*<GtkCellLayout>" style "text"
#widget_class "*<GtkCheckButton>*<GtkLabel>" style "checkbutton_text" # Supposed to fix active checkbox/radio labels using the "default" style's white FG colour. But, you see, there are these things which look exactly like a GtkButton but are in fact a GtkCheckButton, to allow for a depressed state. And those do need the white FG over the pink BG. Applying this "fix" would sacrifice them, so I just won't.
# Also, if you're using GTK theming for Qt apps (QT_QPA_PLATFORMTHEME=gtk2), you'll notice that some of those issues don't exist there, though things like buttons' or list entries' labels don't use fg[ACTIVE] and such, that's just because of how Qt decides to use the GTK 2 theme values. Lovely, isn't it ?