1style "default" {
2
3  xthickness = 1
4  ythickness = 1
5
6  # Style Properties
7
8  GtkWidget::focus-line-width = 1
9  GtkMenuBar::window-dragging = 1
10  GtkToolbar::window-dragging = 1
11  GtkToolbar::internal-padding = 4
12  GtkToolButton::icon-spacing = 4
13
14  GtkWidget::tooltip-radius = 2
15  GtkWidget::tooltip-alpha = 235
16  GtkWidget::new-tooltip-style = 1 #for compatibility
17
18  GtkSeparatorMenuItem::horizontal-padding = 2
19  GtkSeparatorMenuItem::wide-separators = 0
20  GtkSeparatorMenuItem::separator-height = 0
21
22  GtkButton::child-displacement-y = 0
23  GtkButton::default-border = { 0, 0, 0, 0 }
24  GtkButton::default-outside_border = { 0, 0, 0, 0 }
25
26  GtkEntry::state-hint = 1
27
28  GtkScrollbar::trough-border = 0
29  GtkRange::trough-border = 0
30  GtkRange::slider-width = 13
31  GtkRange::stepper-size = 0
32
33  GtkScrollbar::activate-slider = 1
34  GtkScrollbar::has-backward-stepper = 0
35  GtkScrollbar::has-forward-stepper = 0
36  GtkScrollbar::min-slider-length = 32
37  GtkScrolledWindow::scrollbar-spacing = 0
38  GtkScrolledWindow::scrollbars-within-bevel = 1
39
40  GtkScale::slider_length = 15
41  GtkScale::slider_width = 15
42  GtkScale::trough-side-details = 1
43
44  GtkProgressBar::min-horizontal-bar-height = 8
45  GtkProgressBar::min-vertical-bar-width = 8
46
47  GtkStatusbar::shadow_type = GTK_SHADOW_NONE
48  GtkSpinButton::shadow_type = GTK_SHADOW_NONE
49  GtkMenuBar::shadow-type = GTK_SHADOW_NONE
50  GtkToolbar::shadow-type = GTK_SHADOW_NONE
51  GtkMenuBar::internal-padding = 0 #( every window is misaligned for the sake of menus ):
52  GtkMenu::horizontal-padding = 0
53  GtkMenu::vertical-padding = 0
54
55  GtkCheckButton::indicator_spacing = 3
56  GtkOptionMenu::indicator_spacing = { 8, 2, 0, 0 }
57
58  GtkTreeView::row_ending_details = 0
59  GtkTreeView::expander-size = 11
60  GtkTreeView::vertical-separator = 4
61  GtkTreeView::horizontal-separator = 4
62  GtkTreeView::allow-rules = 1
63  GtkTreeView::odd_row_color = shade(0.98, @base_color)
64
65  GtkExpander::expander-size = 11
66
67  GnomeHRef::link_color = @link_color
68  GtkHTML::link-color = @link_color
69  GtkIMHtmlr::hyperlink-color = @link_color
70  GtkIMHtml::hyperlink-color = @link_color
71  GtkWidget::link-color = @link_color
72  GtkWidget::visited-link-color = @text_color
73
74  # Colors
75
76  bg[NORMAL] = @bg_color
77  bg[PRELIGHT] = shade (1.02, @bg_color)
78  bg[SELECTED] = @selected_bg_color
79  bg[INSENSITIVE] = @insensitive_bg_color
80  bg[ACTIVE] = shade (0.9, @bg_color)
81
82  fg[NORMAL] = @text_color
83  fg[PRELIGHT] = @fg_color
84  fg[SELECTED] = @selected_fg_color
85  fg[INSENSITIVE] = @insensitive_fg_color
86  fg[ACTIVE] = @fg_color
87
88  text[NORMAL] = @text_color
89  text[PRELIGHT] = @text_color
90  text[SELECTED] = @selected_fg_color
91  text[INSENSITIVE] = @insensitive_fg_color
92  text[ACTIVE] = @selected_fg_color
93
94  base[NORMAL] = @base_color
95  base[PRELIGHT] = shade (0.95, @bg_color)
96  base[SELECTED] = @selected_bg_color
97  base[INSENSITIVE] = @bg_color
98  base[ACTIVE] = shade (0.9, @selected_bg_color)
99
100  # For succinctness, all reasonable pixmap options remain here
101
102  engine "pixmap" {
103
104    # Check Buttons
105
106    image {
107      function  = CHECK
108      recolorable = TRUE
109      state = NORMAL
110      shadow = OUT
111      overlay_file = "assets/checkbox-unchecked.png"
112      overlay_stretch = FALSE
113    }
114
115    image {
116      function = CHECK
117      recolorable = TRUE
118      state = PRELIGHT
119      shadow = OUT
120      overlay_file = "assets/checkbox-unchecked.png"
121      overlay_stretch = FALSE
122    }
123
124    image {
125      function = CHECK
126      recolorable = TRUE
127      state = ACTIVE
128      shadow = OUT
129      overlay_file = "assets/checkbox-unchecked.png"
130      overlay_stretch = FALSE
131    }
132
133    image {
134      function = CHECK
135      recolorable = TRUE
136      state = SELECTED
137      shadow = OUT
138      overlay_file = "assets/checkbox-unchecked.png"
139      overlay_stretch = FALSE
140    }
141
142    image {
143      function = CHECK
144      recolorable = TRUE
145      state = INSENSITIVE
146      shadow = OUT
147      overlay_file = "assets/checkbox-unchecked-insensitive.png"
148      overlay_stretch = FALSE
149    }
150
151    image {
152      function = CHECK
153      recolorable = TRUE
154      state = NORMAL
155      shadow = IN
156      overlay_file = "assets/checkbox-checked.png"
157      overlay_stretch = FALSE
158    }
159
160    image {
161      function = CHECK
162      recolorable = TRUE
163      state = PRELIGHT
164      shadow = IN
165      overlay_file = "assets/checkbox-checked.png"
166      overlay_stretch = FALSE
167    }
168
169    image {
170      function = CHECK
171      recolorable = TRUE
172      state = ACTIVE
173      shadow = IN
174      overlay_file = "assets/checkbox-checked.png"
175      overlay_stretch = FALSE
176    }
177
178    image {
179      function = CHECK
180      recolorable = TRUE
181      state = SELECTED
182      shadow = IN
183      overlay_file = "assets/checkbox-checked.png"
184      overlay_stretch = FALSE
185    }
186
187    image {
188      function = CHECK
189      recolorable = TRUE
190      state = INSENSITIVE
191      shadow = IN
192      overlay_file = "assets/checkbox-checked-insensitive.png"
193      overlay_stretch = FALSE
194    }
195
196    # Radio Buttons
197
198    image {
199      function = OPTION
200      state = NORMAL
201      shadow = OUT
202      overlay_file = "assets/radio-unchecked.png"
203      overlay_stretch = FALSE
204    }
205
206    image {
207      function = OPTION
208      state = PRELIGHT
209      shadow = OUT
210      overlay_file = "assets/radio-unchecked.png"
211      overlay_stretch = FALSE
212    }
213
214    image {
215      function = OPTION
216      state = ACTIVE
217      shadow = OUT
218      overlay_file = "assets/radio-unchecked.png"
219      overlay_stretch = FALSE
220    }
221
222    image {
223      function = OPTION
224      state = SELECTED
225      shadow = OUT
226      overlay_file = "assets/radio-unchecked.png"
227      overlay_stretch = FALSE
228    }
229
230    image {
231      function = OPTION
232      state = INSENSITIVE
233      shadow = OUT
234      overlay_file = "assets/radio-unchecked-insensitive.png"
235      overlay_stretch = FALSE
236    }
237
238    image {
239      function = OPTION
240      state = NORMAL
241      shadow = IN
242      overlay_file = "assets/radio-checked.png"
243      overlay_stretch = FALSE
244    }
245
246    image {
247      function = OPTION
248      state = PRELIGHT
249      shadow = IN
250      overlay_file = "assets/radio-checked.png"
251      overlay_stretch = FALSE
252    }
253
254    image {
255      function = OPTION
256      state = ACTIVE
257      shadow = IN
258      overlay_file = "assets/radio-checked.png"
259      overlay_stretch = FALSE
260    }
261
262    image {
263      function = OPTION
264      state = SELECTED
265      shadow = IN
266      overlay_file = "assets/radio-checked.png"
267      overlay_stretch = FALSE
268    }
269
270    image {
271      function = OPTION
272      state = INSENSITIVE
273      shadow = IN
274      overlay_file = "assets/radio-checked-insensitive.png"
275      overlay_stretch = FALSE
276    }
277
278    # Arrows
279
280    image {
281      function = ARROW
282      overlay_file = "assets/arrow-up.png"
283      overlay_border = { 0, 0, 0, 0 }
284      overlay_stretch = FALSE
285      arrow_direction = UP
286    }
287
288    image {
289      function = ARROW
290      state = PRELIGHT
291      overlay_file = "assets/arrow-up-prelight.png"
292      overlay_border = { 0, 0, 0, 0 }
293      overlay_stretch = FALSE
294      arrow_direction = UP
295    }
296
297    image {
298      function = ARROW
299      state = ACTIVE
300      overlay_file = "assets/arrow-up-prelight.png"
301      overlay_border = { 0, 0, 0, 0 }
302      overlay_stretch = FALSE
303      arrow_direction = UP
304    }
305
306    image {
307      function = ARROW
308      state = INSENSITIVE
309      overlay_file = "assets/arrow-up-insens.png"
310      overlay_border = { 0, 0, 0, 0 }
311      overlay_stretch = FALSE
312      arrow_direction = UP
313    }
314
315    image {
316      function = ARROW
317      state = NORMAL
318      overlay_file = "assets/arrow-down.png"
319      overlay_border = { 0, 0, 0, 0 }
320      overlay_stretch = FALSE
321      arrow_direction = DOWN
322    }
323
324    image {
325      function = ARROW
326      state = PRELIGHT
327      overlay_file = "assets/arrow-down-prelight.png"
328      overlay_border = { 0, 0, 0, 0 }
329      overlay_stretch = FALSE
330      arrow_direction = DOWN
331    }
332
333    image {
334      function = ARROW
335      state = ACTIVE
336      overlay_file = "assets/arrow-down-prelight.png"
337      overlay_border = { 0, 0, 0, 0 }
338      overlay_stretch = FALSE
339      arrow_direction = DOWN
340    }
341
342    image {
343      function = ARROW
344      state = INSENSITIVE
345      overlay_file = "assets/arrow-down-insens.png"
346      overlay_border = { 0, 0, 0, 0 }
347      overlay_stretch = FALSE
348      arrow_direction = DOWN
349    }
350
351    image {
352      function = ARROW
353      overlay_file = "assets/arrow-left.png"
354      overlay_border = { 0, 0, 0, 0 }
355      overlay_stretch = FALSE
356      arrow_direction = LEFT
357    }
358
359    image {
360      function = ARROW
361      state= PRELIGHT
362      overlay_file = "assets/arrow-left-prelight.png"
363      overlay_border = { 0, 0, 0, 0 }
364      overlay_stretch = FALSE
365      arrow_direction = LEFT
366    }
367
368    image {
369      function = ARROW
370      state = ACTIVE
371      overlay_file = "assets/arrow-left-prelight.png"
372      overlay_border = { 0, 0, 0, 0 }
373      overlay_stretch = FALSE
374      arrow_direction = LEFT
375    }
376
377    image {
378      function = ARROW
379      state = INSENSITIVE
380      overlay_file = "assets/arrow-left-insens.png"
381      overlay_border = { 0, 0, 0, 0 }
382      overlay_stretch = FALSE
383      arrow_direction = LEFT
384    }
385
386    image {
387      function = ARROW
388      overlay_file = "assets/arrow-right.png"
389      overlay_border = { 0, 0, 0, 0 }
390      overlay_stretch = FALSE
391      arrow_direction = RIGHT
392    }
393
394    image {
395      function = ARROW
396      state = PRELIGHT
397      overlay_file = "assets/arrow-right-prelight.png"
398      overlay_border = { 0, 0, 0, 0 }
399      overlay_stretch = FALSE
400      arrow_direction = RIGHT
401    }
402
403    image {
404      function = ARROW
405      state = ACTIVE
406      overlay_file = "assets/arrow-right-prelight.png"
407      overlay_border = { 0, 0, 0, 0 }
408      overlay_stretch = FALSE
409      arrow_direction = RIGHT
410    }
411
412    image {
413      function = ARROW
414      state = INSENSITIVE
415      overlay_file = "assets/arrow-right-insens.png"
416      overlay_border = { 0, 0, 0, 0 }
417      overlay_stretch = FALSE
418      arrow_direction = RIGHT
419    }
420
421    # Option Menu Arrows
422
423    image {
424      function = TAB
425      state = INSENSITIVE
426      overlay_file = "assets/arrow-down-insens.png"
427      overlay_stretch = FALSE
428    }
429
430    image {
431      function = TAB
432      state = NORMAL
433      overlay_file = "assets/arrow-down.png"
434      overlay_border = { 0, 0, 0, 0 }
435      overlay_stretch = FALSE
436    }
437
438    image {
439      function = TAB
440      state = PRELIGHT
441      overlay_file = "assets/arrow-down-prelight.png"
442      overlay_border = { 0, 0, 0, 0 }
443      overlay_stretch = FALSE
444    }
445
446    # Lines
447
448    image {
449      function = VLINE
450      file = "assets/line-v.png"
451      border = { 0, 0, 0, 0 }
452      stretch = TRUE
453    }
454
455    image {
456      function = HLINE
457      file = "assets/line-h.png"
458      border = { 0, 0, 0, 0 }
459      stretch = TRUE
460    }
461
462    # Focuslines
463
464    image {
465      function = FOCUS
466      file = "assets/focus-line.png"
467      border = { 1, 1, 1, 1 }
468      stretch = TRUE
469    }
470
471    # Handles
472
473    image {
474      function = HANDLE
475      overlay_file = "assets/handle-h.png"
476      overlay_stretch = FALSE
477      orientation = HORIZONTAL
478    }
479
480    image {
481      function = HANDLE
482      overlay_file = "assets/handle-v.png"
483      overlay_stretch = FALSE
484      orientation = VERTICAL
485    }
486
487    # Expanders
488
489    image {
490      function = EXPANDER
491      expander_style = COLLAPSED
492      file = "assets/plus.png"
493    }
494
495    image {
496      function = EXPANDER
497      expander_style = EXPANDED
498      file = "assets/minus.png"
499    }
500
501    image {
502      function = EXPANDER
503      expander_style = SEMI_EXPANDED
504      file = "assets/minus.png"
505    }
506
507    image {
508      function = EXPANDER
509      expander_style = SEMI_COLLAPSED
510      file = "assets/plus.png"
511    }
512
513    image {
514      function = RESIZE_GRIP
515      state = NORMAL
516      detail = "statusbar"
517      overlay_file = "assets/null.png"
518      overlay_border = { 0,0,0,0 }
519      overlay_stretch = FALSE
520    }
521
522    # Shadows ( this area needs help :P )
523
524    image {
525      function = SHADOW_GAP
526      file = "assets/null.png"
527      border = { 4, 4, 4, 4 }
528      stretch = TRUE
529    }
530  }
531}
532
533
534style "toplevel_hack" {
535
536  engine "adwaita" {
537  }
538}
539
540style "ooo_stepper_hack" {
541
542  GtkScrollbar::stepper-size = 0
543  GtkScrollbar::has-backward-stepper = 0
544  GtkScrollbar::has-forward-stepper = 0
545
546}
547
548style "scrollbar" {
549
550  engine "pixmap" {
551
552    image {
553      function = BOX
554      detail = "trough"
555      file = "assets/trough-scrollbar-horiz.png"
556      border = { 2, 2, 3, 3 }
557      stretch = TRUE
558      orientation = HORIZONTAL
559    }
560
561    image {
562      function = BOX
563      detail = "trough"
564      file = "assets/trough-scrollbar-vert.png"
565      border = { 3, 3, 2, 2 }
566      stretch = TRUE
567      orientation = VERTICAL
568    }
569
570    image {
571      function = ARROW
572      overlay_file = "assets/null.png"
573      overlay_border = { 0, 0, 0, 0 }
574      overlay_stretch = FALSE
575      arrow_direction = UP
576    }
577
578    image {
579      function = ARROW
580      overlay_file = "assets/null.png"
581      overlay_border = { 0, 0, 0, 0 }
582      overlay_stretch = FALSE
583      arrow_direction = DOWN
584    }
585
586    image {
587      function = ARROW
588      overlay_file = "assets/null.png"
589      overlay_border = { 0, 0, 0, 0 }
590      overlay_stretch = FALSE
591      arrow_direction = LEFT
592    }
593
594    image {
595      function = ARROW
596      overlay_file = "assets/null.png"
597      overlay_border = { 0, 0, 0, 0 }
598      overlay_stretch = FALSE
599      arrow_direction = RIGHT
600    }
601
602    # Sliders
603
604    image {
605      function = SLIDER
606      state = NORMAL
607      file = "assets/slider-horiz.png"
608      border = { 5, 5, 3, 3 }
609      stretch = TRUE
610      orientation = HORIZONTAL
611    }
612
613    image {
614      function = SLIDER
615      state = ACTIVE
616      file = "assets/slider-horiz-active.png"
617      border = { 5, 5, 3, 3 }
618      stretch = TRUE
619      orientation = HORIZONTAL
620    }
621
622    image {
623      function = SLIDER
624      state = PRELIGHT
625      file = "assets/slider-horiz-prelight.png"
626      border = { 5, 5, 3, 3 }
627      stretch = TRUE
628      orientation = HORIZONTAL
629    }
630
631    image {
632      function = SLIDER
633      state = INSENSITIVE
634      file = "assets/slider-horiz-insens.png"
635      border = { 5, 5, 3, 3 }
636      stretch = TRUE
637      orientation = HORIZONTAL
638    }
639
640# X Verticals
641
642    image {
643      function = SLIDER
644      state = NORMAL
645      file = "assets/slider-vert.png"
646      border = { 3, 3, 5, 5 }
647      stretch = TRUE
648      orientation = VERTICAL
649    }
650
651    image {
652      function = SLIDER
653      state = ACTIVE
654      file = "assets/slider-vert-active.png"
655      border = { 3, 3, 5, 5 }
656      stretch = TRUE
657      orientation = VERTICAL
658    }
659
660    image {
661      function = SLIDER
662      state = PRELIGHT
663      file = "assets/slider-vert-prelight.png"
664      border = { 3, 3, 5, 5 }
665      stretch = TRUE
666      orientation = VERTICAL
667    }
668
669    image {
670      function = SLIDER
671      state = INSENSITIVE
672      file = "assets/slider-vert-insens.png"
673      border = { 3, 3, 5, 5 }
674      stretch = TRUE
675      orientation = VERTICAL
676    }
677  }
678}
679
680style "menu" {
681
682  xthickness = 0
683  ythickness = 0
684
685  GtkMenuItem::arrow-scaling = 0.4
686
687  bg[NORMAL] = @menu_bg
688  bg[INSENSITIVE] = @menu_bg
689  bg[PRELIGHT] = @menu_bg
690
691  engine "pixmap" { # For menus that use horizontal lines rather than gtkseparator
692
693    image {
694      function = HLINE
695      file = "assets/null.png"
696      border = { 0, 0, 0, 0 }
697      stretch = TRUE
698    }
699  }
700}
701
702style "menu_framed_box" {
703
704  engine "adwaita" { # default menu border
705  }
706
707#  engine "pixmap" {
708#    image {
709#      function = BOX
710#      file     = "assets/frame.png"
711#      border   = { 1, 1, 1, 1 }
712#      stretch  = TRUE
713#    }
714#  }
715
716}
717
718style "menu_item" {
719  xthickness = 2
720  ythickness = 3
721
722  # HACK: Gtk doesn't actually read this value
723  # while rendering the menu items, but Libreoffice
724  # does; setting this value equal to the one in
725  # fg[PRELIGHT] ensures a code path in the LO theming code
726  # that falls back to a dark text color for menu item text
727  # highlight. The price to pay is black text on menus as well,
728  # but at least it's readable.
729  # See https://bugs.freedesktop.org/show_bug.cgi?id=38038
730  bg[SELECTED] = @selected_fg_color
731
732  fg[NORMAL] = @menu_fg
733  fg[SELECTED] = @selected_fg_color
734
735  fg[PRELIGHT] = @selected_fg_color
736  text[PRELIGHT] = @selected_fg_color
737
738  engine "pixmap" {
739
740    image {
741      function = BOX
742      state = PRELIGHT
743      file = "assets/menuitem.png"
744      border = { 1, 0, 1, 0 }
745      stretch = TRUE
746    }
747
748    # Fix invisible scale trough on selected menuitems
749
750    image {
751      function = BOX
752      detail = "trough-lower"
753      file = "assets/trough-horizontal.png"
754      border = { 8, 8, 0, 0 }
755      stretch = TRUE
756      orientation = HORIZONTAL
757    }
758
759    image {
760      function = SLIDER
761      state = PRELIGHT
762      file = "assets/null.png"
763      border = { 0, 0, 0, 0 }
764      stretch = TRUE
765      overlay_file = "assets/slider.png"
766      overlay_stretch = FALSE
767      orientation = HORIZONTAL
768    }
769
770    # Check Buttons
771
772    image {
773      function = CHECK
774      recolorable = TRUE
775      state = NORMAL
776      shadow = OUT
777      overlay_file = "assets/menu-checkbox-unchecked.png"
778      overlay_stretch = FALSE
779    }
780
781    image {
782      function = CHECK
783      recolorable = TRUE
784      state = PRELIGHT
785      shadow = OUT
786      overlay_file = "assets/menu-checkbox-unchecked-selected.png"
787      overlay_stretch = FALSE
788    }
789
790    image {
791      function = CHECK
792      recolorable = TRUE
793      state = ACTIVE
794      shadow = OUT
795      overlay_file = "assets/menu-checkbox-unchecked.png"
796      overlay_stretch = FALSE
797    }
798
799    image {
800      function = CHECK
801      recolorable = TRUE
802      state = INSENSITIVE
803      shadow = OUT
804      overlay_file = "assets/menu-checkbox-unchecked-insensitive.png"
805      overlay_stretch = FALSE
806    }
807
808    image {
809      function = CHECK
810      recolorable = TRUE
811      state = NORMAL
812      shadow = IN
813      overlay_file = "assets/menu-checkbox-checked.png"
814      overlay_stretch = FALSE
815    }
816
817    image {
818      function = CHECK
819      recolorable = TRUE
820      state = PRELIGHT
821      shadow = IN
822      overlay_file = "assets/menu-checkbox-checked-selected.png"
823      overlay_stretch = FALSE
824    }
825
826    image {
827      function = CHECK
828      recolorable = TRUE
829      state = ACTIVE
830      shadow = IN
831      overlay_file = "assets/menu-checkbox-checked.png"
832      overlay_stretch = FALSE
833    }
834
835    image {
836      function = CHECK
837      recolorable = TRUE
838      state = INSENSITIVE
839      shadow = IN
840      overlay_file = "assets/menu-checkbox-checked-insensitive.png"
841      overlay_stretch = FALSE
842    }
843
844    # Radio Buttons
845
846    image {
847      function = OPTION
848      state = NORMAL
849      shadow = OUT
850      overlay_file = "assets/menu-radio-unchecked.png"
851      overlay_stretch = FALSE
852    }
853
854    image {
855      function = OPTION
856      state = PRELIGHT
857      shadow = OUT
858      overlay_file = "assets/menu-radio-unchecked-selected.png"
859      overlay_stretch = FALSE
860    }
861
862    image {
863      function = OPTION
864      state = ACTIVE
865      shadow = OUT
866      overlay_file = "assets/menu-radio-unchecked.png"
867      overlay_stretch = FALSE
868    }
869
870    image {
871      function = OPTION
872      state = INSENSITIVE
873      shadow = OUT
874      overlay_file = "assets/menu-radio-unchecked-insensitive.png"
875      overlay_stretch = FALSE
876    }
877
878    image {
879      function = OPTION
880      state = NORMAL
881      shadow = IN
882      overlay_file = "assets/menu-radio-checked.png"
883      overlay_stretch = FALSE
884    }
885
886    image {
887      function = OPTION
888      state = PRELIGHT
889      shadow = IN
890      overlay_file = "assets/menu-radio-checked-selected.png"
891      overlay_stretch = FALSE
892    }
893
894    image {
895      function = OPTION
896      state = ACTIVE
897      shadow = IN
898      overlay_file = "assets/menu-radio-checked.png"
899      overlay_stretch = FALSE
900    }
901
902    image {
903      function = OPTION
904      state = INSENSITIVE
905      shadow = IN
906      overlay_file = "assets/menu-radio-checked-insensitive.png"
907      overlay_stretch = FALSE
908    }
909
910    image {
911      function = SHADOW # This fixes boxy Qt menu items
912      file = "assets/null.png"
913      border = { 4, 4, 4, 4 }
914      stretch = TRUE
915    }
916
917    # Arrow Buttons
918
919    image {
920      function = ARROW
921      state = NORMAL
922      overlay_file = "assets/menu-arrow.png"
923      overlay_border = { 0, 0, 0, 0 }
924      overlay_stretch = FALSE
925      arrow_direction = RIGHT
926    }
927
928    image {
929      function = ARROW
930      state = PRELIGHT
931      overlay_file = "assets/menu-arrow-prelight.png"
932      overlay_border = { 0, 0, 0, 0 }
933      overlay_stretch = FALSE
934      arrow_direction = RIGHT
935    }
936  }
937}
938
939style "button" {
940
941  xthickness = 2
942  ythickness = 2
943
944  engine "pixmap" {
945
946    image {
947      function = BOX
948      state = NORMAL
949      file = "assets/button.png"
950      border = { 4, 4, 4, 4 }
951      stretch = TRUE
952    }
953
954    image {
955      function = BOX
956      state = PRELIGHT
957      shadow = OUT
958      file = "assets/button-hover.png"
959      border = { 4, 4, 4, 4 }
960      stretch = TRUE
961    }
962
963    # Don't add hover effect on pressed buttons
964    image {
965      function = BOX
966      state    = PRELIGHT
967      shadow   = IN
968      file     = "assets/button-active.png"
969      border   = {4, 4, 4, 4}
970      stretch  = TRUE
971    }
972
973    image {
974      function = BOX
975      state = ACTIVE
976      file = "assets/button-active.png"
977      border = { 4, 4, 4, 4 }
978      stretch = TRUE
979    }
980
981    image {
982      function = BOX
983      state = INSENSITIVE
984      file = "assets/button-insensitive.png"
985      border = { 4, 4, 4, 4 }
986      stretch = TRUE
987    }
988  }
989}
990
991style "checkbutton" {
992
993  fg[PRELIGHT] = @text_color
994  fg[ACTIVE] = @text_color
995
996}
997
998style "entry" {
999
1000  xthickness = 6
1001  ythickness = 4
1002
1003  engine "pixmap" {
1004
1005    image {
1006      function = SHADOW
1007      state = NORMAL
1008      detail = "entry"
1009      file = "assets/entry-bg.png"
1010      border = {6, 6, 6, 6}
1011      stretch = TRUE
1012    }
1013
1014    image {
1015      function = SHADOW
1016      state = ACTIVE
1017      detail = "entry"
1018      file = "assets/entry-active-bg.png"
1019      border = {6, 6, 6, 6}
1020      stretch = TRUE
1021    }
1022
1023    image {
1024      function = SHADOW
1025      state = INSENSITIVE
1026      detail = "entry"
1027      file = "assets/entry-disabled-bg.png"
1028      border = {6, 6, 6, 6}
1029      stretch = TRUE
1030    }
1031
1032    image {
1033      function = FLAT_BOX
1034      state    = ACTIVE
1035      detail   = "entry_bg"
1036      file     = "assets/entry-background.png"
1037    }
1038
1039    image {
1040      function = FLAT_BOX
1041      state    = INSENSITIVE
1042      detail   = "entry_bg"
1043      file     = "assets/entry-background-disabled.png"
1044    }
1045
1046    image {
1047      function = FLAT_BOX
1048      detail   = "entry_bg"
1049      file     = "assets/entry-background.png"
1050    }
1051  }
1052}
1053
1054style "notebook_entry" {
1055
1056  engine "pixmap" {
1057
1058    image {
1059      function = SHADOW
1060      state = NORMAL
1061      detail = "entry"
1062      file = "assets/entry-notebook.png"
1063      border = {6, 6, 6, 6}
1064      stretch = TRUE
1065    }
1066
1067    image {
1068      function = SHADOW
1069      state = ACTIVE
1070      detail = "entry"
1071      file = "assets/entry-active-notebook.png"
1072      border = {6, 6, 6, 6}
1073      stretch = TRUE
1074    }
1075
1076    image {
1077      function = SHADOW
1078      state = INSENSITIVE
1079      detail = "entry"
1080      file = "assets/entry-disabled-notebook.png"
1081      border = {6, 6, 6, 6}
1082      stretch = TRUE
1083    }
1084  }
1085}
1086
1087style "notebook_tab_label" {
1088
1089 fg[ACTIVE] = @text_color
1090
1091}
1092
1093style "combobox_entry" {
1094  xthickness = 3
1095  ythickness = 4
1096
1097  engine "pixmap" {
1098
1099    # LTR version
1100
1101    image {
1102      function = SHADOW
1103      detail = "entry"
1104      state = NORMAL
1105      shadow = IN
1106      file = "assets/combo-entry.png"
1107      border = { 4, 4, 5, 4 }
1108      stretch = TRUE
1109      direction = LTR
1110    }
1111
1112    image {
1113      function = SHADOW
1114      detail = "entry"
1115      state = INSENSITIVE
1116      shadow = IN
1117      file = "assets/combo-entry-insensitive.png"
1118      border = { 4, 4, 5, 4 }
1119      stretch = TRUE
1120      direction = LTR
1121    }
1122
1123    image {
1124      function = SHADOW
1125      detail = "entry"
1126      state = ACTIVE
1127      file = "assets/combo-entry-focus.png"
1128      border = { 4, 4, 5, 4 }
1129      stretch = TRUE
1130      direction = LTR
1131    }
1132
1133    # RTL version
1134
1135    image {
1136      function = SHADOW
1137      detail = "entry"
1138      state = NORMAL
1139      shadow = IN
1140      file = "assets/combo-entry-rtl.png"
1141      border = { 4, 4, 5, 4 }
1142      stretch = TRUE
1143      direction = RTL
1144    }
1145
1146    image {
1147      function = SHADOW
1148      detail = "entry"
1149      state = INSENSITIVE
1150      shadow = IN
1151      file = "assets/combo-entry-insensitive-rtl.png"
1152      border = { 4, 4, 5, 4 }
1153      stretch = TRUE
1154      direction = RTL
1155    }
1156
1157    image {
1158      function = SHADOW
1159      detail = "entry"
1160      state = ACTIVE
1161      file = "assets/combo-entry-focus-rtl.png"
1162      border = { 4, 4, 5, 4 }
1163      stretch = TRUE
1164      direction = RTL
1165    }
1166  }
1167}
1168
1169style "notebook_combobox_entry" {
1170
1171  engine "pixmap" {
1172
1173    # LTR version
1174
1175    image {
1176      function = SHADOW
1177      detail = "entry"
1178      state = NORMAL
1179      shadow = IN
1180      file = "assets/combo-entry-notebook.png"
1181      border = { 4, 4, 5, 4 }
1182      stretch = TRUE
1183      direction = LTR
1184    }
1185
1186    image {
1187      function = SHADOW
1188      detail = "entry"
1189      state = INSENSITIVE
1190      shadow = IN
1191      file = "assets/combo-entry-insensitive-notebook.png"
1192      border = { 4, 4, 5, 4 }
1193      stretch = TRUE
1194      direction = LTR
1195    }
1196
1197    image {
1198      function = SHADOW
1199      detail = "entry"
1200      state = ACTIVE
1201      file = "assets/combo-entry-focus-notebook.png"
1202      border = { 4, 4, 5, 4 }
1203      stretch = TRUE
1204      direction = LTR
1205    }
1206
1207    # RTL version
1208
1209    image {
1210      function = SHADOW
1211      detail = "entry"
1212      state = NORMAL
1213      shadow = IN
1214      file = "assets/combo-entry-notebook-rtl.png"
1215      border = { 4, 4, 5, 4 }
1216      stretch = TRUE
1217      direction = RTL
1218    }
1219
1220    image {
1221      function = SHADOW
1222      detail = "entry"
1223      state = INSENSITIVE
1224      shadow = IN
1225      file = "assets/combo-entry-insensitive-notebook-rtl.png"
1226      border = { 4, 4, 5, 4 }
1227      stretch = TRUE
1228      direction = RTL
1229    }
1230
1231    image {
1232      function = SHADOW
1233      detail = "entry"
1234      state = ACTIVE
1235      file = "assets/combo-entry-focus-notebook-rtl.png"
1236      border = { 4, 4, 5, 4 }
1237      stretch = TRUE
1238      direction = RTL
1239    }
1240  }
1241}
1242
1243style "combobox_entry_button" {
1244  xthickness = 6
1245
1246  fg[ACTIVE] = @text_color
1247
1248  engine "pixmap" {
1249
1250    # LTR version
1251
1252    image {
1253      function = BOX
1254      state = NORMAL
1255      file = "assets/combo-entry-button.png"
1256      border = { 4, 4, 5, 4 }
1257      stretch = TRUE
1258      direction = LTR
1259    }
1260
1261    image {
1262      function = BOX
1263      state = PRELIGHT
1264      file = "assets/combo-entry-button.png"
1265      border = { 4, 4, 5, 4 }
1266      stretch = TRUE
1267      direction = LTR
1268    }
1269
1270    image {
1271      function = BOX
1272      state = INSENSITIVE
1273      file = "assets/combo-entry-button-insensitive.png"
1274      border = { 4, 4, 5, 4 }
1275      stretch = TRUE
1276      direction = LTR
1277    }
1278
1279    image {
1280      function = BOX
1281      state = ACTIVE
1282      file = "assets/combo-entry-button-active.png"
1283      border = { 4, 4, 5, 4 }
1284      stretch = TRUE
1285      direction = LTR
1286    }
1287
1288    # RTL version
1289    image {
1290      function = BOX
1291      state = NORMAL
1292      file = "assets/combo-entry-button-rtl.png"
1293      border = { 4, 4, 5, 4 }
1294      stretch = TRUE
1295      direction = RTL
1296    }
1297
1298    image {
1299      function = BOX
1300      state = PRELIGHT
1301      file = "assets/combo-entry-button-rtl.png"
1302      border = { 4, 4, 5, 4 }
1303      stretch = TRUE
1304      direction = RTL
1305    }
1306
1307    image {
1308      function = BOX
1309      state = INSENSITIVE
1310      file = "assets/combo-entry-button-insensitive-rtl.png"
1311      border = { 4, 4, 5, 4 }
1312      stretch = TRUE
1313      direction = RTL
1314    }
1315
1316    image {
1317      function = BOX
1318      state = ACTIVE
1319      file = "assets/combo-entry-button-active-rtl.png"
1320      border = { 4, 4, 5, 4 }
1321      stretch = TRUE
1322      direction = RTL
1323    }
1324  }
1325}
1326
1327style "spinbutton" {
1328
1329  bg[NORMAL] = @bg_color
1330
1331  xthickness = 6
1332  ythickness = 4
1333
1334  engine "pixmap" {
1335
1336    image {
1337    function = ARROW
1338    }
1339
1340    # Spin-Up LTR
1341
1342    image {
1343      function = BOX
1344      state = NORMAL
1345      detail = "spinbutton_up"
1346      file = "assets/up-background.png"
1347      border = { 1, 4, 5, 0 }
1348      stretch = TRUE
1349      overlay_file = "assets/arrow-up-small.png"
1350      overlay_stretch = FALSE
1351      direction = LTR
1352    }
1353
1354    image {
1355      function = BOX
1356      state = PRELIGHT
1357      detail = "spinbutton_up"
1358      file = "assets/up-background.png"
1359      border = { 1, 4, 5, 0 }
1360      stretch = TRUE
1361      overlay_file = "assets/arrow-up-small-prelight.png"
1362      overlay_stretch = FALSE
1363      direction = LTR
1364    }
1365
1366    image {
1367      function = BOX
1368      state = INSENSITIVE
1369      detail = "spinbutton_up"
1370      file = "assets/up-background-disable.png"
1371      border = { 1, 4, 5, 0 }
1372      stretch = TRUE
1373      overlay_file = "assets/arrow-up-small-insens.png"
1374      overlay_stretch = FALSE
1375      direction = LTR
1376    }
1377
1378    image {
1379      function = BOX
1380      state = ACTIVE
1381      detail = "spinbutton_up"
1382      file = "assets/up-background.png"
1383      border = { 1, 4, 5, 0 }
1384      stretch = TRUE
1385      overlay_file = "assets/arrow-up-small-prelight.png"
1386      overlay_stretch = FALSE
1387      direction = LTR
1388    }
1389
1390    # Spin-Up RTL
1391
1392    image {
1393      function = BOX
1394      state = NORMAL
1395      detail = "spinbutton_up"
1396      file = "assets/up-background-rtl.png"
1397      border = { 4, 1, 5, 0 }
1398      stretch = TRUE
1399      overlay_file = "assets/arrow-up-small.png"
1400      overlay_stretch = FALSE
1401      direction = RTL
1402    }
1403
1404    image {
1405      function = BOX
1406      state = PRELIGHT
1407      detail = "spinbutton_up"
1408      file = "assets/up-background-rtl.png"
1409      border = { 4, 1, 5, 0 }
1410      stretch = TRUE
1411      overlay_file = "assets/arrow-up-small-prelight.png"
1412      overlay_stretch = FALSE
1413      direction = RTL
1414    }
1415
1416    image {
1417      function = BOX
1418      state = INSENSITIVE
1419      detail = "spinbutton_up"
1420      file = "assets/up-background-disable-rtl.png"
1421      border = { 4, 1, 5, 0 }
1422      stretch = TRUE
1423      overlay_file = "assets/arrow-up-small-insens.png"
1424      overlay_stretch = FALSE
1425      direction = RTL
1426    }
1427
1428    image {
1429      function = BOX
1430      state = ACTIVE
1431      detail = "spinbutton_up"
1432      file = "assets/up-background-rtl.png"
1433      border = { 4, 1, 5, 0 }
1434      stretch	= TRUE
1435      overlay_file = "assets/arrow-up-small-prelight.png"
1436      overlay_stretch	= FALSE
1437      direction = RTL
1438    }
1439
1440    # Spin-Down LTR
1441
1442    image {
1443      function = BOX
1444      state = NORMAL
1445      detail = "spinbutton_down"
1446      file = "assets/down-background.png"
1447      border = { 1, 4, 1, 4 }
1448      stretch = TRUE
1449      overlay_file = "assets/arrow-down-small.png"
1450      overlay_stretch = FALSE
1451      direction = LTR
1452    }
1453
1454    image {
1455      function = BOX
1456      state = PRELIGHT
1457      detail = "spinbutton_down"
1458      file = "assets/down-background.png"
1459      border = { 1, 4, 1, 4 }
1460      stretch = TRUE
1461      overlay_file = "assets/arrow-down-small-prelight.png"
1462      overlay_stretch = FALSE
1463      direction = LTR
1464    }
1465
1466    image {
1467      function = BOX
1468      state = INSENSITIVE
1469      detail = "spinbutton_down"
1470      file = "assets/down-background-disable.png"
1471      border = { 1, 4, 1, 4 }
1472      stretch = TRUE
1473      overlay_file = "assets/arrow-down-small-insens.png"
1474      overlay_stretch = FALSE
1475      direction = LTR
1476    }
1477
1478    image {
1479      function = BOX
1480      state = ACTIVE
1481      detail = "spinbutton_down"
1482      file = "assets/down-background.png"
1483      border = { 1, 4, 1, 4 }
1484      stretch = TRUE
1485      overlay_file = "assets/arrow-down-small-prelight.png"
1486      overlay_stretch = FALSE
1487      direction = LTR
1488    }
1489
1490    # Spin-Down RTL
1491
1492    image {
1493      function = BOX
1494      state = NORMAL
1495      detail = "spinbutton_down"
1496      file = "assets/down-background-rtl.png"
1497      border = { 4, 1, 1, 4 }
1498      stretch = TRUE
1499      overlay_file = "assets/arrow-down-small.png"
1500      overlay_stretch = FALSE
1501      direction = RTL
1502    }
1503
1504    image {
1505      function = BOX
1506      state = PRELIGHT
1507      detail = "spinbutton_down"
1508      file = "assets/down-background-rtl.png"
1509      border = { 4, 1, 1, 4 }
1510      stretch = TRUE
1511      overlay_file = "assets/arrow-down-small-prelight.png"
1512      overlay_stretch = FALSE
1513      direction = RTL
1514    }
1515
1516    image {
1517      function = BOX
1518      state = INSENSITIVE
1519      detail = "spinbutton_down"
1520      file = "assets/down-background-disable-rtl.png"
1521      border = { 4, 1, 1, 4 }
1522      stretch = TRUE
1523      overlay_file = "assets/arrow-down-small-insens.png"
1524      overlay_stretch = FALSE
1525      direction = RTL
1526    }
1527
1528    image {
1529      function = BOX
1530      state = ACTIVE
1531      detail = "spinbutton_down"
1532      file = "assets/down-background-rtl.png"
1533      border = { 4, 1, 1, 4 }
1534      stretch = TRUE
1535      overlay_file = "assets/arrow-down-small-prelight.png"
1536      overlay_stretch = FALSE
1537      direction = RTL
1538    }
1539  }
1540}
1541
1542style "gimp_spin_scale" {
1543
1544  bg[NORMAL] = @base_color
1545
1546  engine "pixmap" {
1547
1548    image {
1549      function = FLAT_BOX
1550      detail = "entry_bg"
1551      state = NORMAL
1552    }
1553
1554    image {
1555      function = FLAT_BOX
1556      detail = "entry_bg"
1557      state = ACTIVE
1558    }
1559
1560    image {
1561      function = BOX
1562      state = NORMAL
1563      detail = "spinbutton_up"
1564      overlay_file = "assets/arrow-up-small.png"
1565      overlay_stretch = FALSE
1566    }
1567
1568    image {
1569      function = BOX
1570      state = PRELIGHT
1571      detail = "spinbutton_up"
1572      overlay_file = "assets/arrow-up-small-prelight.png"
1573      overlay_stretch = FALSE
1574    }
1575
1576    image {
1577      function = BOX
1578      state = ACTIVE
1579      detail = "spinbutton_up"
1580      overlay_file = "assets/arrow-up-small-prelight.png"
1581      overlay_stretch = FALSE
1582    }
1583
1584    image {
1585      function = BOX
1586      state = INSENSITIVE
1587      detail = "spinbutton_up"
1588      overlay_file = "assets/arrow-up-small-insens.png"
1589      overlay_stretch = FALSE
1590    }
1591
1592    image {
1593      function = BOX
1594      state = NORMAL
1595      detail = "spinbutton_down"
1596      overlay_file = "assets/arrow-down-small.png"
1597      overlay_stretch = FALSE
1598    }
1599
1600    image {
1601      function = BOX
1602      state = PRELIGHT
1603      detail = "spinbutton_down"
1604      overlay_file = "assets/arrow-down-small-prelight.png"
1605      overlay_stretch = FALSE
1606    }
1607
1608    image {
1609      function = BOX
1610      state = ACTIVE
1611      detail = "spinbutton_down"
1612      overlay_file = "assets/arrow-down-small-prelight.png"
1613      overlay_stretch = FALSE
1614    }
1615
1616    image {
1617      function = BOX
1618      state = INSENSITIVE
1619      detail = "spinbutton_down"
1620      overlay_file = "assets/arrow-down-small-insens.png"
1621      overlay_stretch = FALSE
1622    }
1623  }
1624}
1625
1626style "notebook" {
1627
1628  xthickness = 5
1629  ythickness = 2
1630
1631  engine "pixmap" {
1632
1633    image {
1634      function = EXTENSION
1635      state = ACTIVE
1636      file = "assets/null.png"
1637      border = { 0,0,0,0 }
1638      stretch = TRUE
1639      gap_side = TOP
1640    }
1641
1642    image {
1643      function = EXTENSION
1644      state = ACTIVE
1645      file = "assets/null.png"
1646      border = { 0,0,0,0 }
1647      stretch = TRUE
1648      gap_side = BOTTOM
1649    }
1650
1651    image {
1652      function = EXTENSION
1653      state = ACTIVE
1654      file = "assets/null.png"
1655      border = { 0,0,0,0 }
1656      stretch = TRUE
1657      gap_side = RIGHT
1658    }
1659
1660    image {
1661      function = EXTENSION
1662      state = ACTIVE
1663      file = "assets/null.png"
1664      border = { 0,0,0,0 }
1665      stretch = TRUE
1666      gap_side = LEFT
1667    }
1668
1669    image {
1670      function = EXTENSION
1671      file = "assets/tab-top-active.png"
1672      border = { 3,3,3,3 }
1673      stretch = TRUE
1674      gap_side = BOTTOM
1675    }
1676
1677    image {
1678      function = EXTENSION
1679      file = "assets/tab-bottom-active.png"
1680      border = { 3,3,3,3 }
1681      stretch = TRUE
1682      gap_side = TOP
1683    }
1684
1685    image {
1686      function = EXTENSION
1687      file = "assets/tab-left-active.png"
1688      border = { 3,3,3,3 }
1689      stretch = TRUE
1690      gap_side = RIGHT
1691    }
1692
1693    image {
1694      function = EXTENSION
1695      file = "assets/tab-right-active.png"
1696      border = { 3,3,3,3 }
1697      stretch = TRUE
1698      gap_side = LEFT
1699    }
1700
1701    # How to draw boxes with a gap on one side (ie the page of a notebook)
1702
1703    image {
1704      function = BOX_GAP
1705      file = "assets/notebook.png"
1706      border = { 4, 4, 4, 4 }
1707      stretch = TRUE
1708      gap_file = "assets/notebook-gap-horiz.png"
1709      gap_border = { 1, 1, 0, 0 }
1710      gap_side = TOP
1711    }
1712
1713    image {
1714      function = BOX_GAP
1715      file = "assets/notebook.png"
1716      border = { 4, 4, 4, 4 }
1717      stretch = TRUE
1718      gap_file = "assets/notebook-gap-horiz.png"
1719      gap_border = { 1, 1, 0, 0 }
1720      gap_side = BOTTOM
1721    }
1722
1723    image {
1724      function = BOX_GAP
1725      file = "assets/notebook.png"
1726      border = { 4, 4, 4, 4 }
1727      stretch = TRUE
1728      gap_file = "assets/notebook-gap-vert.png"
1729      gap_border = { 0, 0, 1, 1 }
1730      gap_side = LEFT
1731    }
1732
1733    image {
1734      function = BOX_GAP
1735      file = "assets/notebook.png"
1736      border = { 4, 4, 4, 4 }
1737      stretch = TRUE
1738      gap_file = "assets/notebook-gap-vert.png"
1739      gap_border = { 0, 0, 1, 1 }
1740      gap_side = RIGHT
1741    }
1742
1743    # How to draw the box of a notebook when it isnt attached to a tab
1744
1745    image {
1746      function = BOX
1747      file = "assets/notebook.png"
1748      border = { 4, 4, 4, 4 }
1749      stretch = TRUE
1750    }
1751  }
1752}
1753
1754style "handlebox" {
1755
1756  engine "pixmap" {
1757
1758    image {
1759    function = BOX
1760    file = "assets/null.png"
1761    border = { 4, 4, 4, 4 }
1762    stretch = TRUE
1763    detail = "handlebox_bin"
1764    shadow = IN
1765    }
1766
1767    image {
1768    function = BOX
1769    file = "assets/null.png"
1770    border = { 4, 4, 4, 4 }
1771    stretch = TRUE
1772    detail = "handlebox_bin"
1773    shadow = OUT
1774    }
1775  }
1776}
1777
1778style "combobox_separator" {
1779
1780  xthickness = 0
1781  ythickness = 0
1782  GtkWidget::wide-separators = 1
1783
1784}
1785
1786style "combobox" {
1787
1788  xthickness = 0
1789  ythickness = 0
1790
1791}
1792
1793style "combobox_button" {
1794
1795  xthickness = 3
1796  ythickness = 3
1797
1798}
1799
1800style "range" {
1801
1802  engine "pixmap" {
1803
1804    image {
1805      function = BOX
1806      detail = "trough-upper"
1807      file = "assets/trough-horizontal.png"
1808      border = { 8, 8, 0, 0 }
1809      stretch = TRUE
1810      orientation = HORIZONTAL
1811    }
1812
1813    image {
1814      function = BOX
1815      detail = "trough-lower"
1816      file = "assets/trough-horizontal-active.png"
1817      border = { 8, 8, 0, 0 }
1818      stretch = TRUE
1819      orientation = HORIZONTAL
1820    }
1821
1822    image {
1823      function = BOX
1824      detail = "trough-upper"
1825      file = "assets/trough-vertical.png"
1826      border = { 0, 0, 8, 8 }
1827      stretch = TRUE
1828      orientation = VERTICAL
1829    }
1830
1831    image {
1832      function = BOX
1833      detail = "trough-lower"
1834      file = "assets/trough-vertical-active.png"
1835      border = { 0, 0, 8, 8 }
1836      stretch = TRUE
1837      orientation = VERTICAL
1838    }
1839
1840    # Horizontal
1841
1842    image {
1843      function = SLIDER
1844      state = NORMAL
1845      file = "assets/null.png"
1846      border = { 0, 0, 0, 0 }
1847      stretch = TRUE
1848      overlay_file = "assets/slider.png"
1849      overlay_stretch = FALSE
1850      orientation = HORIZONTAL
1851    }
1852
1853    image {
1854      function = SLIDER
1855      state = PRELIGHT
1856      file = "assets/null.png"
1857      border = { 0, 0, 0, 0 }
1858      stretch = TRUE
1859      overlay_file = "assets/slider-prelight.png"
1860      overlay_stretch = FALSE
1861      orientation = HORIZONTAL
1862    }
1863
1864    image {
1865      function = SLIDER
1866      state = INSENSITIVE
1867      file = "assets/null.png"
1868      border = { 0, 0, 0, 0 }
1869      stretch = TRUE
1870      overlay_file = "assets/slider-insensitive.png"
1871      overlay_stretch = FALSE
1872      orientation = HORIZONTAL
1873    }
1874
1875    # Vertical
1876
1877    image {
1878      function = SLIDER
1879      state = NORMAL
1880      file = "assets/null.png"
1881      border = { 0, 0, 0, 0 }
1882      stretch = TRUE
1883      overlay_file = "assets/slider.png"
1884      overlay_stretch = FALSE
1885      orientation = VERTICAL
1886    }
1887
1888    image {
1889      function = SLIDER
1890      state = PRELIGHT
1891      file = "assets/null.png"
1892      border = { 0, 0, 0, 0 }
1893      stretch = TRUE
1894      overlay_file = "assets/slider-prelight.png"
1895      overlay_stretch = FALSE
1896      orientation = VERTICAL
1897    }
1898
1899    image {
1900      function = SLIDER
1901      state = INSENSITIVE
1902      file = "assets/null.png"
1903      border = { 0, 0, 0, 0 }
1904      stretch = TRUE
1905      overlay_file = "assets/slider-insensitive.png"
1906      overlay_stretch = FALSE
1907      orientation = VERTICAL
1908    }
1909
1910    # Function below removes ugly boxes
1911
1912    image {
1913      function = BOX
1914      file = "assets/null.png"
1915      border = { 3, 3, 3, 3 }
1916      stretch = TRUE
1917    }
1918  }
1919}
1920
1921style "progressbar" {
1922
1923  xthickness = 1
1924  ythickness = 1
1925
1926  fg[NORMAL] = @fg_color
1927  fg[PRELIGHT] = @selected_fg_color
1928
1929  engine "pixmap" {
1930
1931    image {
1932      function = BOX
1933      detail = "trough"
1934      file = "assets/trough-progressbar.png"
1935      border = { 4, 4, 4, 4 }
1936      stretch = TRUE
1937      orientation = HORIZONTAL
1938    }
1939
1940    image {
1941      function = BOX
1942      detail = "bar"
1943      file = "assets/progressbar.png"
1944      stretch = TRUE
1945      border = { 3, 3, 3, 3 }
1946      orientation = HORIZONTAL
1947    }
1948
1949    image {
1950      function = BOX
1951      detail = "trough"
1952      file = "assets/trough-progressbar_v.png"
1953      border = { 4, 4, 4, 4 }
1954      stretch = TRUE
1955      orientation = VERTICAL
1956    }
1957
1958    image {
1959      function = BOX
1960      detail = "bar"
1961      file = "assets/progressbar_v.png"
1962      stretch = TRUE
1963      border = { 3, 3, 3, 3 }
1964      orientation = VERTICAL
1965    }
1966  }
1967}
1968
1969style "separator_menu_item" {
1970
1971  engine "pixmap" {
1972
1973    image {
1974      function = BOX
1975      file = "assets/null.png"
1976      border = { 0, 0, 1, 0 }
1977      stretch = TRUE
1978    }
1979  }
1980}
1981
1982style "treeview_header" {
1983  ythickness = 1
1984
1985  fg[PRELIGHT] = mix(0.70, @text_color, @base_color)
1986  font_name = "Bold"
1987
1988  engine "pixmap" {
1989
1990    image {
1991      function = BOX
1992      file = "assets/tree_header.png"
1993      border = { 1, 1, 1, 1 }
1994      stretch = TRUE
1995    }
1996  }
1997}
1998
1999# Treeview Rows
2000
2001style "treeview" {
2002
2003  xthickness = 2
2004  ythickness = 0
2005
2006
2007}
2008
2009style "scrolled_window" {
2010
2011  xthickness = 1
2012  ythickness = 1
2013
2014  engine "pixmap" {
2015
2016    image {
2017      function = SHADOW
2018      file = "assets/frame.png"
2019      border = { 5, 5, 5, 5 }
2020      stretch = TRUE
2021    }
2022  }
2023}
2024
2025style "frame" {
2026
2027  xthickness = 1
2028  ythickness = 1
2029
2030  engine "pixmap" {
2031
2032    image {
2033      function = SHADOW
2034      file = "assets/frame.png"
2035      border = { 1, 1, 1, 1 }
2036      stretch = TRUE
2037      shadow = IN
2038    }
2039
2040    image {
2041      function = SHADOW_GAP
2042      file = "assets/frame.png"
2043      border = { 1, 1, 1, 1 }
2044      stretch = TRUE
2045      gap_start_file = "assets/frame-gap-start.png"
2046      gap_start_border = { 1, 0, 0, 0 }
2047      gap_end_file = "assets/frame-gap-end.png"
2048      gap_end_border = { 0, 1, 0, 0 }
2049      shadow = IN
2050    }
2051
2052    image {
2053      function = SHADOW
2054      file = "assets/frame.png"
2055      border = { 1, 1, 1, 1 }
2056      stretch = TRUE
2057      shadow = OUT
2058    }
2059
2060    image {
2061      function = SHADOW_GAP
2062      file = "assets/frame.png"
2063      border = { 1, 1, 1, 1 }
2064      stretch = TRUE
2065      gap_start_file = "assets/frame-gap-start.png"
2066      gap_start_border = { 1, 0, 0, 0 }
2067      gap_end_file = "assets/frame-gap-end.png"
2068      gap_end_border = { 0, 1, 0, 0 }
2069      shadow = OUT
2070    }
2071
2072    image {
2073      function = SHADOW
2074      file = "assets/frame.png"
2075      border = { 1, 1, 1, 1 }
2076      stretch = TRUE
2077      shadow = ETCHED_IN
2078    }
2079
2080    image {
2081      function = SHADOW_GAP
2082      file = "assets/frame.png"
2083      border = { 1, 1, 1, 1 }
2084      stretch = TRUE
2085      gap_start_file = "assets/frame-gap-start.png"
2086      gap_start_border = { 1, 0, 0, 0 }
2087      gap_end_file = "assets/frame-gap-end.png"
2088      gap_end_border = { 0, 1, 0, 0 }
2089      shadow = ETCHED_IN
2090    }
2091
2092    image {
2093      function = SHADOW
2094      file = "assets/frame.png"
2095      border = { 1, 1, 1, 1 }
2096      stretch = TRUE
2097      shadow = ETCHED_OUT
2098    }
2099
2100    image {
2101      function = SHADOW_GAP
2102      file = "assets/frame.png"
2103      border = { 1, 1, 1, 1 }
2104      stretch = TRUE
2105      gap_start_file = "assets/frame-gap-start.png"
2106      gap_start_border = { 1, 0, 0, 0 }
2107      gap_end_file = "assets/frame-gap-end.png"
2108      gap_end_border = { 0, 1, 0, 0 }
2109      shadow = ETCHED_OUT
2110    }
2111  }
2112}
2113
2114style "gimp_toolbox_frame" {
2115
2116  engine "pixmap" {
2117
2118    image {
2119      function = SHADOW
2120    }
2121  }
2122}
2123
2124style "toolbar" {
2125
2126  engine "pixmap" {
2127
2128    image {
2129      function = BOX
2130      file  = "assets/toolbar.png"
2131      stretch  = TRUE
2132      border = { 1, 1, 1, 1 }
2133    }
2134
2135    image {
2136      function = HANDLE
2137      overlay_file = "assets/handle-h.png"
2138      overlay_stretch = FALSE
2139      orientation = HORIZONTAL
2140    }
2141
2142    image {
2143      function = HANDLE
2144      overlay_file = "assets/handle-v.png"
2145      overlay_stretch = FALSE
2146      orientation = VERTICAL
2147    }
2148
2149    image {
2150      function = VLINE
2151      recolorable = TRUE
2152      file = "assets/null.png"
2153    }
2154
2155    image {
2156      function = HLINE
2157      recolorable = TRUE
2158      file = "assets/null.png"
2159    }
2160  }
2161}
2162
2163style "inline_toolbar" {
2164
2165  GtkToolbar::button-relief = GTK_RELIEF_NORMAL
2166
2167  engine "pixmap" {
2168
2169    image {
2170      function = BOX
2171      file = "assets/inline-toolbar.png"
2172      stretch = TRUE
2173      border = { 1, 1, 1, 1 }
2174    }
2175  }
2176}
2177
2178style "notebook_viewport" {
2179
2180  bg[NORMAL] = @notebook_bg
2181}
2182
2183
2184style "notebook_eventbox" {
2185
2186  bg[NORMAL] = @notebook_bg
2187  bg[ACTIVE] = @bg_color
2188}
2189
2190style "tooltips" {
2191
2192  xthickness = 8
2193  ythickness = 4
2194
2195  bg[NORMAL] = @tooltip_bg_color
2196  fg[NORMAL] = @tooltip_fg_color
2197  bg[SELECTED] = @tooltip_bg_color
2198
2199}
2200
2201style "eclipse-tooltips" {
2202
2203  xthickness = 8
2204  ythickness = 4
2205
2206  bg[NORMAL] = shade(1.05, @bg_color)
2207  fg[NORMAL] = @text_color
2208  bg[SELECTED] = shade(1.05, @bg_color)
2209
2210}
2211
2212style "xfdesktop-icon-view" {
2213  XfdesktopIconView::label-alpha = 0
2214  XfdesktopIconView::selected-label-alpha = 100
2215  XfdesktopIconView::shadow-x-offset = 0
2216  XfdesktopIconView::shadow-y-offset = 1
2217  XfdesktopIconView::selected-shadow-x-offset = 0
2218  XfdesktopIconView::selected-shadow-y-offset = 1
2219  XfdesktopIconView::shadow-color = "#000000"
2220  XfdesktopIconView::selected-shadow-color = "#000000"
2221  XfdesktopIconView::shadow-blur-radius = 2
2222  XfdesktopIconView::cell-spacing = 2
2223  XfdesktopIconView::cell-padding = 6
2224  XfdesktopIconView::cell-text-width-proportion = 1.9
2225
2226  fg[NORMAL] = @selected_fg_color
2227  fg[ACTIVE] = @selected_fg_color
2228}
2229
2230style "xfwm-tabwin" {
2231  Xfwm4TabwinWidget::border-width = 1
2232  Xfwm4TabwinWidget::border-alpha = 1.0
2233  Xfwm4TabwinWidget::icon-size = 64
2234  Xfwm4TabwinWidget::alpha = 1.0
2235  Xfwm4TabwinWidget::border-radius = 2
2236
2237  bg[NORMAL] = @bg_color
2238  bg[SELECTED] = @bg_color
2239
2240  fg[NORMAL] = @fg_color
2241
2242  engine "murrine" {
2243    contrast = 0.7
2244    glazestyle = 0
2245    glowstyle = 0
2246    highlight_shade = 1.0
2247    gradient_shades = {1.0,1.0,1.0,1.0}
2248    border_shades = { 0.8, 0.8 }
2249  }
2250}
2251
2252style "xfwm-tabwin-button" {
2253
2254  font_name = "bold"
2255  bg[SELECTED] = @selected_bg_color
2256}
2257
2258# Thunar
2259
2260style "thunar_location_button" = "location_button" {
2261  ThunarLocationButtons::spacing = 0
2262
2263  engine "pixmap" {
2264
2265    image {
2266      function = BOX
2267      state    = NORMAL
2268      file     = "assets/null.png"
2269      border   = { 2, 2, 2, 2 }
2270      stretch  = TRUE
2271    }
2272
2273    image {
2274      function = BOX
2275      state    = PRELIGHT
2276      file     = "assets/pathbar_button_prelight.png"
2277      border   = { 2, 2, 2, 2 }
2278      stretch  = TRUE
2279    }
2280
2281    image {
2282      function = BOX
2283      state    = ACTIVE
2284      file     = "assets/pathbar_button_active.png"
2285      border   = { 0, 0, 0, 2 }
2286      stretch  = TRUE
2287    }
2288
2289    image {
2290      function = BOX
2291      state    = INSENSITIVE
2292      file     = "assets/null.png"
2293      border   = { 2, 2, 2, 2 }
2294      stretch  = TRUE
2295    }
2296  }
2297}
2298
2299widget_class "*ThunarLocationButtons*" style "thunar_location_button"
2300
2301# Chromium
2302style "chrome_menu_item" {
2303
2304  bg[SELECTED] = @selected_bg_color
2305
2306}
2307
2308# Text Style
2309style "text" = "default" {
2310  engine "murrine" { textstyle = 0 }
2311}
2312
2313style "menu_text" = "menu_item" {
2314  engine "murrine" { textstyle = 0 }
2315}
2316
2317
2318style "null" {
2319
2320  engine "pixmap" {
2321
2322    image {
2323    function = BOX
2324    file = "assets/null.png"
2325    stretch = TRUE
2326    }
2327  }
2328}
2329
2330
2331class "GtkWidget"                                                   style "default"
2332class "GtkScrollbar"                                                style "scrollbar"
2333class "GtkButton"                                                   style "button"
2334class "GtkEntry"                                                    style "entry"
2335class "GtkOldEditable"                                              style "entry"
2336class "GtkSpinButton"                                               style "spinbutton"
2337class "GtkNotebook"                                                 style "notebook"
2338class "GtkRange"                                                    style "range"
2339class "GtkProgressBar"                                              style "progressbar"
2340class "GtkSeparatorMenuItem"                                        style "separator_menu_item"
2341class "GtkScrolledWindow"                                           style "scrolled_window"
2342class "GtkFrame"                                                    style "frame"
2343class "GtkTreeView"                                                 style "treeview"
2344class "GtkToolbar"                                                  style "toolbar"
2345class "*HandleBox"                                                  style "toolbar"
2346
2347widget_class "*<GtkMenu>*"                                          style "menu"
2348widget_class "*<GtkMenu>*"                                          style "menu_framed_box"
2349widget_class "*<GtkMenuItem>*"                                      style "menu_item"
2350widget_class "*<GtkCheckButton>*"                                   style "checkbutton"
2351widget_class "*<GtkComboBox>"                                       style "combobox"
2352widget_class "*<GtkComboBox>*<GtkButton>"                           style "combobox_button"
2353widget_class "*<GtkComboBox>*<GtkSeparator>"                        style "combobox_separator"
2354widget_class "*<GtkTreeView>*<GtkButton>*"                          style "treeview_header"
2355widget_class "*<GtkFileChooserDefault>*<GtkToolbar>"                style "inline_toolbar"
2356widget_class "*<GtkComboBoxEntry>*<GtkEntry>"                       style "combobox_entry"
2357widget_class "*<GtkComboBoxEntry>*<GtkButton>"                      style "combobox_entry_button"
2358widget_class "*<GtkNotebook>*<GtkScrolledWindow>*<GtkViewport>"     style "notebook_viewport"
2359widget_class "*HandleBox"                                           style "toolbar"
2360
2361# Entries in notebooks draw with notebook's base color, but not if there's
2362# something else in the middle that draws gray again
2363widget_class "*<GtkNotebook>*<GtkEntry>"                                    style "notebook_entry"
2364widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkEntry>"                      style "entry"
2365
2366widget_class "*<GtkNotebook>*<GtkComboBoxEntry>*<GtkEntry>"                 style "notebook_combobox_entry"
2367widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkComboBoxEntry>*<GtkEntry>"   style "combobox_entry"
2368
2369# We also need to avoid changing fg color for the inactive notebook tab labels
2370widget_class "*<GtkNotebook>.<GtkLabel>"                            style "notebook_tab_label"
2371
2372# GTK tooltips
2373widget "gtk-tooltip*"                                               style "tooltips"
2374
2375#Fix GVim tabs
2376widget_class "*<GtkNotebook>*<GtkEventBox>"                         style "notebook_eventbox"
2377
2378# Xchat special cases
2379widget "*xchat-inputbox"                                            style "entry"
2380
2381# GIMP
2382# Disable gradients completely for GimpSpinScale
2383#class "GimpSpinScale"                                               style "gimp_spin_scale"
2384
2385# Remove borders from "Wilbert frame" in Gimp
2386widget_class "*<GimpToolbox>*<GtkFrame>"                            style "gimp_toolbox_frame"
2387
2388# Chrome/Chromium
2389widget_class "*Chrom*Button*"                                       style "button"
2390widget_class "*<GtkCustomMenu>*<GtkCustomMenuItem>*"                style "chrome_menu_item"
2391
2392# Eclipse/SWT
2393widget "gtk-tooltips*"                                              style "eclipse-tooltips"
2394widget "*swt-toolbar-flat"                                          style "null"
2395
2396# Openoffice, Libreoffice
2397class "GtkWindow"                                                   style "toplevel_hack"
2398widget "*openoffice-toplevel*"                                      style "ooo_stepper_hack"
2399
2400# Xfce
2401widget_class "*XfdesktopIconView*"                                  style "xfdesktop-icon-view"
2402widget "xfwm4-tabwin*"                                              style "xfwm-tabwin"
2403widget "xfwm4-tabwin*GtkButton*"                                    style "xfwm-tabwin-button"
2404
2405# Fixes ugly text shadows for insensitive text
2406widget_class "*<GtkLabel>"                                          style "text"
2407widget_class "*<GtkMenu>*<GtkLabel>"                                style "menu_text"
2408widget_class "*<GtkComboBox>*<GtkCellLayout>"                       style "text"
2409widget_class "*<GtkNotebook>*<GtkLabel>"                            style "text"
2410widget_class "*<GtkNotebook>*<GtkCellLayout>"                       style "text"
2411