# # Common states # gtk-auto-mnemonics = 1 gtk-primary-button-warps-slider = 1 style "default" { xthickness = 0 ythickness = 0 # # Style Properties # GtkWidget::link-color = "#2b2b2b" GtkWidget::visited-link-color = "#82A1FF" GtkWidget::focus-line-width = 0 GtkWidget::focus-padding = 2 GtkMenuBar::window-dragging = 1 GtkToolbar::window-dragging = 1 GtkToolbar::internal-padding = 2 GtkToolbar::space-size = 7 GtkToolButton::icon-spacing = 4 GtkWidget::tooltip-radius = 2 GtkWidget::tooltip-alpha = 230 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 GtkScrollbar::slider-width = 12 GtkScrolledWindow::scrollbar-spacing = 0 GtkScrolledWindow::scrollbars-within-bevel = 0 GtkVScale::slider_length = 20 GtkVScale::slider_width = 20 GtkHScale::slider_length = 20 GtkHScale::slider_width = 20 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-size = 16 GtkCheckButton::indicator_spacing = 2 GtkOptionMenu::indicator_spacing = { 0, 10, 0, 0 } GtkTreeView::row_ending_details = 0 GtkTreeView::expander-size = 16 GtkTreeView::vertical-separator = 4 GtkTreeView::horizontal-separator = 4 GtkTreeView::allow-rules = 1 GtkExpander::expander-size = 16 GtkProgressBar::min-horizontal-bar-height = 4 GtkProgressBar::min-vertical-bar-width = 4 # 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/check-off.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "Check-Radio/check-off-hover.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "Check-Radio/check-off-active.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "Check-Radio/check-off-insensitive.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = SELECTED shadow = OUT overlay_file = "Check-Radio/check-off.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = NORMAL shadow = IN overlay_file = "Check-Radio/check-on.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "Check-Radio/check-on-hover.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "Check-Radio/check-on-active.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/check-on-insensitive.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = SELECTED shadow = IN overlay_file = "Check-Radio/check-on.png" overlay_stretch = FALSE } # # Radio Buttons # image { function = OPTION state = NORMAL shadow = OUT overlay_file = "Check-Radio/radio-off.png" overlay_stretch = FALSE } image { function = OPTION state = PRELIGHT shadow = OUT overlay_file = "Check-Radio/radio-off-hover.png" overlay_stretch = FALSE } image { function = OPTION state = ACTIVE shadow = OUT overlay_file = "Check-Radio/radio-off-active.png" overlay_stretch = FALSE } image { function = OPTION state = INSENSITIVE shadow = OUT overlay_file = "Check-Radio/radio-off-insensitive.png" overlay_stretch = FALSE } image { function = OPTION state = SELECTED shadow = OUT overlay_file = "Check-Radio/radio-off.png" overlay_stretch = FALSE } image { function = OPTION state = NORMAL shadow = IN overlay_file = "Check-Radio/radio-on.png" overlay_stretch = FALSE } image { function = OPTION state = PRELIGHT shadow = IN overlay_file = "Check-Radio/radio-on-hover.png" overlay_stretch = FALSE } image { function = OPTION state = ACTIVE shadow = IN overlay_file = "Check-Radio/radio-on-active.png" overlay_stretch = FALSE } image { function = OPTION state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/radio-on-insensitive.png" overlay_stretch = FALSE } image { function = OPTION state = SELECTED shadow = IN overlay_file = "Check-Radio/radio-on.png" overlay_stretch = FALSE } # # Arrows # image { function = ARROW overlay_file = "Arrows/up.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/up.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW state = ACTIVE overlay_file = "Arrows/up.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW state = INSENSITIVE overlay_file = "Arrows/up-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = UP } image { function = ARROW state = NORMAL overlay_file = "Arrows/down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW state = ACTIVE overlay_file = "Arrows/down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW state = INSENSITIVE overlay_file = "Arrows/down-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = DOWN } image { function = ARROW overlay_file = "Arrows/left.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/left.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW state = ACTIVE overlay_file = "Arrows/left.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW state = INSENSITIVE overlay_file = "Arrows/left-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = LEFT } image { function = ARROW overlay_file = "Arrows/right.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/right.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = ACTIVE overlay_file = "Arrows/right.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = INSENSITIVE overlay_file = "Arrows/right-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } # # Option Menu Arrows # image { function = TAB state = NORMAL overlay_file = "Arrows/down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = TAB state = PRELIGHT overlay_file = "Arrows/down.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } image { function = TAB state = INSENSITIVE overlay_file = "Arrows/down-insensitive.png" overlay_stretch = FALSE } # # Lines # image { function = VLINE file = "Lines/v-line.png" border = { 1, 0, 0, 0 } stretch = TRUE } image { function = HLINE file = "Lines/h-line.png" border = { 0, 0, 0, 1 } stretch = TRUE } # # Focuslines # image { function = FOCUS file = "Others/focus.png" border = { 0, 0, 0, 0 } stretch = TRUE } # # Handles # image { function = HANDLE state = NORMAL overlay_file = "Handles/h-handle.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = HANDLE state = PRELIGHT overlay_file = "Handles/h-handle-hover.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = HANDLE state = ACTIVE overlay_file = "Handles/h-handle-active.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = HANDLE state = INSENSITIVE overlay_file = "Handles/h-handle-insensitive.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = HANDLE state = NORMAL overlay_file = "Handles/v-handle.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = HANDLE state = PRELIGHT overlay_file = "Handles/v-handle-hover.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = HANDLE state = ACTIVE overlay_file = "Handles/v-handle-active.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = HANDLE state = INSENSITIVE overlay_file = "Handles/v-handle-insensitive.png" overlay_stretch = FALSE orientation = VERTICAL } # # Expanders # image { function = EXPANDER state = NORMAL expander_style = COLLAPSED file = "Arrows/right-alt.png" } image { function = EXPANDER state = PRELIGHT expander_style = COLLAPSED file = "Arrows/right-alt-hover.png" } image { function = EXPANDER state = ACTIVE expander_style = COLLAPSED file = "Arrows/right.png" } image { function = EXPANDER state = INSENSITIVE expander_style = COLLAPSED file = "Arrows/right-alt-insensitive.png" } image { function = EXPANDER state = NORMAL expander_style = SEMI_COLLAPSED file = "Arrows/right-alt.png" } image { function = EXPANDER state = PRELIGHT expander_style = SEMI_COLLAPSED file = "Arrows/right-alt-hover.png" } image { function = EXPANDER state = ACTIVE expander_style = SEMI_COLLAPSED file = "Arrows/right.png" } image { function = EXPANDER state = INSENSITIVE expander_style = SEMI_COLLAPSED file = "Arrows/right-alt-insensitive.png" } image { function = EXPANDER state = NORMAL expander_style = EXPANDED file = "Arrows/down-alt.png" } image { function = EXPANDER state = PRELIGHT expander_style = EXPANDED file = "Arrows/down-alt-hover.png" } image { function = EXPANDER state = ACTIVE expander_style = EXPANDED file = "Arrows/down.png" } image { function = EXPANDER state = INSENSITIVE expander_style = EXPANDED file = "Arrows/down-alt-insensitive.png" } image { function = EXPANDER state = NORMAL expander_style = SEMI_EXPANDED file = "Arrows/down-alt.png" } image { function = EXPANDER state = PRELIGHT expander_style = SEMI_EXPANDED file = "Arrows/down-alt-hover.png" } image { function = EXPANDER state = ACTIVE expander_style = SEMI_EXPANDED file = "Arrows/down.png" } image { function = EXPANDER state = INSENSITIVE expander_style = SEMI_EXPANDED file = "Arrows/down-alt-insensitive.png" } # # Resize Grip # image { function = RESIZE_GRIP state = NORMAL detail = "statusbar" overlay_file = "Others/null.svg" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE } # # Shadows ( this area needs help :P ) # image { function = SHADOW_GAP file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE } } } style "toplevel_hack" { } style "progressbar" { xthickness = 0 ythickness = 0 fg[NORMAL] = @fg_color fg[PRELIGHT] = @selected_fg_color engine "pixmap" { image { function = BOX # state = NORMAL detail = "trough" file = "ProgressBar/trough.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX # state = NORMAL detail = "trough" file = "ProgressBar/trough.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } image { function = BOX # state = NORMAL detail = "bar" file = "ProgressBar/bar.png" stretch = TRUE border = { 0, 0, 0, 0 } orientation = HORIZONTAL } image { function = BOX # state = NORMAL detail = "bar" file = "ProgressBar/bar.png" stretch = TRUE border = { 0, 0, 0, 0 } orientation = VERTICAL } } } style "range" { engine "pixmap" { image { function = BOX # state = NORMAL detail = "trough" file = "Range/h-scale-trough.png" border = { 10, 10, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX state = INSENSITIVE detail = "trough" file = "Range/h-scale-trough-insensitive.png" border = { 10, 10, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX # state = NORMAL detail = "trough" file = "Range/v-scale-trough.png" border = { 0, 0, 10, 10 } stretch = TRUE orientation = VERTICAL } image { function = BOX state = INSENSITIVE detail = "trough" file = "Range/v-scale-trough-insensitive.png" border = { 0, 0, 10, 10 } stretch = TRUE orientation = VERTICAL } # # Horizontal # image { function = SLIDER state = NORMAL file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/scale-slider.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = SLIDER state = PRELIGHT file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/scale-slider-hover.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = SLIDER state = ACTIVE file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/scale-slider-active.png" overlay_stretch = FALSE orientation = HORIZONTAL } image { function = SLIDER state = INSENSITIVE file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/scale-slider-insensitive.png" overlay_stretch = FALSE orientation = HORIZONTAL } # # Vertical # image { function = SLIDER state = NORMAL file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/scale-slider.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = SLIDER state = PRELIGHT file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/scale-slider-hover.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = SLIDER state = ACTIVE file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/scale-slider-active.png" overlay_stretch = FALSE orientation = VERTICAL } image { function = SLIDER state = INSENSITIVE file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE overlay_file = "Range/scale-slider-insensitive.png" overlay_stretch = FALSE orientation = VERTICAL } # Function below removes ugly boxes image { function = BOX file = "Others/null.svg" border = { 3, 3, 3, 3 } stretch = TRUE } } } style "scrollbar" { engine "pixmap" { image { function = BOX # state = NORMAL detail = "trough" file = "Scrollbars/h-trough.png" border = { 0, 0, 1, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX state = INSENSITIVE detail = "trough" file = "Scrollbars/h-trough.png" border = { 0, 0, 1, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = BOX # state = NORMAL detail = "trough" file = "Scrollbars/v-trough.png" border = { 1, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } image { function = BOX state = INSENSITIVE detail = "trough" file = "Scrollbars/v-trough.png" border = { 1, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } # # Sliders # image { function = SLIDER state = NORMAL file = "Scrollbars/h-slider.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = PRELIGHT file = "Scrollbars/h-slider-hover.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = ACTIVE file = "Scrollbars/h-slider-active.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = HORIZONTAL } image { function = SLIDER state = INSENSITIVE file = "Scrollbars/h-slider-insensitive.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = HORIZONTAL } # X Verticals image { function = SLIDER state = NORMAL file = "Scrollbars/v-slider.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = PRELIGHT file = "Scrollbars/v-slider-hover.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = ACTIVE file = "Scrollbars/v-slider-active.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } image { function = SLIDER state = INSENSITIVE file = "Scrollbars/v-slider-insensitive.png" border = { 0, 0, 0, 0 } stretch = TRUE orientation = VERTICAL } } } style "entry" { xthickness = 6 ythickness = 6 bg[NORMAL] = "#2b2b2b" engine "pixmap" { image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/entry.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/entry-active.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/entry-insensitive.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = FLAT_BOX detail = "entry_bg" state = NORMAL overlay_file = "Others/null.svg" overlay_border = { 0, 0, 0, 0 } overlay_stretch = TRUE } image { function = FLAT_BOX detail = "entry_bg" state = ACTIVE overlay_file = "Others/null.svg" overlay_border = { 0, 0, 0, 0 } overlay_stretch = TRUE } } } style "notebook_entry" { bg[NORMAL] = "#2b2b2b" bg[ACTIVE] = @bg_color bg[INSENSITIVE] = @bg_color engine "pixmap" { image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/base_entry.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/base_entry-active.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/base_entry-insensitive.png" border = { 2, 2, 2, 2 } stretch = TRUE } } } style "button" { xthickness = 3 ythickness = 5 fg[NORMAL] = mix(0.75, @fg_color, @bg_color) font_name = "Medium" engine "pixmap" { image { function = BOX state = NORMAL file = "Buttons/button.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = PRELIGHT shadow = OUT file = "Buttons/button-hover.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = INSENSITIVE shadow = OUT file = "Buttons/button-insensitive.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = ACTIVE file = "Buttons/button-active.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = PRELIGHT shadow = IN file = "Buttons/button-active.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = INSENSITIVE shadow = IN file = "Buttons/button-insensitive.png" border = { 2, 2, 2, 2 } stretch = TRUE } } } style "button_label" { fg[NORMAL] = mix(0.75, @fg_color, @bg_color) fg[ACTIVE] = @selected_fg_color } style "flat_button" { xthickness = 4 ythickness = 2 fg[NORMAL] = mix(0.75, @fg_color, @bg_color) fg[ACTIVE] = "#555555" font_name = "Medium" engine "pixmap" { image { function = BOX state = NORMAL file = "Buttons/flat-button.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = PRELIGHT shadow = OUT file = "Buttons/flat-button-hover.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = INSENSITIVE shadow = OUT #file = "Others/null.svg" file = "Buttons/flat-button-hover.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = ACTIVE #file = "Buttons/flat-button-active.png" file = "Buttons/flat-button.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = PRELIGHT shadow = IN file = "Buttons/flat-button-hover.png" border = { 2, 2, 2, 2 } stretch = TRUE } image { function = BOX state = INSENSITIVE shadow = IN #file = "Buttons/button-insensitive.png" file = "Buttons/flat-button-hover.png" border = { 2, 2, 2, 2 } stretch = TRUE } } } style "button_separator" { xthickness = 0 ythickness = 0 GtkWidget::wide-separators = 1 GtkWidget::separator-height = 0 GtkWidget::separator-width = 0 } style "combobox_button" { xthickness = 5 ythickness = 4 } style "combobox_entry" { xthickness = 6 ythickness = 6 engine "pixmap" { # LTR version image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/ltr-entry.png" border = { 5, 0, 5, 5 } stretch = TRUE direction = LTR } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/ltr-entry-active.png" border = { 5, 0, 5, 5 } stretch = TRUE direction = LTR } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/ltr-entry-insensitive.png" border = { 5, 0, 5, 5 } stretch = TRUE direction = LTR } # RTL version image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/rtl-entry.png" border = { 0, 5, 5, 5 } stretch = TRUE direction = RTL } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/rtl-entry-active.png" border = { 0, 5, 5, 5 } stretch = TRUE direction = RTL } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/rtl-entry-insensitive.png" border = { 0, 5, 5, 5 } stretch = TRUE direction = RTL } } } style "notebook_combobox_entry" { engine "pixmap" { # LTR version image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/ltr-base_entry.png" border = { 5, 0, 5, 5 } stretch = TRUE direction = LTR } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/ltr-base_entry-active.png" border = { 5, 0, 5, 5 } stretch = TRUE direction = LTR } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/ltr-base_entry-insensitive.png" border = { 5, 0, 5, 5 } stretch = TRUE direction = LTR } # RTL version image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Entry/rtl-base_entry.png" border = { 0, 5, 5, 5 } stretch = TRUE direction = RTL } image { function = SHADOW detail = "entry" state = ACTIVE file = "Entry/rtl-base_entry-active.png" border = { 0, 5, 5, 5 } stretch = TRUE direction = RTL } image { function = SHADOW detail = "entry" state = INSENSITIVE shadow = IN file = "Entry/rtl-base_entry-insensitive.png" border = { 0, 5, 5, 5 } stretch = TRUE direction = RTL } } } style "combobox_entry_button" { xthickness = 6 ythickness = 6 fg[ACTIVE] = @text_color engine "pixmap" { # LTR version image { function = BOX state = NORMAL file = "Buttons/ltr-button.png" border = { 2, 5, 5, 5 } stretch = TRUE direction = LTR } image { function = BOX state = PRELIGHT file = "Buttons/ltr-button-hover.png" border = { 2, 5, 5, 5 } stretch = TRUE direction = LTR } image { function = BOX state = ACTIVE file = "Buttons/ltr-button-active.png" border = { 2, 5, 5, 5 } stretch = TRUE direction = LTR } image { function = BOX state = INSENSITIVE file = "Buttons/ltr-button-insensitive.png" border = { 2, 5, 5, 5 } stretch = TRUE direction = LTR } # RTL version image { function = BOX state = NORMAL file = "Buttons/rtl-button.png" border = { 5, 2, 5, 5 } stretch = TRUE direction = RTL } image { function = BOX state = PRELIGHT file = "Buttons/rtl-button-hover.png" border = { 5, 2, 5, 5 } stretch = TRUE direction = RTL } image { function = BOX state = ACTIVE file = "Buttons/rtl-button-active.png" border = { 5, 2, 5, 5 } stretch = TRUE direction = RTL } image { function = BOX state = INSENSITIVE file = "Buttons/rtl-button-insensitive.png" border = { 5, 2, 5, 5 } stretch = TRUE direction = RTL } } } style "combo_entry_button" { xthickness = 6 ythickness = 6 } style "spinbutton" { xthickness = 6 ythickness = 6 bg[NORMAL] = @bg_color engine "pixmap" { image { function = ARROW } # Spin-Up LTR image { function = BOX state = NORMAL detail = "spinbutton_up" file = "Spin/ltr-up.png" border = { 1, 5, 5, 0 } stretch = TRUE overlay_file = "Arrows/up.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = PRELIGHT detail = "spinbutton_up" file = "Spin/ltr-up-hover.png" border = { 1, 5, 5, 0 } stretch = TRUE overlay_file = "Arrows/up.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = ACTIVE detail = "spinbutton_up" file = "Spin/ltr-up-active.png" border = { 1, 5, 5, 0 } stretch = TRUE overlay_file = "Arrows/up.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = INSENSITIVE detail = "spinbutton_up" file = "Spin/ltr-up-insensitive.png" border = { 1, 5, 5, 0 } stretch = TRUE overlay_file = "Arrows/up-insensitive.png" overlay_stretch = FALSE direction = LTR } # Spin-Up RTL image { function = BOX state = NORMAL detail = "spinbutton_up" file = "Spin/rtl-up.png" border = { 5, 1, 5, 0 } stretch = TRUE overlay_file = "Arrows/up.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = PRELIGHT detail = "spinbutton_up" file = "Spin/rtl-up-hover.png" border = { 5, 1, 5, 0 } stretch = TRUE overlay_file = "Arrows/up.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = ACTIVE detail = "spinbutton_up" file = "Spin/rtl-up-active.png" border = { 5, 1, 5, 0 } stretch = TRUE overlay_file = "Arrows/up.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = INSENSITIVE detail = "spinbutton_up" file = "Spin/rtl-up-insensitive.png" border = { 5, 1, 5, 0 } stretch = TRUE overlay_file = "Arrows/up-insensitive.png" overlay_stretch = FALSE direction = RTL } # Spin-Down LTR image { function = BOX state = NORMAL detail = "spinbutton_down" file = "Spin/ltr-down.png" border = { 1, 5, 1, 5 } stretch = TRUE overlay_file = "Arrows/down.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = PRELIGHT detail = "spinbutton_down" file = "Spin/ltr-down-hover.png" border = { 1, 5, 1, 5 } stretch = TRUE overlay_file = "Arrows/down.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = ACTIVE detail = "spinbutton_down" file = "Spin/ltr-down-active.png" border = { 1, 5, 1, 5 } stretch = TRUE overlay_file = "Arrows/down.png" overlay_stretch = FALSE direction = LTR } image { function = BOX state = INSENSITIVE detail = "spinbutton_down" file = "Spin/ltr-down-insensitive.png" border = { 1, 5, 1, 5 } stretch = TRUE overlay_file = "Arrows/down-insensitive.png" overlay_stretch = FALSE direction = LTR } # Spin-Down RTL image { function = BOX state = NORMAL detail = "spinbutton_down" file = "Spin/rtl-down.png" border = { 5, 1, 1, 5 } stretch = TRUE overlay_file = "Arrows/down.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = PRELIGHT detail = "spinbutton_down" file = "Spin/rtl-down-hover.png" border = { 5, 1, 1, 5 } stretch = TRUE overlay_file = "Arrows/down.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = ACTIVE detail = "spinbutton_down" file = "Spin/rtl-down-active.png" border = { 5, 1, 1, 5 } stretch = TRUE overlay_file = "Arrows/down.png" overlay_stretch = FALSE direction = RTL } image { function = BOX state = INSENSITIVE detail = "spinbutton_down" file = "Spin/rtl-down-insensitive.png" border = { 5, 1, 1, 5 } stretch = TRUE overlay_file = "Arrows/down-insensitive.png" overlay_stretch = FALSE direction = RTL } } } style "standalone_entry" { engine "pixmap" { image { function = FLAT_BOX detail = "entry_bg" state = NORMAL file = "Others/null.svg" stretch = TRUE border = { 0, 0, 0, 0 } } image { function = FLAT_BOX detail = "entry_bg" state = ACTIVE file = "Others/null.svg" stretch = TRUE border = { 0, 0, 0, 0 } } image { function = SHADOW detail = "entry" state = NORMAL shadow = IN file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE } image { function = SHADOW detail = "entry" state = ACTIVE file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE } } } style "menubar" { xthickness = 0 ythickness = 0 bg[NORMAL] = @bg_color # fg[NORMAL] = mix(0.8, @selected_fg_color, shade(0.96, @fg_color)) fg[NORMAL] = @selected_fg_color fg[PRELIGHT] = @selected_fg_color # fg[INSENSITIVE] = mix(0.4, @selected_fg_color, @fg_color) fg[INSENSITIVE] = "#FFFFFF" # engine "pixmap" { # image { # function = BOX # file = "Shadows/z-depth-1.svg" # border = { 1, 1, 1, 1 } # stretch = TRUE # recolorable = TRUE # } # } } style "menubar_item" { xthickness = 3 ythickness = 6 bg[NORMAL] = "#2A373E" bg[PRELIGHT] = "#2A373E" fg[NORMAL] = @text_color fg[PRELIGHT] = @text_color fg[INSENSITIVE] = mix(0.4, @selected_fg_color, @fg_color) engine "pixmap" { image { function = BOX recolorable = TRUE state = PRELIGHT file = "Others/top.png" border = { 0, 0, 0, 2 } stretch = TRUE } } } style "menu" { xthickness = 0 ythickness = 0 GtkMenuItem::arrow-scaling = 0.4 bg[NORMAL] = @base_color bg[PRELIGHT] = @base_color bg[INSENSITIVE] = @base_color } style "menu_framed_box" { } style "menu_item" { xthickness = 4 ythickness = 6 # 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] = mix(0.9, @base_color, @fg_color) bg[PRELIGHT] = mix(0.9, @base_color, @fg_color) fg[PRELIGHT] = shade(0.96, @fg_color) fg[SELECTED] = shade(0.96, @fg_color) text[PRELIGHT] = shade(0.96, @fg_color) text[SELECTED] = shade(0.96, @fg_color) engine "pixmap" { # Check Buttons image { function = CHECK recolorable = TRUE state = NORMAL shadow = OUT overlay_file = "Others/null.svg" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = OUT overlay_file = "Others/null.svg" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = OUT overlay_file = "Others/null.svg" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = OUT overlay_file = "Others/null.svg" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = NORMAL shadow = IN overlay_file = "Check-Radio/check.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = PRELIGHT shadow = IN overlay_file = "Check-Radio/check-selected.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = ACTIVE shadow = IN overlay_file = "Check-Radio/check-selected.png" overlay_stretch = FALSE } image { function = CHECK recolorable = TRUE state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/check-insensitive.png" overlay_stretch = FALSE } # Radio Buttons image { function = OPTION state = NORMAL shadow = OUT overlay_file = "Others/null.svg" overlay_stretch = FALSE } image { function = OPTION state = PRELIGHT shadow = OUT overlay_file = "Others/null.svg" overlay_stretch = FALSE } image { function = OPTION state = ACTIVE shadow = OUT overlay_file = "Others/null.svg" overlay_stretch = FALSE } image { function = OPTION state = INSENSITIVE shadow = OUT overlay_file = "Others/null.svg" overlay_stretch = FALSE } image { function = OPTION state = NORMAL shadow = IN overlay_file = "Check-Radio/radio.png" overlay_stretch = FALSE } image { function = OPTION state = PRELIGHT shadow = IN overlay_file = "Check-Radio/radio-selected.png" overlay_stretch = FALSE } image { function = OPTION state = ACTIVE shadow = IN overlay_file = "Check-Radio/radio-selected.png" overlay_stretch = FALSE } image { function = OPTION state = INSENSITIVE shadow = IN overlay_file = "Check-Radio/radio-insensitive.png" overlay_stretch = FALSE } # This fixes boxy Qt menu items image { function = SHADOW file = "Others/null.svg" border = { 4, 4, 4, 4 } stretch = TRUE } # Arrow Buttons image { function = ARROW state = NORMAL overlay_file = "Arrows/right-alt.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = PRELIGHT overlay_file = "Arrows/right-alt-hover.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } image { function = ARROW state = INSENSITIVE overlay_file = "Arrows/right-alt-insensitive.png" overlay_border = { 0, 0, 0, 0 } overlay_stretch = FALSE arrow_direction = RIGHT } } } style "separator_menu_item" { xthickness = 0 ythickness = 2 # embedded blank area width = 20px engine "pixmap" { image { function = BOX file = "Lines/menu-line-ltr.png" border = { 20, 0, 0, 0 } stretch = TRUE direction = LTR } image { function = BOX file = "Lines/menu-line-rtl.png" border = { 0, 20, 0, 0 } stretch = TRUE direction = RTL } } } style "notebook" { xthickness = 4 ythickness = 4 engine "pixmap" { image { function = EXTENSION state = ACTIVE file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE gap_side = TOP } image { function = EXTENSION state = ACTIVE file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE gap_side = BOTTOM } image { function = EXTENSION state = ACTIVE file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE gap_side = RIGHT } image { function = EXTENSION state = ACTIVE file = "Others/null.svg" border = { 0, 0, 0, 0 } stretch = TRUE gap_side = LEFT } image { function = EXTENSION file = "Others/top.png" border = { 0, 0, 0, 2 } stretch = TRUE gap_side = BOTTOM } image { function = EXTENSION file = "Others/bottom.png" border = { 0, 0, 2, 0 } stretch = TRUE gap_side = TOP } image { function = EXTENSION file = "Others/left.png" border = { 0, 2, 0, 0 } stretch = TRUE gap_side = RIGHT } image { function = EXTENSION file = "Others/right.png" border = { 2, 0, 0, 0 } 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 = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE gap_file = "Others/null.svg" gap_border = { 1, 1, 0, 0 } gap_side = TOP } image { function = BOX_GAP file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE gap_file = "Others/null.svg" gap_border = { 1, 1, 0, 0 } gap_side = BOTTOM } image { function = BOX_GAP file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE gap_file = "Others/null.svg" gap_border = { 0, 0, 1, 1 } gap_side = LEFT } image { function = BOX_GAP file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE gap_file = "Others/null.svg" 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 = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE } } } style "notebook_viewport" { bg[NORMAL] = @base_color } style "notebook_tab_label" { fg[ACTIVE] = mix(0.6, @fg_color, @bg_color) font_name = "Bold" } style "treeview_header" { xthickness = 2 ythickness = 1 fg[NORMAL] = mix(0.6, @text_color, @base_color) fg[PRELIGHT] = mix(0.8, @text_color, @base_color) fg[ACTIVE] = @text_color fg[INSENSITIVE] = mix(0.24, @text_color, @base_color) font_name = "Medium" engine "pixmap" { image { function = BOX state = NORMAL file = "Column/column.png" border = { 0, 1, 0, 1 } stretch = TRUE } image { function = BOX state = PRELIGHT file = "Column/column-hover.png" border = { 0, 1, 0, 1 } stretch = TRUE } image { function = BOX state = ACTIVE file = "Column/column-active.png" border = { 0, 1, 0, 1 } stretch = TRUE } image { function = BOX state = INSENSITIVE file = "Column/column-insensitive.png" border = { 0, 1, 0, 1 } stretch = TRUE } } } style "scrolled_window" { xthickness = 1 ythickness = 1 engine "pixmap" { image { function = SHADOW file = "Shadows/frame.png" border = { 1, 1, 1, 1 } stretch = TRUE } } } # FIXME: needs for Inkskape's scrolled colour palette style "scrolled_viewport" { xthickness = 0 ythickness = 1 engine "pixmap" { image { function = SHADOW file = "Others/null.svg" border = { 1, 1, 1, 1 } stretch = TRUE } } } style "frame" { xthickness = 0 ythickness = 0 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/gap.png" gap_start_border = { 1, 0, 0, 0 } gap_end_file = "Shadows/gap.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/gap.png" gap_start_border = { 1, 0, 0, 0 } gap_end_file = "Shadows/gap.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/gap.png" gap_start_border = { 1, 0, 0, 0 } gap_end_file = "Shadows/gap.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/gap.png" gap_start_border = { 1, 0, 0, 0 } gap_end_file = "Shadows/gap.png" gap_end_border = { 0, 1, 0, 0 } shadow = ETCHED_OUT } } } style "handlebox" { engine "pixmap" { image { function = BOX file = "Others/null.svg" border = { 4, 4, 4, 4 } stretch = TRUE detail = "handlebox_bin" shadow = IN } image { function = BOX file = "Others/null.svg" border = { 4, 4, 4, 4 } stretch = TRUE detail = "handlebox_bin" shadow = OUT } } } style "toolbar" { engine "pixmap" { image { function = BUTTON } } } style "inline_toolbar" { GtkToolbar::button-relief = GTK_RELIEF_NORMAL engine "pixmap" { image { function = BOX # file = "ProgressBar/bar.png" border = { 1, 1, 0, 1 } recolorable = FALSE stretch = TRUE } } } style "bg" { fg[NORMAL] = mix(0.75, @fg_color, @bg_color) fg[PRELIGHT] = @fg_color fg[ACTIVE] = @fg_color bg[NORMAL] = "#e5e9ec" bg[PRELIGHT] = @bg_color bg[ACTIVE] = @bg_color bg[INSENSITIVE] = @bg_color } style "base" { fg[NORMAL] = mix(0.75, @fg_color, @bg_color) fg[PRELIGHT] = @fg_color fg[ACTIVE] = @fg_color bg[NORMAL] = @base_color bg[PRELIGHT] = @base_color bg[ACTIVE] = @base_color bg[INSENSITIVE] = @base_color } style "tooltips" { xthickness = 9 ythickness = 9 bg[NORMAL] = @tooltip_bg_color fg[NORMAL] = @tooltip_fg_color bg[SELECTED] = @tooltip_bg_color } style "text" { engine "murrine" { textstyle = 0 } } class "GtkWidget" style "default" class "GtkScrollbar" style "scrollbar" class "GtkButton" style "flat_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 "button_label" widget_class "**" style "menubar" widget_class "**" style "menu" widget_class "**" style "menu_item" widget_class "*.*" style "menubar_item" widget_class "**" style "separator_menu_item" widget_class "**" style "combobox_button" widget_class "**" style "combobox_entry" widget_class "**" style "combobox_entry_button" widget_class "**" style "combobox_entry" widget_class "**" style "combobox_entry_button" widget_class "**" style "combo_entry_button" widget_class "*HandleBox" style "handlebox" widget_class "***" style "treeview_header" widget_class "**" style "inline_toolbar" widget_class "***" style "notebook_viewport" # FIXME: needs for Inkskape's scrolled colour palette widget_class "**" style "scrolled_viewport" widget_class "**" style "button_separator" widget_class "**" style "button_separator" widget_class "**" style "button_separator" widget_class "**" style "bg" widget_class "**" style "bg" widget_class "**" style "bg" widget_class "**" style "base" widget_class "**" style "base" widget_class "**" style "base" widget_class "***" style "bg" widget_class "***" style "bg" widget_class "***" style "bg" widget_class "**" style "flat_button" # 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" # Fixes insensitive text shadows widget_class "*" style "text" widget_class "**" style "text" widget_class "**" style "text" widget_class "**" style "text"