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