dotfiles

git clone https://github.com/notamitgamer/dotfiles.git
· rebuilt hourlyOpen on GitHub
root / themes / ColdMetal-NoLogo / gtk-2.0 / main.rc

main.rc (66594B)


      1 # vim:set ft=gtkrc ts=2 sw=2 sts=2 ai et:
      2 #
      3 # This is the main theme file, handling all the default widgets and theme
      4 # properties. Since GTK 2 is old, we need to overcome some of its limitations,
      5 # which is also mostly done in this file. Sadly not all of them can be overcome
      6 # so there will always be a visible difference between the GTK 2 and 3 theme.
      7 
      8 style "default" {
      9   xthickness = 1
     10   ythickness = 1
     11 
     12   ####################
     13   # Style Properties #
     14   ####################
     15 
     16   GtkWidget::focus-padding      = 0
     17   GtkWidget::focus-line-width   = 2
     18   GtkWidget::focus-line-pattern = "\2\1"
     19 
     20   GtkToolbar::space-size       = 5 # 1 + 2*2 (separator + margins)
     21   GtkToolbar::internal-padding = 2
     22   GtkToolButton::icon-spacing  = 4
     23 
     24   GtkWidget::tooltip-radius    = 4
     25   GtkWidget::tooltip-alpha     = 230
     26   GtkWidget::new-tooltip-style = 1 #for compatibility
     27 
     28   GtkWidget::link-color              = @link_color
     29   GtkWidget::visited-link-color      = @visited_link_color
     30   GnomeHRef::link_color              = @link_color
     31   GtkHTML::link-color                = @link_color
     32   GtkHTML::vlink-color               = @visited_link_color
     33   GtkIMHtml::hyperlink-color         = @link_color
     34   GtkIMHtml::hyperlink-visited-color = @visited_link_color
     35 
     36   GtkSeparatorMenuItem::horizontal-padding = 0
     37   GtkSeparatorMenuItem::wide-separators    = 1
     38   GtkSeparatorMenuItem::separator-height   = 3
     39 
     40   GtkButton::child-displacement-y = 0
     41 
     42   GtkButton::default-border         = {0, 0, 0, 0}
     43   GtkButton::default-outside-border = {0, 0, 0, 0}
     44   GtkButton::inner-border           = {4, 4, 4, 4}
     45 
     46   GtkEntry::state-hint   = 1
     47   GtkEntry::inner-border = {4, 4, 4, 4}
     48 
     49   GtkPaned::handle-size  = 8
     50   GtkHPaned::handle-size = 8
     51   GtkVPaned::handle-size = 8
     52 
     53   GtkScrollbar::trough-border = 0
     54   GtkRange::trough-border     = 0
     55   GtkRange::slider-width      = 17
     56   GtkRange::stepper-size      = 0
     57   GtkRange::activate-slider   = 1
     58 
     59   GtkScrollbar::activate-slider              = 1
     60   GtkScrollbar::stepper-size                 = 0
     61   GtkScrollbar::has-backward-stepper         = 0
     62   GtkScrollbar::has-forward-stepper          = 0
     63   GtkScrollbar::min-slider-length            = 32 # 24 + 2*4 (margins)
     64   GtkScrolledWindow::scrollbar-spacing       = 0
     65   GtkScrolledWindow::scrollbars-within-bevel = 1
     66 
     67   GtkScale::slider_length       = 24
     68   GtkScale::slider_width        = 24
     69   GtkScale::trough-side-details = 1
     70 
     71   GtkProgressBar::min-horizontal-bar-height = 4
     72   GtkProgressBar::min-vertical-bar-width    = 4
     73   GtkProgressBar::xspacing                  = 4
     74   GtkProgressBar::yspacing                  = 4
     75 
     76   GtkStatusbar::shadow_type    = GTK_SHADOW_NONE
     77   GtkSpinButton::shadow_type   = GTK_SHADOW_NONE
     78   GtkMenuBar::shadow-type      = GTK_SHADOW_NONE
     79   GtkToolbar::shadow-type      = GTK_SHADOW_NONE
     80   # TODO: find out what this comment means:
     81   # ( every window is misaligned for the sake of menus ):
     82   GtkMenuBar::internal-padding = 0
     83   GtkMenu::horizontal-padding  = 0
     84   GtkMenu::vertical-padding    = 4
     85   GtkMenu::double-arrows       = 0
     86   GtkMenuItem::arrow-scaling   = 1
     87   GtkMenuItem::toggle-spacing  = 12
     88 
     89   GtkCheckButton::indicator-size    = 24
     90   GtkCheckButton::indicator_spacing = 2
     91   GtkOptionMenu::indicator_spacing  = {8, 8, 4, 4}
     92 
     93   GtkTreeView::expander-size        = 16
     94   GtkTreeView::vertical-separator   = 0
     95   GtkTreeView::horizontal-separator = 4
     96   GtkTreeView::allow-rules          = 0
     97   # Set this because some apps read it
     98   GtkTreeView::odd-row-color        = @base_color
     99   GtkTreeView::even-row-color       = @base_color
    100 
    101   GtkExpander::expander-size = 16
    102 
    103   GtkNotebook::tab-overlap = 0
    104 
    105   ##########
    106   # Colors #
    107   ##########
    108 
    109   bg[NORMAL]      = @bg_color
    110   bg[PRELIGHT]    = @bg_color
    111   bg[SELECTED]    = mix (0.24, @selected_bg_color, @bg_color)
    112   bg[INSENSITIVE] = @bg_color
    113   bg[ACTIVE]      = @bg_color
    114 
    115   fg[NORMAL]      = @fg_color
    116   fg[PRELIGHT]    = @fg_color
    117   fg[SELECTED]    = @fg_color
    118   fg[INSENSITIVE] = mix (0.5, @fg_color, @bg_color)
    119   fg[ACTIVE]      = @fg_color
    120 
    121   text[NORMAL]      = @text_color
    122   text[PRELIGHT]    = @text_color
    123   text[SELECTED]    = @text_color
    124   text[INSENSITIVE] = mix (0.5, @text_color, @base_color)
    125   text[ACTIVE]      = @text_color
    126 
    127   base[NORMAL]      = @base_color
    128   base[PRELIGHT]    = mix (0.08, @text_color, @base_color)
    129   base[SELECTED]    = mix (0.24, @selected_bg_color, @base_color)
    130   base[INSENSITIVE] = mix (0.5, @base_color, @bg_color)
    131   base[ACTIVE]      = mix (0.24, @selected_bg_color, @base_color)
    132 
    133   # For succinctness, all reasonable pixmap options remain here
    134 
    135   # Draw frame around menu in a non-compositied environment
    136   # This needs to go before pixmap because we need to override some stuff
    137   engine "adwaita" {}
    138 
    139   engine "pixmap" {
    140 
    141     #################
    142     # Check Buttons #
    143     #################
    144 
    145     image {
    146       function        = CHECK
    147       state           = NORMAL
    148       shadow          = OUT
    149       overlay_file    = "assets/checkbox-unchecked.png"
    150       overlay_stretch = FALSE
    151     }
    152 
    153     image {
    154       function        = CHECK
    155       state           = PRELIGHT
    156       shadow          = OUT
    157       overlay_file    = "assets/checkbox-unchecked-hover.png"
    158       overlay_stretch = FALSE
    159     }
    160 
    161     image {
    162       function        = CHECK
    163       state           = ACTIVE
    164       shadow          = OUT
    165       overlay_file    = "assets/checkbox-unchecked-active.png"
    166       overlay_stretch = FALSE
    167     }
    168 
    169     image {
    170       function        = CHECK
    171       state           = SELECTED
    172       shadow          = OUT
    173       overlay_file    = "assets/checkbox-unchecked.png"
    174       overlay_stretch = FALSE
    175     }
    176 
    177     image {
    178       function        = CHECK
    179       state           = INSENSITIVE
    180       shadow          = OUT
    181       overlay_file    = "assets/checkbox-unchecked-disabled.png"
    182       overlay_stretch = FALSE
    183     }
    184 
    185     image {
    186       function        = CHECK
    187       state           = NORMAL
    188       shadow          = IN
    189       overlay_file    = "assets/checkbox-checked.png"
    190       overlay_stretch = FALSE
    191     }
    192 
    193     image {
    194       function        = CHECK
    195       state           = PRELIGHT
    196       shadow          = IN
    197       overlay_file    = "assets/checkbox-checked-hover.png"
    198       overlay_stretch = FALSE
    199     }
    200 
    201     image {
    202       function        = CHECK
    203       state           = ACTIVE
    204       shadow          = IN
    205       overlay_file    = "assets/checkbox-checked-active.png"
    206       overlay_stretch = FALSE
    207     }
    208 
    209     image {
    210       function        = CHECK
    211       state           = SELECTED
    212       shadow          = IN
    213       overlay_file    = "assets/checkbox-checked.png"
    214       overlay_stretch = FALSE
    215     }
    216 
    217     image {
    218       function        = CHECK
    219       state           = INSENSITIVE
    220       shadow          = IN
    221       overlay_file    = "assets/checkbox-checked-disabled.png"
    222       overlay_stretch = FALSE
    223     }
    224 
    225     image {
    226       function        = CHECK
    227       state           = NORMAL
    228       shadow          = ETCHED_IN
    229       overlay_file    = "assets/checkbox-mixed.png"
    230       overlay_stretch = FALSE
    231     }
    232 
    233     image {
    234       function        = CHECK
    235       state           = PRELIGHT
    236       shadow          = ETCHED_IN
    237       overlay_file    = "assets/checkbox-mixed-hover.png"
    238       overlay_stretch = FALSE
    239     }
    240 
    241     image {
    242       function        = CHECK
    243       state           = ACTIVE
    244       shadow          = ETCHED_IN
    245       overlay_file    = "assets/checkbox-mixed-active.png"
    246       overlay_stretch = FALSE
    247     }
    248 
    249     image {
    250       function        = CHECK
    251       state           = SELECTED
    252       shadow          = ETCHED_IN
    253       overlay_file    = "assets/checkbox-mixed.png"
    254       overlay_stretch = FALSE
    255     }
    256 
    257     image {
    258       function        = CHECK
    259       state           = INSENSITIVE
    260       shadow          = ETCHED_IN
    261       overlay_file    = "assets/checkbox-mixed-disabled.png"
    262       overlay_stretch = FALSE
    263     }
    264 
    265     #################
    266     # Radio Buttons #
    267     #################
    268 
    269     image {
    270       function        = OPTION
    271       state           = NORMAL
    272       shadow          = OUT
    273       overlay_file    = "assets/radio-unchecked.png"
    274       overlay_stretch = FALSE
    275     }
    276 
    277     image {
    278       function        = OPTION
    279       state           = PRELIGHT
    280       shadow          = OUT
    281       overlay_file    = "assets/radio-unchecked-hover.png"
    282       overlay_stretch = FALSE
    283     }
    284 
    285     image {
    286       function        = OPTION
    287       state           = ACTIVE
    288       shadow          = OUT
    289       overlay_file    = "assets/radio-unchecked-active.png"
    290       overlay_stretch = FALSE
    291     }
    292 
    293     image {
    294       function        = OPTION
    295       state           = SELECTED
    296       shadow          = OUT
    297       overlay_file    = "assets/radio-unchecked.png"
    298       overlay_stretch = FALSE
    299     }
    300 
    301     image {
    302       function        = OPTION
    303       state           = INSENSITIVE
    304       shadow          = OUT
    305       overlay_file    = "assets/radio-unchecked-disabled.png"
    306       overlay_stretch = FALSE
    307     }
    308 
    309     image {
    310       function        = OPTION
    311       state           = NORMAL
    312       shadow          = IN
    313       overlay_file    = "assets/radio-checked.png"
    314       overlay_stretch = FALSE
    315     }
    316 
    317     image {
    318       function        = OPTION
    319       state           = PRELIGHT
    320       shadow          = IN
    321       overlay_file    = "assets/radio-checked-hover.png"
    322       overlay_stretch = FALSE
    323     }
    324 
    325     image {
    326       function        = OPTION
    327       state           = ACTIVE
    328       shadow          = IN
    329       overlay_file    = "assets/radio-checked-active.png"
    330       overlay_stretch = FALSE
    331     }
    332 
    333     image {
    334       function        = OPTION
    335       state           = SELECTED
    336       shadow          = IN
    337       overlay_file    = "assets/radio-checked.png"
    338       overlay_stretch = FALSE
    339     }
    340 
    341     image {
    342       function        = OPTION
    343       state           = INSENSITIVE
    344       shadow          = IN
    345       overlay_file    = "assets/radio-checked-disabled.png"
    346       overlay_stretch = FALSE
    347     }
    348 
    349     image {
    350       function        = OPTION
    351       state           = NORMAL
    352       shadow          = ETCHED_IN
    353       overlay_file    = "assets/radio-mixed.png"
    354       overlay_stretch = FALSE
    355     }
    356 
    357     image {
    358       function        = OPTION
    359       state           = PRELIGHT
    360       shadow          = ETCHED_IN
    361       overlay_file    = "assets/radio-mixed-hover.png"
    362       overlay_stretch = FALSE
    363     }
    364 
    365     image {
    366       function        = OPTION
    367       state           = ACTIVE
    368       shadow          = ETCHED_IN
    369       overlay_file    = "assets/radio-mixed-active.png"
    370       overlay_stretch = FALSE
    371     }
    372 
    373     image {
    374       function        = OPTION
    375       state           = SELECTED
    376       shadow          = ETCHED_IN
    377       overlay_file    = "assets/radio-mixed.png"
    378       overlay_stretch = FALSE
    379     }
    380 
    381     image {
    382       function        = OPTION
    383       state           = INSENSITIVE
    384       shadow          = ETCHED_IN
    385       overlay_file    = "assets/radio-mixed-disabled.png"
    386       overlay_stretch = FALSE
    387     }
    388 
    389     ##########
    390     # Arrows #
    391     ##########
    392 
    393     # Overrides
    394 
    395     # Disable arrows in spinbuttons
    396     image {
    397       function = ARROW
    398       detail   = "spinbutton"
    399     }
    400 
    401     # Disable arrows for qt in scrollbars
    402 
    403     image {
    404       function = ARROW
    405       detail   = "vscrollbar"
    406     }
    407 
    408     image {
    409       function = ARROW
    410       detail   = "hscrollbar"
    411     }
    412 
    413     # Menu arrows
    414 
    415     image {
    416       function        = ARROW
    417       state           = NORMAL
    418       detail          = "menuitem"
    419       overlay_file    = "assets/pan-left.png"
    420       overlay_stretch = FALSE
    421       arrow_direction = LEFT
    422     }
    423 
    424     image {
    425       function        = ARROW
    426       state           = PRELIGHT
    427       detail          = "menuitem"
    428       overlay_file    = "assets/pan-left.png"
    429       overlay_stretch = FALSE
    430       arrow_direction = LEFT
    431     }
    432 
    433     image {
    434       function        = ARROW
    435       state           = INSENSITIVE
    436       detail          = "menuitem"
    437       overlay_file    = "assets/pan-left-disabled.png"
    438       overlay_stretch = FALSE
    439       arrow_direction = LEFT
    440     }
    441 
    442     image {
    443       function        = ARROW
    444       state           = NORMAL
    445       detail          = "menuitem"
    446       overlay_file    = "assets/pan-right.png"
    447       overlay_stretch = FALSE
    448       arrow_direction = RIGHT
    449     }
    450 
    451     image {
    452       function        = ARROW
    453       state           = PRELIGHT
    454       detail          = "menuitem"
    455       overlay_file    = "assets/pan-right.png"
    456       overlay_stretch = FALSE
    457       arrow_direction = RIGHT
    458     }
    459 
    460     image {
    461       function        = ARROW
    462       state           = INSENSITIVE
    463       detail          = "menuitem"
    464       overlay_file    = "assets/pan-right-disabled.png"
    465       overlay_stretch = FALSE
    466       arrow_direction = RIGHT
    467     }
    468 
    469     image {
    470       function        = ARROW
    471       state           = INSENSITIVE
    472       detail          = "menu_scroll_arrow_up"
    473       overlay_file    = "assets/pan-up-disabled.png"
    474       overlay_stretch = FALSE
    475     }
    476 
    477     image {
    478       function        = ARROW
    479       detail          = "menu_scroll_arrow_up"
    480       overlay_file    = "assets/pan-up.png"
    481       overlay_stretch = FALSE
    482     }
    483 
    484     image {
    485       function        = ARROW
    486       state           = INSENSITIVE
    487       detail          = "menu_scroll_arrow_down"
    488       overlay_file    = "assets/pan-down-disabled.png"
    489       overlay_stretch = FALSE
    490     }
    491 
    492     image {
    493       function        = ARROW
    494       detail          = "menu_scroll_arrow_down"
    495       overlay_file    = "assets/pan-down.png"
    496       overlay_stretch = FALSE
    497     }
    498 
    499     # Regular arrows
    500 
    501     image {
    502       function        = ARROW
    503       state           = NORMAL
    504       overlay_file    = "assets/pan-up-alt.png"
    505       overlay_stretch = FALSE
    506       arrow_direction = UP
    507     }
    508 
    509     image {
    510       function        = ARROW
    511       state           = PRELIGHT
    512       overlay_file    = "assets/pan-up.png"
    513       overlay_stretch = FALSE
    514       arrow_direction = UP
    515     }
    516 
    517     image {
    518       function        = ARROW
    519       state           = ACTIVE
    520       overlay_file    = "assets/pan-up.png"
    521       overlay_stretch = FALSE
    522       arrow_direction = UP
    523     }
    524 
    525     image {
    526       function        = ARROW
    527       state           = INSENSITIVE
    528       overlay_file    = "assets/pan-up-alt-disabled.png"
    529       overlay_stretch = FALSE
    530       arrow_direction = UP
    531     }
    532 
    533     image {
    534       function        = ARROW
    535       state           = NORMAL
    536       overlay_file    = "assets/pan-down-alt.png"
    537       overlay_stretch = FALSE
    538       arrow_direction = DOWN
    539     }
    540 
    541     image {
    542       function        = ARROW
    543       state           = PRELIGHT
    544       overlay_file    = "assets/pan-down.png"
    545       overlay_stretch = FALSE
    546       arrow_direction = DOWN
    547     }
    548 
    549     image {
    550       function        = ARROW
    551       state           = ACTIVE
    552       overlay_file    = "assets/pan-down.png"
    553       overlay_stretch = FALSE
    554       arrow_direction = DOWN
    555     }
    556 
    557     image {
    558       function        = ARROW
    559       state           = INSENSITIVE
    560       overlay_file    = "assets/pan-down-alt-disabled.png"
    561       overlay_stretch = FALSE
    562       arrow_direction = DOWN
    563     }
    564 
    565     image {
    566       function        = ARROW
    567       state           = NORMAL
    568       overlay_file    = "assets/pan-left-alt.png"
    569       overlay_stretch = FALSE
    570       arrow_direction = LEFT
    571     }
    572 
    573     image {
    574       function        = ARROW
    575       state           = PRELIGHT
    576       overlay_file    = "assets/pan-left.png"
    577       overlay_stretch = FALSE
    578       arrow_direction = LEFT
    579     }
    580 
    581     image {
    582       function        = ARROW
    583       state           = ACTIVE
    584       overlay_file    = "assets/pan-left.png"
    585       overlay_stretch = FALSE
    586       arrow_direction = LEFT
    587     }
    588 
    589     image {
    590       function        = ARROW
    591       state           = INSENSITIVE
    592       overlay_file    = "assets/pan-left-alt-disabled.png"
    593       overlay_stretch = FALSE
    594       arrow_direction = LEFT
    595     }
    596 
    597     image {
    598       function        = ARROW
    599       state           = NORMAL
    600       overlay_file    = "assets/pan-right-alt.png"
    601       overlay_stretch = FALSE
    602       arrow_direction = RIGHT
    603     }
    604 
    605     image {
    606       function        = ARROW
    607       state           = PRELIGHT
    608       overlay_file    = "assets/pan-right.png"
    609       overlay_stretch = FALSE
    610       arrow_direction = RIGHT
    611     }
    612 
    613     image {
    614       function        = ARROW
    615       state           = ACTIVE
    616       overlay_file    = "assets/pan-right.png"
    617       overlay_stretch = FALSE
    618       arrow_direction = RIGHT
    619     }
    620 
    621     image {
    622       function        = ARROW
    623       state           = INSENSITIVE
    624       overlay_file    = "assets/pan-right-alt-disabled.png"
    625       overlay_stretch = FALSE
    626       arrow_direction = RIGHT
    627     }
    628 
    629     ######################
    630     # Option Menu Arrows #
    631     ######################
    632 
    633     image {
    634       function        = TAB
    635       state           = NORMAL
    636       overlay_file    = "assets/pan-down-alt.png"
    637       overlay_stretch = FALSE
    638     }
    639 
    640     image {
    641       function        = TAB
    642       state           = PRELIGHT
    643       overlay_file    = "assets/pan-down.png"
    644       overlay_stretch = FALSE
    645     }
    646 
    647     image {
    648       function        = TAB
    649       state           = ACTIVE
    650       overlay_file    = "assets/pan-down.png"
    651       overlay_stretch = FALSE
    652     }
    653 
    654     image {
    655       function        = TAB
    656       state           = INSENSITIVE
    657       overlay_file    = "assets/pan-down-alt-disabled.png"
    658       overlay_stretch = FALSE
    659     }
    660 
    661     #########
    662     # Lines #
    663     #########
    664 
    665     image {
    666       function = VLINE
    667       file     = "assets/border.png"
    668       border   = {1, 0, 0, 0}
    669     }
    670 
    671     image {
    672       function = HLINE
    673       file     = "assets/border.png"
    674       border   = {0, 0, 1, 0}
    675     }
    676 
    677     #########
    678     # Focus #
    679     #########
    680 
    681     image {
    682       function = FOCUS
    683       file     = "assets/focus.png"
    684       border   = {5, 5, 5, 5} # Super strange, {4, 4, 4, 4} does not work properly...
    685       stretch  = TRUE
    686     }
    687 
    688     ###########
    689     # Handles #
    690     ###########
    691 
    692     image {
    693       function        = HANDLE
    694       detail          = "handlebox"
    695       overlay_file    = "assets/handle-vert.png"
    696       overlay_stretch = FALSE
    697     }
    698 
    699     image {
    700       function        = HANDLE
    701       state           = NORMAL
    702       overlay_file    = "assets/handle-horz.png"
    703       overlay_stretch = FALSE
    704       orientation     = HORIZONTAL
    705     }
    706 
    707     image {
    708       function        = HANDLE
    709       state           = PRELIGHT
    710       overlay_file    = "assets/handle-horz-hover.png"
    711       overlay_stretch = FALSE
    712       orientation     = HORIZONTAL
    713     }
    714 
    715     image {
    716       function        = HANDLE
    717       state           = ACTIVE
    718       overlay_file    = "assets/handle-horz-active.png"
    719       overlay_stretch = FALSE
    720       orientation     = HORIZONTAL
    721     }
    722 
    723     image {
    724       function        = HANDLE
    725       state           = NORMAL
    726       overlay_file    = "assets/handle-vert.png"
    727       overlay_stretch = FALSE
    728       orientation     = VERTICAL
    729     }
    730 
    731     image {
    732       function        = HANDLE
    733       state           = PRELIGHT
    734       overlay_file    = "assets/handle-vert-hover.png"
    735       overlay_stretch = FALSE
    736       orientation     = VERTICAL
    737     }
    738 
    739     image {
    740       function        = HANDLE
    741       state           = ACTIVE
    742       overlay_file    = "assets/handle-vert-active.png"
    743       overlay_stretch = FALSE
    744       orientation     = VERTICAL
    745     }
    746 
    747     image {
    748       function = RESIZE_GRIP
    749     }
    750 
    751     #############
    752     # Expanders #
    753     #############
    754 
    755     image {
    756       function       = EXPANDER
    757       expander_style = EXPANDED
    758       state          = NORMAL
    759       file           = "assets/pan-down-alt.png"
    760     }
    761 
    762     image {
    763       function       = EXPANDER
    764       expander_style = EXPANDED
    765       state          = PRELIGHT
    766       file           = "assets/pan-down.png"
    767     }
    768 
    769     image {
    770       function       = EXPANDER
    771       expander_style = EXPANDED
    772       state          = ACTIVE
    773       file           = "assets/pan-down.png"
    774     }
    775 
    776     image {
    777       function       = EXPANDER
    778       expander_style = EXPANDED
    779       state          = INSENSITIVE
    780       file           = "assets/pan-down-alt-disabled.png"
    781     }
    782 
    783     # LTR
    784 
    785     image {
    786       function       = EXPANDER
    787       expander_style = COLLAPSED
    788       state          = NORMAL
    789       file           = "assets/pan-right-alt.png"
    790       direction      = LTR
    791     }
    792 
    793     image {
    794       function       = EXPANDER
    795       expander_style = COLLAPSED
    796       state          = PRELIGHT
    797       file           = "assets/pan-right.png"
    798       direction      = LTR
    799     }
    800 
    801     image {
    802       function       = EXPANDER
    803       expander_style = COLLAPSED
    804       state          = ACTIVE
    805       file           = "assets/pan-right.png"
    806       direction      = LTR
    807     }
    808 
    809     image {
    810       function       = EXPANDER
    811       expander_style = COLLAPSED
    812       state          = INSENSITIVE
    813       file           = "assets/pan-right-alt-disabled.png"
    814       direction      = LTR
    815     }
    816 
    817     image {
    818       function       = EXPANDER
    819       expander_style = SEMI_COLLAPSED
    820       file           = "assets/pan-right-semi.png"
    821       direction      = LTR
    822     }
    823 
    824     image {
    825       function       = EXPANDER
    826       expander_style = SEMI_EXPANDED
    827       file           = "assets/pan-right-semi.png"
    828       direction      = LTR
    829     }
    830 
    831     # RTL
    832 
    833     image {
    834       function       = EXPANDER
    835       expander_style = COLLAPSED
    836       state          = NORMAL
    837       file           = "assets/pan-left-alt.png"
    838       direction      = RTL
    839     }
    840 
    841     image {
    842       function       = EXPANDER
    843       expander_style = COLLAPSED
    844       state          = PRELIGHT
    845       file           = "assets/pan-left.png"
    846       direction      = RTL
    847     }
    848 
    849     image {
    850       function       = EXPANDER
    851       expander_style = COLLAPSED
    852       state          = ACTIVE
    853       file           = "assets/pan-left.png"
    854       direction      = RTL
    855     }
    856 
    857     image {
    858       function       = EXPANDER
    859       expander_style = COLLAPSED
    860       state          = INSENSITIVE
    861       file           = "assets/pan-left-alt-disabled.png"
    862       direction      = RTL
    863     }
    864 
    865     image {
    866       function       = EXPANDER
    867       expander_style = SEMI_COLLAPSED
    868       file           = "assets/pan-left-semi.png"
    869       direction      = RTL
    870     }
    871 
    872     image {
    873       function       = EXPANDER
    874       expander_style = SEMI_EXPANDED
    875       file           = "assets/pan-left-semi.png"
    876       direction      = RTL
    877     }
    878 
    879     #############
    880     # Notebooks #
    881     #############
    882 
    883     # Left
    884 
    885     image {
    886       function = EXTENSION
    887       state    = NORMAL
    888       file     = "assets/tab.png"
    889       border   = {0, 1, 0, 0}
    890       stretch  = TRUE
    891       gap_side = RIGHT
    892     }
    893 
    894     image {
    895       function = EXTENSION
    896       gap_side = RIGHT
    897     }
    898 
    899     # Right
    900 
    901     image {
    902       function = EXTENSION
    903       state    = NORMAL
    904       file     = "assets/tab.png"
    905       border   = {1, 0, 0, 0}
    906       stretch  = TRUE
    907       gap_side = LEFT
    908     }
    909 
    910     image {
    911       function = EXTENSION
    912       gap_side = LEFT
    913     }
    914 
    915     # Up
    916 
    917     image {
    918       function = EXTENSION
    919       state    = NORMAL
    920       file     = "assets/tab.png"
    921       border   = {0, 0, 0, 1}
    922       stretch  = TRUE
    923       gap_side = BOTTOM
    924     }
    925 
    926     image {
    927       function = EXTENSION
    928       gap_side = BOTTOM
    929     }
    930 
    931     # Down
    932 
    933     image {
    934       function = EXTENSION
    935       state    = NORMAL
    936       file     = "assets/tab.png"
    937       border   = {0, 0, 1, 0}
    938       stretch  = TRUE
    939       gap_side = TOP
    940     }
    941 
    942     image {
    943       function = EXTENSION
    944       gap_side = TOP
    945     }
    946 
    947     # Inner frame
    948 
    949     image {
    950       function   = BOX_GAP
    951       detail     = "notebook"
    952       file       = "assets/frame-notebook.png"
    953       border     = {1, 1, 1, 1}
    954       stretch    = TRUE
    955       gap_file   = "assets/tab.png"
    956       gap_border = {1, 0, 0, 0}
    957       gap_side   = LEFT
    958     }
    959 
    960     image {
    961       function   = BOX_GAP
    962       detail     = "notebook"
    963       file       = "assets/frame-notebook.png"
    964       border     = {1, 1, 1, 1}
    965       stretch    = TRUE
    966       gap_file   = "assets/tab.png"
    967       gap_border = {0, 1, 0, 0}
    968       gap_side   = RIGHT
    969     }
    970 
    971     image {
    972       function   = BOX_GAP
    973       detail     = "notebook"
    974       file       = "assets/frame-notebook.png"
    975       border     = {1, 1, 1, 1}
    976       stretch    = TRUE
    977       gap_file   = "assets/tab.png"
    978       gap_border = {0, 0, 1, 0}
    979       gap_side   = TOP
    980     }
    981 
    982     image {
    983       function   = BOX_GAP
    984       detail     = "notebook"
    985       file       = "assets/frame-notebook.png"
    986       border     = {1, 1, 1, 1}
    987       stretch    = TRUE
    988       gap_file   = "assets/tab.png"
    989       gap_border = {0, 0, 0, 1}
    990       gap_side   = BOTTOM
    991     }
    992 
    993     # Standalone frame
    994     image {
    995       function = BOX
    996       detail   = "notebook"
    997       file     = "assets/frame-notebook.png"
    998       border   = {1, 1, 1, 1}
    999       stretch  = TRUE
   1000     }
   1001 
   1002     ##############
   1003     # Scrollbars #
   1004     ##############
   1005 
   1006     image {
   1007       function    = BOX
   1008       detail      = "trough"
   1009       file        = "assets/scrollbar-horz-trough.png"
   1010       border      = {0, 0, 1, 0}
   1011       orientation = HORIZONTAL
   1012     }
   1013 
   1014     image {
   1015       function    = BOX
   1016       detail      = "trough"
   1017       file        = "assets/scrollbar-vert-ltr-trough.png"
   1018       border      = {1, 0, 0, 0}
   1019       orientation = VERTICAL
   1020       direction   = LTR
   1021     }
   1022 
   1023     image {
   1024       function    = BOX
   1025       detail      = "trough"
   1026       file        = "assets/scrollbar-vert-rtl-trough.png"
   1027       border      = {0, 1, 0, 0}
   1028       orientation = VERTICAL
   1029       direction   = RTL
   1030     }
   1031 
   1032     # Horizontal sliders
   1033 
   1034     image {
   1035       function    = SLIDER
   1036       state       = NORMAL
   1037       detail      = "slider"
   1038       file        = "assets/scrollbar-horz-slider.png"
   1039       border      = {8, 8, 9, 8 }
   1040       stretch     = TRUE
   1041       orientation = HORIZONTAL
   1042     }
   1043 
   1044     image {
   1045       function    = SLIDER
   1046       state       = PRELIGHT
   1047       detail      = "slider"
   1048       file        = "assets/scrollbar-horz-slider-hover.png"
   1049       border      = {8, 8, 9, 8 }
   1050       stretch     = TRUE
   1051       orientation = HORIZONTAL
   1052     }
   1053 
   1054     image {
   1055       function    = SLIDER
   1056       state       = ACTIVE
   1057       detail      = "slider"
   1058       file        = "assets/scrollbar-horz-slider-active.png"
   1059       border      = {8, 8, 9, 8 }
   1060       stretch     = TRUE
   1061       orientation = HORIZONTAL
   1062     }
   1063 
   1064     image {
   1065       function    = SLIDER
   1066       state       = INSENSITIVE
   1067       detail      = "slider"
   1068       file        = "assets/scrollbar-horz-slider-disabled.png"
   1069       border      = {8, 8, 9, 8 }
   1070       stretch     = TRUE
   1071       orientation = HORIZONTAL
   1072     }
   1073 
   1074     # Vertical sliders
   1075 
   1076     image {
   1077       function    = SLIDER
   1078       state       = NORMAL
   1079       detail      = "slider"
   1080       file        = "assets/scrollbar-vert-ltr-slider.png"
   1081       border      = {9, 8, 8, 8}
   1082       stretch     = TRUE
   1083       orientation = VERTICAL
   1084       direction   = LTR
   1085     }
   1086 
   1087     image {
   1088       function    = SLIDER
   1089       state       = PRELIGHT
   1090       detail      = "slider"
   1091       file        = "assets/scrollbar-vert-ltr-slider-hover.png"
   1092       border      = {9, 8, 8, 8}
   1093       stretch     = TRUE
   1094       orientation = VERTICAL
   1095       direction   = LTR
   1096     }
   1097 
   1098     image {
   1099       function    = SLIDER
   1100       state       = ACTIVE
   1101       detail      = "slider"
   1102       file        = "assets/scrollbar-vert-ltr-slider-active.png"
   1103       border      = {9, 8, 8, 8}
   1104       stretch     = TRUE
   1105       orientation = VERTICAL
   1106       direction   = LTR
   1107     }
   1108 
   1109     image {
   1110       function    = SLIDER
   1111       state       = INSENSITIVE
   1112       detail      = "slider"
   1113       file        = "assets/scrollbar-vert-ltr-slider-disabled.png"
   1114       border      = {9, 8, 8, 8}
   1115       stretch     = TRUE
   1116       orientation = VERTICAL
   1117       direction   = LTR
   1118     }
   1119 
   1120     # RTL
   1121 
   1122     image {
   1123       function    = SLIDER
   1124       state       = NORMAL
   1125       detail      = "slider"
   1126       file        = "assets/scrollbar-vert-rtl-slider.png"
   1127       border      = {8, 9, 8, 8}
   1128       stretch     = TRUE
   1129       orientation = VERTICAL
   1130       direction   = RTL
   1131     }
   1132 
   1133     image {
   1134       function    = SLIDER
   1135       state       = PRELIGHT
   1136       detail      = "slider"
   1137       file        = "assets/scrollbar-vert-rtl-slider-hover.png"
   1138       border      = {8, 9, 8, 8}
   1139       stretch     = TRUE
   1140       orientation = VERTICAL
   1141       direction   = RTL
   1142     }
   1143 
   1144     image {
   1145       function    = SLIDER
   1146       state       = ACTIVE
   1147       detail      = "slider"
   1148       file        = "assets/scrollbar-vert-rtl-slider-active.png"
   1149       border      = {8, 9, 8, 8}
   1150       stretch     = TRUE
   1151       orientation = VERTICAL
   1152       direction   = RTL
   1153     }
   1154 
   1155     image {
   1156       function    = SLIDER
   1157       state       = INSENSITIVE
   1158       detail      = "slider"
   1159       file        = "assets/scrollbar-vert-rtl-slider-disabled.png"
   1160       border      = {8, 9, 8, 8}
   1161       stretch     = TRUE
   1162       orientation = VERTICAL
   1163       direction   = RTL
   1164     }
   1165 
   1166     ##########
   1167     # Scales #
   1168     ##########
   1169 
   1170     # Troughs, overrided later on. We set them here too because some widgets
   1171     # don't specify their orientation.
   1172 
   1173     image {
   1174       function    = BOX
   1175       detail      = "trough-upper"
   1176       file        = "assets/scale-horz-trough.png"
   1177       border      = {6, 6, 0, 0}
   1178       stretch     = TRUE
   1179       orientation = HORIZONTAL
   1180     }
   1181 
   1182     image {
   1183       function    = BOX
   1184       state       = INSENSITIVE
   1185       detail      = "trough-upper"
   1186       file        = "assets/scale-horz-trough-disabled.png"
   1187       border      = {6, 6, 0, 0}
   1188       stretch     = TRUE
   1189       orientation = HORIZONTAL
   1190     }
   1191 
   1192     image {
   1193       function    = BOX
   1194       detail      = "trough-lower"
   1195       file        = "assets/scale-horz-trough-active.png"
   1196       border      = {6, 6, 0, 0}
   1197       stretch     = TRUE
   1198       orientation = HORIZONTAL
   1199     }
   1200 
   1201     image {
   1202       function    = BOX
   1203       state       = INSENSITIVE
   1204       detail      = "trough-lower"
   1205       file        = "assets/scale-horz-trough-disabled.png"
   1206       border      = {6, 6, 0, 0}
   1207       stretch     = TRUE
   1208       orientation = HORIZONTAL
   1209     }
   1210 
   1211     image {
   1212       function    = BOX
   1213       detail      = "trough-upper"
   1214       file        = "assets/scale-vert-trough.png"
   1215       border      = {0, 0, 6, 6}
   1216       stretch     = TRUE
   1217       orientation = VERTICAL
   1218     }
   1219 
   1220     image {
   1221       function    = BOX
   1222       state       = INSENSITIVE
   1223       detail      = "trough-upper"
   1224       file        = "assets/scale-vert-trough-disabled.png"
   1225       border      = {0, 0, 6, 6}
   1226       stretch     = TRUE
   1227       orientation = VERTICAL
   1228     }
   1229 
   1230     image {
   1231       function    = BOX
   1232       detail      = "trough-lower"
   1233       file        = "assets/scale-vert-trough-active.png"
   1234       border      = {0, 0, 6, 6}
   1235       stretch     = TRUE
   1236       orientation = VERTICAL
   1237     }
   1238 
   1239     image {
   1240       function    = BOX
   1241       state       = INSENSITIVE
   1242       detail      = "trough-lower"
   1243       file        = "assets/scale-vert-trough-disabled.png"
   1244       border      = {0, 0, 6, 6}
   1245       stretch     = TRUE
   1246       orientation = VERTICAL
   1247     }
   1248 
   1249     # Sliders
   1250 
   1251     image {
   1252       function = SLIDER
   1253       state    = NORMAL
   1254       detail   = "hscale"
   1255       file     = "assets/scale-slider.png"
   1256     }
   1257 
   1258     image {
   1259       function = SLIDER
   1260       state    = PRELIGHT
   1261       detail   = "hscale"
   1262       file     = "assets/scale-slider-hover.png"
   1263     }
   1264 
   1265     image {
   1266       function = SLIDER
   1267       state    = ACTIVE
   1268       detail   = "hscale"
   1269       file     = "assets/scale-slider-active.png"
   1270     }
   1271 
   1272     image {
   1273       function = SLIDER
   1274       state    = INSENSITIVE
   1275       detail   = "hscale"
   1276       file     = "assets/scale-slider-disabled.png"
   1277     }
   1278 
   1279     image {
   1280       function = SLIDER
   1281       state    = NORMAL
   1282       detail   = "vscale"
   1283       file     = "assets/scale-slider.png"
   1284     }
   1285 
   1286     image {
   1287       function = SLIDER
   1288       state    = PRELIGHT
   1289       detail   = "vscale"
   1290       file     = "assets/scale-slider-hover.png"
   1291     }
   1292 
   1293     image {
   1294       function = SLIDER
   1295       state    = ACTIVE
   1296       detail   = "vscale"
   1297       file     = "assets/scale-slider-active.png"
   1298     }
   1299 
   1300     image {
   1301       function = SLIDER
   1302       state    = INSENSITIVE
   1303       detail   = "vscale"
   1304       file     = "assets/scale-slider-disabled.png"
   1305     }
   1306 
   1307     ###########
   1308     # Menubar #
   1309     ###########
   1310 
   1311     # image {
   1312     #   function = BOX
   1313     #   detail   = "menubar"
   1314     #   file     = "assets/border.png"
   1315     #   border   = {0, 0, 0, 1}
   1316     # }
   1317 
   1318     #########
   1319     # Menus #
   1320     #########
   1321 
   1322     image {
   1323       function = BOX
   1324       state    = PRELIGHT
   1325       detail   = "menu_scroll_arrow_up"
   1326       file     = "assets/border.png"
   1327     }
   1328 
   1329     image {
   1330       function = BOX
   1331       detail   = "menu_scroll_arrow_up"
   1332       file     = "assets/border.png"
   1333       border   = {0, 0, 0, 1}
   1334     }
   1335 
   1336     image {
   1337       function = BOX
   1338       state    = PRELIGHT
   1339       detail   = "menu_scroll_arrow_down"
   1340       file     = "assets/border.png"
   1341     }
   1342 
   1343     image {
   1344       function = BOX
   1345       detail   = "menu_scroll_arrow_down"
   1346       file     = "assets/border.png"
   1347       border   = {0, 0, 1, 0}
   1348     }
   1349 
   1350     ###########
   1351     # Entries #
   1352     ###########
   1353 
   1354     image {
   1355       function = SHADOW
   1356       state    = ACTIVE
   1357       detail   = "entry"
   1358       file     = "assets/entry-active.png"
   1359       border   = {6, 6, 6, 6}
   1360       stretch  = TRUE
   1361     }
   1362 
   1363     image {
   1364       function = SHADOW
   1365       state    = INSENSITIVE
   1366       detail   = "entry"
   1367       file     = "assets/entry-disabled.png"
   1368       border   = {6, 6, 6, 6}
   1369       stretch  = TRUE
   1370     }
   1371 
   1372     image {
   1373       function = SHADOW
   1374       detail   = "entry"
   1375       file     = "assets/entry.png"
   1376       border   = {6, 6, 6, 6}
   1377       stretch  = TRUE
   1378     }
   1379 
   1380     image {
   1381       function = FLAT_BOX
   1382       state    = ACTIVE
   1383       detail   = "entry_bg"
   1384       file     = "assets/entry-background.png"
   1385     }
   1386 
   1387     image {
   1388       function = FLAT_BOX
   1389       state    = INSENSITIVE
   1390       detail   = "entry_bg"
   1391       file     = "assets/entry-background-disabled.png"
   1392     }
   1393 
   1394     image {
   1395       function = FLAT_BOX
   1396       detail   = "entry_bg"
   1397       file     = "assets/entry-background.png"
   1398     }
   1399 
   1400     #########
   1401     # Spins #
   1402     #########
   1403 
   1404     # Spin-Up LTR
   1405 
   1406     image {
   1407       function        = BOX
   1408       state           = NORMAL
   1409       detail          = "spinbutton_up"
   1410       file            = "assets/spin-ltr-up.png"
   1411       border          = {0, 8, 8, 0}
   1412       stretch         = TRUE
   1413       overlay_file    = "assets/pan-up-alt.png"
   1414       overlay_stretch = FALSE
   1415       direction       = LTR
   1416     }
   1417 
   1418     image {
   1419       function        = BOX
   1420       state           = PRELIGHT
   1421       detail          = "spinbutton_up"
   1422       file            = "assets/spin-ltr-up-hover.png"
   1423       border          = {0, 8, 8, 0}
   1424       stretch         = TRUE
   1425       overlay_file    = "assets/pan-up.png"
   1426       overlay_stretch = FALSE
   1427       direction       = LTR
   1428     }
   1429 
   1430     image {
   1431       function        = BOX
   1432       state           = ACTIVE
   1433       detail          = "spinbutton_up"
   1434       file            = "assets/spin-ltr-up-active.png"
   1435       border          = {0, 8, 8, 0}
   1436       stretch         = TRUE
   1437       overlay_file    = "assets/pan-up.png"
   1438       overlay_stretch = FALSE
   1439       direction       = LTR
   1440     }
   1441 
   1442     image {
   1443       function        = BOX
   1444       state           = INSENSITIVE
   1445       detail          = "spinbutton_up"
   1446       file            = "assets/spin-ltr-up-disabled.png"
   1447       border          = {0, 8, 8, 0}
   1448       stretch         = TRUE
   1449       overlay_file    = "assets/pan-up-alt-disabled.png"
   1450       overlay_stretch = FALSE
   1451       direction       = LTR
   1452     }
   1453 
   1454     # Spin-Up RTL
   1455 
   1456     image {
   1457       function        = BOX
   1458       state           = NORMAL
   1459       detail          = "spinbutton_up"
   1460       file            = "assets/spin-rtl-up.png"
   1461       border          = {8, 0, 8, 0}
   1462       stretch         = TRUE
   1463       overlay_file    = "assets/pan-up-alt.png"
   1464       overlay_stretch = FALSE
   1465       direction       = RTL
   1466     }
   1467 
   1468     image {
   1469       function        = BOX
   1470       state           = PRELIGHT
   1471       detail          = "spinbutton_up"
   1472       file            = "assets/spin-rtl-up-hover.png"
   1473       border          = {8, 0, 8, 0}
   1474       stretch         = TRUE
   1475       overlay_file    = "assets/pan-up.png"
   1476       overlay_stretch = FALSE
   1477       direction       = RTL
   1478     }
   1479 
   1480     image {
   1481       function        = BOX
   1482       state           = ACTIVE
   1483       detail          = "spinbutton_up"
   1484       file            = "assets/spin-rtl-up-hover.png"
   1485       border          = {8, 0, 8, 0}
   1486       stretch         = TRUE
   1487       overlay_file    = "assets/pan-up.png"
   1488       overlay_stretch = FALSE
   1489       direction       = RTL
   1490     }
   1491 
   1492     image {
   1493       function        = BOX
   1494       state           = INSENSITIVE
   1495       detail          = "spinbutton_up"
   1496       file            = "assets/spin-rtl-up-disabled.png"
   1497       border          = {8, 0, 8, 0}
   1498       stretch         = TRUE
   1499       overlay_file    = "assets/pan-up-alt-disabled.png"
   1500       overlay_stretch = FALSE
   1501       direction       = RTL
   1502     }
   1503 
   1504     # Spin-Down LTR
   1505 
   1506     image {
   1507       function        = BOX
   1508       state           = NORMAL
   1509       detail          = "spinbutton_down"
   1510       file            = "assets/spin-ltr-down.png"
   1511       border          = {0, 8, 0, 8}
   1512       stretch         = TRUE
   1513       overlay_file    = "assets/pan-down-alt.png"
   1514       overlay_stretch = FALSE
   1515       direction       = LTR
   1516     }
   1517 
   1518     image {
   1519       function        = BOX
   1520       state           = PRELIGHT
   1521       detail          = "spinbutton_down"
   1522       file            = "assets/spin-ltr-down-hover.png"
   1523       border          = {0, 8, 0, 8}
   1524       stretch         = TRUE
   1525       overlay_file    = "assets/pan-down.png"
   1526       overlay_stretch = FALSE
   1527       direction       = LTR
   1528     }
   1529 
   1530     image {
   1531       function        = BOX
   1532       state           = ACTIVE
   1533       detail          = "spinbutton_down"
   1534       file            = "assets/spin-ltr-down-active.png"
   1535       border          = {0, 8, 0, 8}
   1536       stretch         = TRUE
   1537       overlay_file    = "assets/pan-down.png"
   1538       overlay_stretch = FALSE
   1539       direction       = LTR
   1540     }
   1541 
   1542     image {
   1543       function        = BOX
   1544       state           = INSENSITIVE
   1545       detail          = "spinbutton_down"
   1546       file            = "assets/spin-ltr-down-disabled.png"
   1547       border          = {0, 8, 0, 8}
   1548       stretch         = TRUE
   1549       overlay_file    = "assets/pan-down-alt-disabled.png"
   1550       overlay_stretch = FALSE
   1551       direction       = LTR
   1552     }
   1553 
   1554     # Spin-Down RTL
   1555 
   1556     image {
   1557       function        = BOX
   1558       state           = NORMAL
   1559       detail          = "spinbutton_down"
   1560       file            = "assets/spin-rtl-down.png"
   1561       border          = {8, 0, 0, 8}
   1562       stretch         = TRUE
   1563       overlay_file    = "assets/pan-down-alt.png"
   1564       overlay_stretch = FALSE
   1565       direction       = RTL
   1566     }
   1567 
   1568     image {
   1569       function        = BOX
   1570       state           = PRELIGHT
   1571       detail          = "spinbutton_down"
   1572       file            = "assets/spin-rtl-down-hover.png"
   1573       border          = {8, 0, 0, 8}
   1574       stretch         = TRUE
   1575       overlay_file    = "assets/pan-down.png"
   1576       overlay_stretch = FALSE
   1577       direction       = RTL
   1578     }
   1579 
   1580     image {
   1581       function        = BOX
   1582       state           = ACTIVE
   1583       detail          = "spinbutton_down"
   1584       file            = "assets/spin-rtl-down-active.png"
   1585       border          = {8, 0, 0, 8}
   1586       stretch         = TRUE
   1587       overlay_file    = "assets/pan-down.png"
   1588       overlay_stretch = FALSE
   1589       direction       = RTL
   1590     }
   1591 
   1592     image {
   1593       function        = BOX
   1594       state           = INSENSITIVE
   1595       detail          = "spinbutton_down"
   1596       file            = "assets/spin-rtl-down-disabled.png"
   1597       border          = {8, 0, 0, 8}
   1598       stretch         = TRUE
   1599       overlay_file    = "assets/pan-down-alt-disabled.png"
   1600       overlay_stretch = FALSE
   1601       direction       = RTL
   1602     }
   1603 
   1604     ##############
   1605     # Scrollbars #
   1606     ##############
   1607 
   1608     image {
   1609       function    = BOX
   1610       detail      = "bar"
   1611       file        = "assets/progressbar-progress.png"
   1612       stretch     = TRUE
   1613       border      = {0, 0, 0, 0}
   1614       orientation = HORIZONTAL
   1615     }
   1616 
   1617     image {
   1618       function    = BOX
   1619       detail      = "bar"
   1620       file        = "assets/progressbar-progress.png"
   1621       stretch     = TRUE
   1622       border      = {0, 0, 0, 0}
   1623       orientation = VERTICAL
   1624     }
   1625 
   1626     #############
   1627     # Treeviews #
   1628     #############
   1629 
   1630     # Disable active the column highlight
   1631     # We need to match specific cells or we break stuff
   1632     # Looking at you deadbeef
   1633 
   1634     image {
   1635       function = FLAT_BOX
   1636       detail   = "cell_even_sorted"
   1637       state    = NORMAL
   1638     }
   1639 
   1640     image {
   1641       function = FLAT_BOX
   1642       detail   = "cell_odd_sorted"
   1643       state    = NORMAL
   1644     }
   1645 
   1646     # Disable all the other shadows
   1647     # This prevents the Raleigh effect
   1648     image {
   1649       function = SHADOW
   1650     }
   1651   }
   1652 }
   1653 
   1654 style "menubar" {
   1655   bg[NORMAL]      = @titlebar_bg_color
   1656   fg[NORMAL]      = mix(0.7, @titlebar_fg_color, @titlebar_bg_color)
   1657   fg[PRELIGHT]    = @titlebar_fg_color
   1658   fg[INSENSITIVE] = mix(0.3, @titlebar_fg_color, @titlebar_bg_color)
   1659   # Needed to fix Firefox's menubar text
   1660   bg[SELECTED]    = mix(0.12, @titlebar_fg_color, @titlebar_bg_color)
   1661   fg[SELECTED]    = @titlebar_fg_color
   1662 }
   1663 
   1664 style "menubar_item" {
   1665   xthickness = 3
   1666   ythickness = 4
   1667 
   1668   fg[NORMAL]      = mix(0.7, @titlebar_fg_color, @titlebar_bg_color)
   1669   bg[PRELIGHT]    = mix(0.12, @titlebar_fg_color, @titlebar_bg_color)
   1670   fg[PRELIGHT]    = @titlebar_fg_color
   1671   fg[INSENSITIVE] = mix(0.3, @titlebar_fg_color, @titlebar_bg_color)
   1672 }
   1673 
   1674 style "menu" {
   1675   xthickness = 0
   1676   ythickness = 0
   1677 
   1678   bg[NORMAL]      = @menu_color
   1679   bg[INSENSITIVE] = @menu_color
   1680   bg[PRELIGHT]    = @menu_color
   1681   bg[SELECTED]    = mix(0.08, @fg_color, @menu_color)
   1682 }
   1683 
   1684 style "menu_item" {
   1685   xthickness = 4
   1686   ythickness = 4
   1687 
   1688   bg[PRELIGHT]   = mix(0.08, @fg_color, @menu_color)
   1689   fg[PRELIGHT]   = @fg_color
   1690   # Chromium uses this setting
   1691   bg[SELECTED]   = mix(0.08, @fg_color, @menu_color)
   1692   text[SELECTED] = @fg_color
   1693   # Some widgets use text, we need to handle that
   1694   text[NORMAL]   = @fg_color
   1695   text[PRELIGHT] = @fg_color
   1696 
   1697   # Unfortunately we can't tell regular and menu checks/radios apart
   1698   # Without the heirarchy
   1699   engine "pixmap" {
   1700 
   1701     #################
   1702     # Check Buttons #
   1703     #################
   1704 
   1705     image {
   1706       function        = CHECK
   1707       state           = NORMAL
   1708       shadow          = OUT
   1709       overlay_file    = "assets/menu-checkbox-unchecked.png"
   1710       overlay_stretch = FALSE
   1711     }
   1712 
   1713     image {
   1714       function        = CHECK
   1715       state           = PRELIGHT
   1716       shadow          = OUT
   1717       overlay_file    = "assets/menu-checkbox-unchecked.png"
   1718       overlay_stretch = FALSE
   1719     }
   1720 
   1721     image {
   1722       function        = CHECK
   1723       state           = ACTIVE
   1724       shadow          = OUT
   1725       overlay_file    = "assets/menu-checkbox-unchecked.png"
   1726       overlay_stretch = FALSE
   1727     }
   1728 
   1729     image {
   1730       function        = CHECK
   1731       state           = INSENSITIVE
   1732       shadow          = OUT
   1733       overlay_file    = "assets/menu-checkbox-unchecked-disabled.png"
   1734       overlay_stretch = FALSE
   1735     }
   1736 
   1737     image {
   1738       function        = CHECK
   1739       state           = NORMAL
   1740       shadow          = IN
   1741       overlay_file    = "assets/menu-checkbox-checked.png"
   1742       overlay_stretch = FALSE
   1743     }
   1744 
   1745     image {
   1746       function        = CHECK
   1747       state           = PRELIGHT
   1748       shadow          = IN
   1749       overlay_file    = "assets/menu-checkbox-checked.png"
   1750       overlay_stretch = FALSE
   1751     }
   1752 
   1753     image {
   1754       function        = CHECK
   1755       state           = ACTIVE
   1756       shadow          = IN
   1757       overlay_file    = "assets/menu-checkbox-checked.png"
   1758       overlay_stretch = FALSE
   1759     }
   1760 
   1761     image {
   1762       function        = CHECK
   1763       state           = INSENSITIVE
   1764       shadow          = IN
   1765       overlay_file    = "assets/menu-checkbox-checked-disabled.png"
   1766       overlay_stretch = FALSE
   1767     }
   1768 
   1769     image {
   1770       function        = CHECK
   1771       state           = NORMAL
   1772       shadow          = ETCHED_IN
   1773       overlay_file    = "assets/menu-checkbox-mixed.png"
   1774       overlay_stretch = FALSE
   1775     }
   1776 
   1777     image {
   1778       function        = CHECK
   1779       state           = PRELIGHT
   1780       shadow          = ETCHED_IN
   1781       overlay_file    = "assets/menu-checkbox-mixed.png"
   1782       overlay_stretch = FALSE
   1783     }
   1784 
   1785     image {
   1786       function        = CHECK
   1787       state           = ACTIVE
   1788       shadow          = ETCHED_IN
   1789       overlay_file    = "assets/menu-checkbox-mixed.png"
   1790       overlay_stretch = FALSE
   1791     }
   1792 
   1793     image {
   1794       function        = CHECK
   1795       state           = INSENSITIVE
   1796       shadow          = ETCHED_IN
   1797       overlay_file    = "assets/menu-checkbox-mixed-disabled.png"
   1798       overlay_stretch = FALSE
   1799     }
   1800 
   1801     #################
   1802     # Radio Buttons #
   1803     #################
   1804 
   1805     image {
   1806       function        = OPTION
   1807       state           = NORMAL
   1808       shadow          = OUT
   1809       overlay_file    = "assets/menu-radio-unchecked.png"
   1810       overlay_stretch = FALSE
   1811     }
   1812 
   1813     image {
   1814       function        = OPTION
   1815       state           = PRELIGHT
   1816       shadow          = OUT
   1817       overlay_file    = "assets/menu-radio-unchecked.png"
   1818       overlay_stretch = FALSE
   1819     }
   1820 
   1821     image {
   1822       function        = OPTION
   1823       state           = ACTIVE
   1824       shadow          = OUT
   1825       overlay_file    = "assets/menu-radio-unchecked.png"
   1826       overlay_stretch = FALSE
   1827     }
   1828 
   1829     image {
   1830       function        = OPTION
   1831       state           = INSENSITIVE
   1832       shadow          = OUT
   1833       overlay_file    = "assets/menu-radio-unchecked-disabled.png"
   1834       overlay_stretch = FALSE
   1835     }
   1836 
   1837     image {
   1838       function        = OPTION
   1839       state           = NORMAL
   1840       shadow          = IN
   1841       overlay_file    = "assets/menu-radio-checked.png"
   1842       overlay_stretch = FALSE
   1843     }
   1844 
   1845     image {
   1846       function        = OPTION
   1847       state           = PRELIGHT
   1848       shadow          = IN
   1849       overlay_file    = "assets/menu-radio-checked.png"
   1850       overlay_stretch = FALSE
   1851     }
   1852 
   1853     image {
   1854       function        = OPTION
   1855       state           = ACTIVE
   1856       shadow          = IN
   1857       overlay_file    = "assets/menu-radio-checked.png"
   1858       overlay_stretch = FALSE
   1859     }
   1860 
   1861     image {
   1862       function        = OPTION
   1863       state           = INSENSITIVE
   1864       shadow          = IN
   1865       overlay_file    = "assets/menu-radio-checked-disabled.png"
   1866       overlay_stretch = FALSE
   1867     }
   1868 
   1869     image {
   1870       function        = OPTION
   1871       state           = NORMAL
   1872       shadow          = ETCHED_IN
   1873       overlay_file    = "assets/menu-radio-mixed.png"
   1874       overlay_stretch = FALSE
   1875     }
   1876 
   1877     image {
   1878       function        = OPTION
   1879       state           = PRELIGHT
   1880       shadow          = ETCHED_IN
   1881       overlay_file    = "assets/menu-radio-mixed.png"
   1882       overlay_stretch = FALSE
   1883     }
   1884 
   1885     image {
   1886       function        = OPTION
   1887       state           = ACTIVE
   1888       shadow          = ETCHED_IN
   1889       overlay_file    = "assets/menu-radio-mixed.png"
   1890       overlay_stretch = FALSE
   1891     }
   1892 
   1893     image {
   1894       function        = OPTION
   1895       state           = INSENSITIVE
   1896       shadow          = ETCHED_IN
   1897       overlay_file    = "assets/menu-radio-mixed-disabled.png"
   1898       overlay_stretch = FALSE
   1899     }
   1900   }
   1901 }
   1902 
   1903 style "separator_menu_item" {
   1904   xthickness = 0
   1905   ythickness = 2
   1906 
   1907   engine "pixmap" {
   1908     image {
   1909       function = BOX
   1910       file     = "assets/border.png"
   1911       border   = {0, 0, 0, 1}
   1912     }
   1913   }
   1914 }
   1915 
   1916 style "button_label" {
   1917   # fg[NORMAL] = mix(0.7, @fg_color, @bg_color)
   1918   # fg[INSENSITIVE] = mix(0.3, @fg_color, @bg_color)
   1919 
   1920   font_name = "Medium"
   1921 }
   1922 
   1923 style "normal_button_label" {
   1924   # fg[NORMAL] = @fg_color
   1925   # fg[INSENSITIVE] = mix(0.5, @fg_color, @bg_color)
   1926 
   1927   font_name = "Regular"
   1928 }
   1929 
   1930 style "button" {
   1931   xthickness = 6
   1932   ythickness = 6
   1933 
   1934   # For the sake of sanity style buttons this way
   1935   engine "pixmap" {
   1936 
   1937     ###########
   1938     # Buttons #
   1939     ###########
   1940 
   1941     image {
   1942       function = BOX
   1943       state    = NORMAL
   1944       file     = "assets/button.png"
   1945       border   = {6, 6, 6, 6}
   1946       stretch  = TRUE
   1947     }
   1948 
   1949     image {
   1950       function = BOX
   1951       state    = PRELIGHT
   1952       shadow   = OUT
   1953       file     = "assets/button-hover.png"
   1954       border   = {6, 6, 6, 6}
   1955       stretch  = TRUE
   1956     }
   1957 
   1958     # Don't add hover effect on pressed buttons
   1959     image {
   1960       function = BOX
   1961       state    = PRELIGHT
   1962       shadow   = IN
   1963       file     = "assets/button-active.png"
   1964       border   = {6, 6, 6, 6}
   1965       stretch  = TRUE
   1966     }
   1967 
   1968     image {
   1969       function = BOX
   1970       state    = ACTIVE
   1971       file     = "assets/button-active.png"
   1972       border   = {6, 6, 6, 6}
   1973       stretch  = TRUE
   1974     }
   1975 
   1976     image {
   1977       function = BOX
   1978       state    = INSENSITIVE
   1979       file     = "assets/button-disabled.png"
   1980       border   = {6, 6, 6, 6}
   1981       stretch  = TRUE
   1982     }
   1983   }
   1984 }
   1985 
   1986 style "link_button" {
   1987   # Disable the button effect, leave just the link
   1988   engine "pixmap" {
   1989     image {
   1990       function = BOX
   1991     }
   1992   }
   1993 }
   1994 
   1995 style "entry" {
   1996   base[NORMAL]      = @bg_color
   1997   base[SELECTED]    = mix (0.24, @selected_bg_color, @bg_color)
   1998   base[INSENSITIVE] = @bg_color
   1999   base[ACTIVE]      = mix (0.24, @selected_bg_color, @bg_color)
   2000 
   2001   # We set this same as the border of the border of the entry
   2002   # This way there's no overlap
   2003   xthickness = 6
   2004   ythickness = 6
   2005 }
   2006 
   2007 style "combobox" {
   2008   xthickness = 6
   2009   ythickness = 6
   2010 
   2011   # This affects only the button beside an entry
   2012   GtkButton::inner-border = {0, 0, 0, 0}
   2013 
   2014   # For the sake of sanity style buttons this way
   2015   engine "pixmap" {
   2016 
   2017     ###########
   2018     # Buttons #
   2019     ###########
   2020 
   2021     image {
   2022       function = BOX
   2023       state    = NORMAL
   2024       file     = "assets/entry.png"
   2025       border   = {6, 6, 6, 6}
   2026       stretch  = TRUE
   2027     }
   2028 
   2029     image {
   2030       function = BOX
   2031       state    = PRELIGHT
   2032       file     = "assets/entry-hover.png"
   2033       border   = {6, 6, 6, 6}
   2034       stretch  = TRUE
   2035     }
   2036 
   2037     image {
   2038       function = BOX
   2039       state    = ACTIVE
   2040       file     = "assets/entry-active.png"
   2041       border   = {6, 6, 6, 6}
   2042       stretch  = TRUE
   2043     }
   2044 
   2045     image {
   2046       function = BOX
   2047       state    = INSENSITIVE
   2048       file     = "assets/entry-disabled.png"
   2049       border   = {6, 6, 6, 6}
   2050       stretch  = TRUE
   2051     }
   2052   }
   2053 }
   2054 
   2055 style "combobox_cellview" {
   2056   # text[NORMAL] = mix(0.7, @fg_color, @bg_color)
   2057   # text[INSENSITIVE] = mix(0.3, @fg_color, @bg_color)
   2058 }
   2059 
   2060 style "combobox_entry" {
   2061   # Since one side of the button is missing, we need to shift the arrow a little to the right
   2062   GtkButton::inner-border = {0, 2, 0, 0}
   2063 
   2064   base[NORMAL] = @base_color
   2065   base[ACTIVE] = @base_color
   2066 
   2067   engine "pixmap" {
   2068 
   2069     #############
   2070     # LTR entry #
   2071     #############
   2072 
   2073     image {
   2074       function  = SHADOW
   2075       state     = NORMAL
   2076       detail    = "entry"
   2077       file      = "assets/combo-left-entry.png"
   2078       border    = {6, 6, 6, 6}
   2079       stretch   = TRUE
   2080       direction = LTR
   2081     }
   2082 
   2083     image {
   2084       function  = SHADOW
   2085       state     = ACTIVE
   2086       detail    = "entry"
   2087       file      = "assets/combo-left-entry-active.png"
   2088       border    = {6, 6, 6, 6}
   2089       stretch   = TRUE
   2090       direction = LTR
   2091     }
   2092 
   2093     image {
   2094       function  = SHADOW
   2095       state     = INSENSITIVE
   2096       detail    = "entry"
   2097       file      = "assets/combo-left-entry-disabled.png"
   2098       border    = {6, 6, 6, 6}
   2099       stretch   = TRUE
   2100       direction = LTR
   2101     }
   2102 
   2103     #############
   2104     # RTL entry #
   2105     #############
   2106 
   2107     image {
   2108       function  = SHADOW
   2109       state     = NORMAL
   2110       detail    = "entry"
   2111       file      = "assets/combo-right-entry.png"
   2112       border    = {6, 6, 6, 6}
   2113       stretch   = TRUE
   2114       direction = RTL
   2115     }
   2116 
   2117     image {
   2118       function  = SHADOW
   2119       state     = ACTIVE
   2120       detail    = "entry"
   2121       file      = "assets/combo-right-entry-active.png"
   2122       border    = {6, 6, 6, 6}
   2123       stretch   = TRUE
   2124       direction = RTL
   2125     }
   2126 
   2127     image {
   2128       function  = SHADOW
   2129       state     = INSENSITIVE
   2130       detail    = "entry"
   2131       file      = "assets/combo-right-entry-disabled.png"
   2132       border    = {6, 6, 6, 6}
   2133       stretch   = TRUE
   2134       direction = RTL
   2135     }
   2136 
   2137     ##############
   2138     # LTR button #
   2139     ##############
   2140 
   2141     image {
   2142       function  = BOX
   2143       state     = NORMAL
   2144       detail    = "button"
   2145       file      = "assets/combo-right-entry.png"
   2146       border    = {0, 6, 6, 6}
   2147       stretch   = TRUE
   2148       direction = LTR
   2149     }
   2150 
   2151     image {
   2152       function  = BOX
   2153       state     = PRELIGHT
   2154       detail    = "button"
   2155       file      = "assets/combo-right-entry-hover.png"
   2156       border    = {0, 6, 6, 6}
   2157       stretch   = TRUE
   2158       direction = LTR
   2159     }
   2160 
   2161     image {
   2162       function  = BOX
   2163       state     = ACTIVE
   2164       detail    = "button"
   2165       file      = "assets/combo-right-entry-active.png"
   2166       border    = {0, 6, 6, 6}
   2167       stretch   = TRUE
   2168       direction = LTR
   2169     }
   2170 
   2171     image {
   2172       function  = BOX
   2173       state     = INSENSITIVE
   2174       detail    = "button"
   2175       file      = "assets/combo-right-entry-disabled.png"
   2176       border    = {0, 6, 6, 6}
   2177       stretch   = TRUE
   2178       direction = LTR
   2179     }
   2180 
   2181     ##############
   2182     # RTL button #
   2183     ##############
   2184 
   2185     image {
   2186       function  = BOX
   2187       state     = NORMAL
   2188       detail    = "button"
   2189       file      = "assets/combo-left-entry.png"
   2190       border    = {6, 0, 6, 6}
   2191       stretch   = TRUE
   2192       direction = RTL
   2193     }
   2194 
   2195     image {
   2196       function  = BOX
   2197       state     = PRELIGHT
   2198       detail    = "button"
   2199       file      = "assets/combo-left-entry-hover.png"
   2200       border    = {6, 0, 6, 6}
   2201       stretch   = TRUE
   2202       direction = RTL
   2203     }
   2204 
   2205     image {
   2206       function  = BOX
   2207       state     = ACTIVE
   2208       detail    = "button"
   2209       file      = "assets/combo-left-entry-active.png"
   2210       border    = {6, 0, 6, 6}
   2211       stretch   = TRUE
   2212       direction = RTL
   2213     }
   2214 
   2215     image {
   2216       function  = BOX
   2217       state     = INSENSITIVE
   2218       detail    = "button"
   2219       file      = "assets/combo-left-entry-disabled.png"
   2220       border    = {6, 0, 6, 6}
   2221       stretch   = TRUE
   2222       direction = RTL
   2223     }
   2224   }
   2225 }
   2226 
   2227 style "combo_button_padding" {
   2228   # Since one side of the button is missing, we need to shift the arrow a
   2229   # little to the right.
   2230   # This is the same thing we've done above but the combo, unlike the combobox,
   2231   # uses padding the same way as a button.
   2232   GtkButton::inner-border = {3, 6, 3, 3}
   2233 }
   2234 
   2235 style "notebook" {
   2236   xthickness = 3
   2237   ythickness = 3
   2238 }
   2239 
   2240 style "notebook_tab_label" {
   2241   fg[ACTIVE] = mix(0.7, @fg_color, @bg_color)
   2242 
   2243   font_name = "Medium"
   2244 }
   2245 
   2246 style "notebook_viewport" {
   2247   bg[NORMAL] = @base_color
   2248 }
   2249 
   2250 style "notebook_bg" {
   2251   bg[NORMAL]      = @base_color
   2252   bg[PRELIGHT]    = @base_color
   2253   bg[INSENSITIVE] = @base_color
   2254 }
   2255 
   2256 style "notebook_entry" {
   2257   base[NORMAL]      = @base_color
   2258   base[SELECTED]    = mix (0.24, @selected_bg_color, @base_color)
   2259   base[INSENSITIVE] = @base_color
   2260   base[ACTIVE]      = mix (0.24, @selected_bg_color, @base_color)
   2261 }
   2262 
   2263 style "normal_bg" {
   2264   bg[NORMAL]      = @bg_color
   2265   bg[PRELIGHT]    = @bg_color
   2266   bg[INSENSITIVE] = @bg_color
   2267 }
   2268 
   2269 style "normal_entry" {
   2270   base[NORMAL]      = @bg_color
   2271   base[SELECTED]    = mix (0.24, @selected_bg_color, @bg_color)
   2272   base[INSENSITIVE] = @bg_color
   2273   base[ACTIVE]      = mix (0.24, @selected_bg_color, @bg_color)
   2274 }
   2275 
   2276 style "textview" {
   2277   bg[NORMAL] = @base_color
   2278 }
   2279 
   2280 style "scale_horz" {
   2281   engine "pixmap" {
   2282     image {
   2283       function    = BOX
   2284       detail      = "trough-upper"
   2285       file        = "assets/scale-horz-trough.png"
   2286       border      = {6, 6, 0, 0}
   2287       stretch     = TRUE
   2288     }
   2289 
   2290     image {
   2291       function    = BOX
   2292       detail      = "trough-lower"
   2293       file        = "assets/scale-horz-trough-active.png"
   2294       border      = {6, 6, 0, 0}
   2295       stretch     = TRUE
   2296     }
   2297   }
   2298 }
   2299 
   2300 style "scale_vert" {
   2301   engine "pixmap" {
   2302     image {
   2303       function    = BOX
   2304       detail      = "trough-upper"
   2305       file        = "assets/scale-vert-trough.png"
   2306       border      = {0, 0, 6, 6}
   2307       stretch     = TRUE
   2308     }
   2309 
   2310     image {
   2311       function    = BOX
   2312       detail      = "trough-lower"
   2313       file        = "assets/scale-vert-trough-active.png"
   2314       border      = {0, 0, 6, 6}
   2315       stretch     = TRUE
   2316     }
   2317   }
   2318 }
   2319 
   2320 style "progressbar" {
   2321   xthickness = 0
   2322   ythickness = 0
   2323 
   2324   fg[PRELIGHT] = @selected_fg_color
   2325 
   2326   engine "pixmap" {
   2327     image {
   2328       function    = BOX
   2329       detail      = "trough"
   2330       file        = "assets/progressbar-trough.png"
   2331       border      = {0, 0, 0, 0}
   2332       stretch     = TRUE
   2333       orientation = HORIZONTAL
   2334     }
   2335 
   2336     image {
   2337       function    = BOX
   2338       detail      = "trough"
   2339       file        = "assets/progressbar-trough.png"
   2340       border      = {0, 0, 0, 0}
   2341       stretch     = TRUE
   2342       orientation = VERTICAL
   2343     }
   2344   }
   2345 }
   2346 
   2347 style "treeview_header" {
   2348   xthickness = 2
   2349   ythickness = 2
   2350 
   2351   fg[NORMAL]   = mix(0.7, @fg_color, @base_color)
   2352   fg[PRELIGHT] = @fg_color
   2353 
   2354   font_name = "Medium"
   2355 
   2356   GtkButton::inner-border = {4, 4, 0, 2}
   2357 
   2358   engine "pixmap" {
   2359     image {
   2360       function  = BOX
   2361       state     = NORMAL
   2362       file      = "assets/treeview-ltr-button.png"
   2363       border    = {0, 1, 0, 1}
   2364       stretch   = TRUE
   2365       direction = LTR
   2366     }
   2367 
   2368     image {
   2369       function  = BOX
   2370       state     = PRELIGHT
   2371       file      = "assets/treeview-ltr-button-hover.png"
   2372       border    = {0, 1, 0, 1}
   2373       stretch   = TRUE
   2374       direction = LTR
   2375     }
   2376 
   2377     image {
   2378       function  = BOX
   2379       state     = ACTIVE
   2380       file      = "assets/treeview-ltr-button-active.png"
   2381       border    = {0, 1, 0, 1}
   2382       stretch   = TRUE
   2383       direction = LTR
   2384     }
   2385 
   2386     image {
   2387       function  = BOX
   2388       state     = NORMAL
   2389       file      = "assets/treeview-rtl-button.png"
   2390       border    = {1, 0, 0, 1}
   2391       stretch   = TRUE
   2392       direction = RTL
   2393     }
   2394 
   2395     image {
   2396       function  = BOX
   2397       state     = PRELIGHT
   2398       file      = "assets/treeview-rtl-button-hover.png"
   2399       border    = {1, 0, 0, 1}
   2400       stretch   = TRUE
   2401       direction = RTL
   2402     }
   2403 
   2404     image {
   2405       function  = BOX
   2406       state     = ACTIVE
   2407       file      = "assets/treeview-rtl-button-active.png"
   2408       border    = {1, 0, 0, 1}
   2409       stretch   = TRUE
   2410       direction = RTL
   2411     }
   2412 
   2413     image {
   2414       function        = ARROW
   2415       state           = NORMAL
   2416       overlay_file    = "assets/pan-up-alt.png"
   2417       overlay_stretch = FALSE
   2418       arrow_direction = UP
   2419     }
   2420 
   2421     image {
   2422       function        = ARROW
   2423       state           = PRELIGHT
   2424       overlay_file    = "assets/pan-up.png"
   2425       overlay_stretch = FALSE
   2426       arrow_direction = UP
   2427     }
   2428 
   2429     image {
   2430       function        = ARROW
   2431       state           = ACTIVE
   2432       overlay_file    = "assets/pan-up.png"
   2433       overlay_stretch = FALSE
   2434       arrow_direction = UP
   2435     }
   2436 
   2437     image {
   2438       function        = ARROW
   2439       state           = NORMAL
   2440       overlay_file    = "assets/pan-down-alt.png"
   2441       overlay_stretch = FALSE
   2442       arrow_direction = DOWN
   2443     }
   2444 
   2445     image {
   2446       function        = ARROW
   2447       state           = PRELIGHT
   2448       overlay_file    = "assets/pan-down.png"
   2449       overlay_stretch = FALSE
   2450       arrow_direction = DOWN
   2451     }
   2452 
   2453     image {
   2454       function        = ARROW
   2455       state           = ACTIVE
   2456       overlay_file    = "assets/pan-down.png"
   2457       overlay_stretch = FALSE
   2458       arrow_direction = DOWN
   2459     }
   2460   }
   2461 }
   2462 
   2463 style "scrolled_window" {
   2464   engine "pixmap" {
   2465     image {
   2466       function = SHADOW
   2467       file     = "assets/frame.png"
   2468       border   = {1, 1, 1, 1}
   2469       stretch  = TRUE
   2470     }
   2471   }
   2472 }
   2473 
   2474 style "frame" {
   2475   engine "pixmap" {
   2476     image {
   2477       function = SHADOW
   2478       shadow   = NONE
   2479     }
   2480 
   2481     image {
   2482       function = SHADOW
   2483       file     = "assets/frame.png"
   2484       border   = {1, 1, 1, 1}
   2485       stretch  = TRUE
   2486     }
   2487 
   2488     image {
   2489       function       = SHADOW_GAP
   2490       file           = "assets/frame.png"
   2491       border         = {1, 1, 1, 1}
   2492       stretch        = TRUE
   2493       gap_start_file = "assets/border.png"
   2494       gap_end_file   = "assets/border.png"
   2495     }
   2496   }
   2497 }
   2498 
   2499 style "tool_button" {
   2500   GtkButton::inner-border = {2, 2, 2, 2}
   2501 
   2502   # For the sake of sanity style buttons this way
   2503   engine "pixmap" {
   2504     image {
   2505       function = BOX
   2506       state    = NORMAL
   2507       file     = "assets/flat-button.png"
   2508       border   = {6, 6, 6, 6}
   2509       stretch  = TRUE
   2510     }
   2511 
   2512     image {
   2513       function = BOX
   2514       state    = PRELIGHT
   2515       shadow   = OUT
   2516       file     = "assets/flat-button-hover.png"
   2517       border   = {6, 6, 6, 6}
   2518       stretch  = TRUE
   2519     }
   2520 
   2521     # Don't add hover effect on pressed buttons
   2522     image {
   2523       function = BOX
   2524       state    = PRELIGHT
   2525       shadow   = IN
   2526       file     = "assets/flat-button-active.png"
   2527       border   = {6, 6, 6, 6}
   2528       stretch  = TRUE
   2529     }
   2530 
   2531     image {
   2532       function = BOX
   2533       state    = ACTIVE
   2534       file     = "assets/flat-button-active.png"
   2535       border   = {6, 6, 6, 6}
   2536       stretch  = TRUE
   2537     }
   2538 
   2539     image {
   2540       function = BOX
   2541       state    = INSENSITIVE
   2542       shadow   = OUT
   2543       file     = "assets/flat-button-disabled.png"
   2544       border   = {6, 6, 6, 6}
   2545       stretch  = TRUE
   2546     }
   2547 
   2548     image {
   2549       function = BOX
   2550       state    = INSENSITIVE
   2551       shadow   = IN
   2552       file     = "assets/button-disabled.png"
   2553       border   = {6, 6, 6, 6}
   2554       stretch  = TRUE
   2555     }
   2556   }
   2557 }
   2558 
   2559 style "toolbar_separator" {
   2560   GtkWidget::wide-separators  = 1
   2561   GtkWidget::separator-width  = 1
   2562   GtkWidget::separator-height = 1
   2563 
   2564   engine "pixmap" {
   2565     image {
   2566       function = BOX
   2567       file     = "assets/border.png"
   2568     }
   2569   }
   2570 }
   2571 
   2572 style "inline_toolbar" {
   2573   # GtkToolbar::button-relief = GTK_RELIEF_NORMAL
   2574 
   2575   engine "pixmap" {
   2576     image {
   2577       function = BOX
   2578       file     = "assets/frame-inline.png"
   2579       border   = {1, 1, 0, 1}
   2580       stretch  = TRUE
   2581     }
   2582   }
   2583 }
   2584 
   2585 style "tooltip" {
   2586   xthickness = 8
   2587   ythickness = 8
   2588 
   2589   bg[NORMAL]   = @tooltip_bg_color
   2590   fg[NORMAL]   = @tooltip_fg_color
   2591   bg[SELECTED] = @tooltip_bg_color
   2592 }
   2593 
   2594 style "disable_text_shadow" {
   2595   engine "murrine" {
   2596     textstyle = 0
   2597   }
   2598 }
   2599 
   2600 style "disable_separator" {
   2601   xthickness = 0
   2602   ythickness = 0
   2603 
   2604   GtkWidget::wide-separators = 1
   2605 }
   2606 
   2607 # Default style, containing theme properties and trying to match every widget as
   2608 # much as possible, which is not only faster than trying to match every widget
   2609 # by its own but also less bug-prune and more consistent. However there is some
   2610 # widget specific stuff that needs to be taken care of, which is the point of
   2611 # every other style below.
   2612 class "GtkWidget" style "default"
   2613 
   2614 ######################################
   2615 # Override padding, style and colour #
   2616 ######################################
   2617 
   2618 class "GtkButton"                                                  style "button"
   2619 class "GtkLinkButton"                                              style "link_button"
   2620 class "GtkEntry"                                                   style "entry"
   2621 class "GtkOldEditable"                                             style "entry"
   2622 class "GtkNotebook"                                                style "notebook"
   2623 class "GtkHScale"                                                  style "scale_horz"
   2624 class "GtkVScale"                                                  style "scale_vert"
   2625 class "GtkProgressBar"                                             style "progressbar"
   2626 class "GtkScrolledWindow"                                          style "scrolled_window"
   2627 class "GtkFrame"                                                   style "frame"
   2628 class "GtkSeparatorToolItem"                                       style "toolbar_separator"
   2629 class "GtkMenuBar"                                                 style "menubar"
   2630 class "GtkMenu"                                                    style "menu"
   2631 class "GtkTextView"                                                style "textview"
   2632 
   2633 # Menu and menubar items
   2634 widget_class "*<GtkMenuItem>*"                                     style "menu_item"
   2635 widget_class "*<GtkMenuBar>.<GtkMenuItem>*"                        style "menubar_item"
   2636 widget_class "*<GtkSeparatorMenuItem>*"                            style "separator_menu_item"
   2637 
   2638 # Treeview buttons
   2639 widget_class "*<GtkTreeView>*<GtkButton>*"                         style "treeview_header"
   2640 
   2641 # Give the file chooser toolbar a border
   2642 widget_class "*<GtkFileChooserDefault>*<GtkToolbar>"               style "inline_toolbar"
   2643 
   2644 # Fix padding on regular comboboxes
   2645 widget_class "*<GtkComboBox>.<GtkButton>"                          style "combobox"
   2646 widget_class "*<GtkOptionMenu>"                                    style "combobox"
   2647 
   2648 # And disable separators on them
   2649 widget_class "*<GtkComboBox>.<GtkButton>*<GtkSeparator>"           style "disable_separator"
   2650 widget_class "*<GtkFontButton>*<GtkSeparator>"                     style "disable_separator"
   2651 widget_class "*<GtkFileChooserButton>*<GtkSeparator>"              style "disable_separator"
   2652 
   2653 # Join together the ComboBoxEntry entry and button
   2654 widget_class "*<GtkComboBoxEntry>*"                                style "combobox_entry"
   2655 
   2656 # Join the Combo entry and button
   2657 widget_class "*<GtkCombo>*"                                        style "combobox_entry"
   2658 
   2659 # Tweak the padding on the button a little bit because it
   2660 # uses it a bit differently
   2661 widget_class "*<GtkCombo>.<GtkButton>"                             style "combo_button_padding"
   2662 
   2663 # Alas we cannot do the same for ComboBoxText because there
   2664 # isn't a way to apply the style to only the comboboxes that
   2665 # have an entry inside
   2666 
   2667 # Tool buttons have different styles
   2668 widget_class "*<GtkToolButton>*<GtkButton>"                        style "tool_button"
   2669 widget_class "*<GtkVBox>*<GtkEventBox>.<GtkToolbar>*<GtkButton>"   style "tool_button"
   2670 
   2671 # Notebooks
   2672 widget_class "*<GtkNotebook>.<GtkLabel>"                           style "notebook_tab_label"
   2673 widget_class "*<GtkNotebook>.<GtkHBox>.<GtkLabel>"                 style "notebook_tab_label"
   2674 
   2675 # Notebooks are white, act accordingly
   2676 widget_class "*<GtkNotebook>*<GtkEntry>"                           style "notebook_entry"
   2677 widget_class "*<GtkNotebook>*<GtkProgressBar>"                     style "notebook_bg"
   2678 widget_class "*<GtkNotebook>*<GtkSpinButton>"                      style "notebook_bg"
   2679 widget_class "*<GtkNotebook>*<GtkScrolledWindow>*<GtkViewport>"    style "notebook_bg"
   2680 widget_class "*<GtkNotebook>*<GimpRuler>"                          style "notebook_bg"
   2681 widget_class "*<GtkNotebook>.<GimpDisplayShell>*<GtkEventBox>"     style "notebook_bg"
   2682 
   2683 # However, stuff inside eventboxes inside notebooks is grey
   2684 # again, react
   2685 widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkEntry>"             style "normal_entry"
   2686 widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkProgressBar>"       style "normal_bg"
   2687 widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkSpinButton>"        style "normal_bg"
   2688 
   2689 # Button labels
   2690 widget_class "*<GtkButton>.<GtkLabel>"                             style "button_label"
   2691 
   2692 # Normalize button labels
   2693 widget_class "*<GtkCheckButton>.<GtkLabel>"                        style "normal_button_label"
   2694 widget_class "*<GtkOptionMenu>.<GtkLabel>"                         style "normal_button_label"
   2695 
   2696 # ComboBoxes tend to draw the button label with text[]
   2697 # instead of fg[], we need to fix that
   2698 widget_class "*<GtkComboBox>*<GtkCellView>"                        style "combobox_cellview"
   2699 
   2700 # Disable white text shadows
   2701 widget_class "*<GtkLabel>"                                         style "disable_text_shadow"
   2702 widget_class "*<GtkCellView>"                                      style "disable_text_shadow"
   2703 
   2704 # GTK tooltips
   2705 widget "gtk-tooltip*"                                              style "tooltip"