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 701state = NORMAL 702overlay_file = "assets/handle-horz.png" 703overlay_stretch = FALSE 704orientation = HORIZONTAL 705} 706 707image { 708function = HANDLE 709state = PRELIGHT 710overlay_file = "assets/handle-horz-hover.png" 711overlay_stretch = FALSE 712orientation = HORIZONTAL 713} 714 715image { 716function = HANDLE 717state = ACTIVE 718overlay_file = "assets/handle-horz-active.png" 719overlay_stretch = FALSE 720orientation = HORIZONTAL 721} 722 723image { 724function = HANDLE 725state = NORMAL 726overlay_file = "assets/handle-vert.png" 727overlay_stretch = FALSE 728orientation = VERTICAL 729} 730 731image { 732function = HANDLE 733state = PRELIGHT 734overlay_file = "assets/handle-vert-hover.png" 735overlay_stretch = FALSE 736orientation = VERTICAL 737} 738 739image { 740function = HANDLE 741state = ACTIVE 742overlay_file = "assets/handle-vert-active.png" 743overlay_stretch = FALSE 744orientation = VERTICAL 745} 746 747image { 748function = RESIZE_GRIP 749} 750 751############# 752# Expanders # 753############# 754 755image { 756function = EXPANDER 757expander_style = EXPANDED 758state = NORMAL 759file = "assets/pan-down.png" 760} 761 762image { 763function = EXPANDER 764expander_style = EXPANDED 765state = PRELIGHT 766file = "assets/pan-down-alt.png" 767} 768 769image { 770function = EXPANDER 771expander_style = EXPANDED 772state = ACTIVE 773file = "assets/pan-down-alt.png" 774} 775 776image { 777function = EXPANDER 778expander_style = EXPANDED 779state = INSENSITIVE 780file = "assets/pan-down-disabled.png" 781} 782 783# LTR 784 785image { 786function = EXPANDER 787expander_style = COLLAPSED 788state = NORMAL 789file = "assets/pan-right.png" 790direction = LTR 791} 792 793image { 794function = EXPANDER 795expander_style = COLLAPSED 796state = PRELIGHT 797file = "assets/pan-right-alt.png" 798direction = LTR 799} 800 801image { 802function = EXPANDER 803expander_style = COLLAPSED 804state = ACTIVE 805file = "assets/pan-right-alt.png" 806direction = LTR 807} 808 809image { 810function = EXPANDER 811expander_style = COLLAPSED 812state = INSENSITIVE 813file = "assets/pan-right-disabled.png" 814direction = LTR 815} 816 817image { 818function = EXPANDER 819expander_style = SEMI_COLLAPSED 820file = "assets/pan-right-semi.png" 821direction = LTR 822} 823 824image { 825function = EXPANDER 826expander_style = SEMI_EXPANDED 827file = "assets/pan-right-semi.png" 828direction = LTR 829} 830 831# RTL 832 833image { 834function = EXPANDER 835expander_style = COLLAPSED 836state = NORMAL 837file = "assets/pan-left.png" 838direction = RTL 839} 840 841image { 842function = EXPANDER 843expander_style = COLLAPSED 844state = PRELIGHT 845file = "assets/pan-left-alt.png" 846direction = RTL 847} 848 849image { 850function = EXPANDER 851expander_style = COLLAPSED 852state = ACTIVE 853file = "assets/pan-left-alt.png" 854direction = RTL 855} 856 857image { 858function = EXPANDER 859expander_style = COLLAPSED 860state = INSENSITIVE 861file = "assets/pan-left-disabled.png" 862direction = RTL 863} 864 865image { 866function = EXPANDER 867expander_style = SEMI_COLLAPSED 868file = "assets/pan-left-semi.png" 869direction = RTL 870} 871 872image { 873function = EXPANDER 874expander_style = SEMI_EXPANDED 875file = "assets/pan-left-semi.png" 876direction = RTL 877} 878 879############# 880# Notebooks # 881############# 882 883# Left 884 885image { 886function = EXTENSION 887state = NORMAL 888file = "assets/tab.png" 889border = {0, 2, 0, 0} 890stretch = TRUE 891gap_side = RIGHT 892} 893 894image { 895function = EXTENSION 896gap_side = RIGHT 897} 898 899# Right 900 901image { 902function = EXTENSION 903state = NORMAL 904file = "assets/tab.png" 905border = {2, 0, 0, 0} 906stretch = TRUE 907gap_side = LEFT 908} 909 910image { 911function = EXTENSION 912gap_side = LEFT 913} 914 915# Up 916 917image { 918function = EXTENSION 919state = NORMAL 920file = "assets/tab.png" 921border = {0, 0, 0, 2} 922stretch = TRUE 923gap_side = BOTTOM 924} 925 926image { 927function = EXTENSION 928gap_side = BOTTOM 929} 930 931# Down 932 933image { 934function = EXTENSION 935state = NORMAL 936file = "assets/tab.png" 937border = {0, 0, 2, 0} 938stretch = TRUE 939gap_side = TOP 940} 941 942image { 943function = EXTENSION 944gap_side = TOP 945} 946 947# Inner frame 948 949image { 950function = BOX_GAP 951detail = "notebook" 952file = "assets/frame-notebook.png" 953border = {2, 2, 2, 2} 954stretch = TRUE 955gap_file = "assets/tab.png" 956gap_border = {2, 0, 0, 0} 957gap_side = LEFT 958} 959 960image { 961function = BOX_GAP 962detail = "notebook" 963file = "assets/frame-notebook.png" 964border = {2, 2, 2, 2} 965stretch = TRUE 966gap_file = "assets/tab.png" 967gap_border = {0, 2, 0, 0} 968gap_side = RIGHT 969} 970 971image { 972function = BOX_GAP 973detail = "notebook" 974file = "assets/frame-notebook.png" 975border = {2, 2, 2, 2} 976stretch = TRUE 977gap_file = "assets/tab.png" 978gap_border = {0, 0, 2, 0} 979gap_side = TOP 980} 981 982image { 983function = BOX_GAP 984detail = "notebook" 985file = "assets/frame-notebook.png" 986border = {2, 2, 2, 2} 987stretch = TRUE 988gap_file = "assets/tab.png" 989gap_border = {0, 0, 0, 2} 990gap_side = BOTTOM 991} 992 993# Standalone frame 994image { 995function = BOX 996detail = "notebook" 997file = "assets/frame-notebook.png" 998border = {2, 2, 2, 2} 999stretch = TRUE 1000} 1001 1002############## 1003# Scrollbars # 1004############## 1005 1006image { 1007function = BOX 1008detail = "trough" 1009file = "assets/scrollbar-horz-trough.png" 1010border = {0, 0, 2, 0} 1011orientation = HORIZONTAL 1012} 1013 1014image { 1015function = BOX 1016detail = "trough" 1017file = "assets/scrollbar-vert-ltr-trough.png" 1018border = {2, 0, 0, 0} 1019orientation = VERTICAL 1020direction = LTR 1021} 1022 1023image { 1024function = BOX 1025detail = "trough" 1026file = "assets/scrollbar-vert-rtl-trough.png" 1027border = {0, 2, 0, 0} 1028orientation = VERTICAL 1029direction = RTL 1030} 1031 1032# Horizontal sliders 1033 1034image { 1035function = SLIDER 1036state = NORMAL 1037detail = "slider" 1038file = "assets/scrollbar-horz-slider.png" 1039border = {16, 16, 18, 16 } 1040stretch = TRUE 1041orientation = HORIZONTAL 1042} 1043 1044image { 1045function = SLIDER 1046state = PRELIGHT 1047detail = "slider" 1048file = "assets/scrollbar-horz-slider-hover.png" 1049border = {16, 16, 18, 16 } 1050stretch = TRUE 1051orientation = HORIZONTAL 1052} 1053 1054image { 1055function = SLIDER 1056state = ACTIVE 1057detail = "slider" 1058file = "assets/scrollbar-horz-slider-active.png" 1059border = {16, 16, 18, 16 } 1060stretch = TRUE 1061orientation = HORIZONTAL 1062} 1063 1064image { 1065function = SLIDER 1066state = INSENSITIVE 1067detail = "slider" 1068file = "assets/scrollbar-horz-slider-disabled.png" 1069border = {16, 16, 18, 16 } 1070stretch = TRUE 1071orientation = HORIZONTAL 1072} 1073 1074# Vertical sliders 1075 1076image { 1077function = SLIDER 1078state = NORMAL 1079detail = "slider" 1080file = "assets/scrollbar-vert-ltr-slider.png" 1081border = {18, 16, 16, 16} 1082stretch = TRUE 1083orientation = VERTICAL 1084direction = LTR 1085} 1086 1087image { 1088function = SLIDER 1089state = PRELIGHT 1090detail = "slider" 1091file = "assets/scrollbar-vert-ltr-slider-hover.png" 1092border = {18, 16, 16, 16} 1093stretch = TRUE 1094orientation = VERTICAL 1095direction = LTR 1096} 1097 1098image { 1099function = SLIDER 1100state = ACTIVE 1101detail = "slider" 1102file = "assets/scrollbar-vert-ltr-slider-active.png" 1103border = {18, 16, 16, 16} 1104stretch = TRUE 1105orientation = VERTICAL 1106direction = LTR 1107} 1108 1109image { 1110function = SLIDER 1111state = INSENSITIVE 1112detail = "slider" 1113file = "assets/scrollbar-vert-ltr-slider-disabled.png" 1114border = {18, 16, 16, 16} 1115stretch = TRUE 1116orientation = VERTICAL 1117direction = LTR 1118} 1119 1120# RTL 1121 1122image { 1123function = SLIDER 1124state = NORMAL 1125detail = "slider" 1126file = "assets/scrollbar-vert-rtl-slider.png" 1127border = {16, 18, 16, 16} 1128stretch = TRUE 1129orientation = VERTICAL 1130direction = RTL 1131} 1132 1133image { 1134function = SLIDER 1135state = PRELIGHT 1136detail = "slider" 1137file = "assets/scrollbar-vert-rtl-slider-hover.png" 1138border = {16, 18, 16, 16} 1139stretch = TRUE 1140orientation = VERTICAL 1141direction = RTL 1142} 1143 1144image { 1145function = SLIDER 1146state = ACTIVE 1147detail = "slider" 1148file = "assets/scrollbar-vert-rtl-slider-active.png" 1149border = {16, 18, 16, 16} 1150stretch = TRUE 1151orientation = VERTICAL 1152direction = RTL 1153} 1154 1155image { 1156function = SLIDER 1157state = INSENSITIVE 1158detail = "slider" 1159file = "assets/scrollbar-vert-rtl-slider-disabled.png" 1160border = {16, 18, 16, 16} 1161stretch = TRUE 1162orientation = VERTICAL 1163direction = RTL 1164} 1165 1166########## 1167# Scales # 1168########## 1169 1170# Troughs, overrided later on. We set them here too because some widgets 1171# don't specify their orientation. 1172 1173image { 1174function = BOX 1175detail = "trough-upper" 1176file = "assets/scale-horz-trough.png" 1177border = {12, 12, 0, 0} 1178stretch = TRUE 1179orientation = HORIZONTAL 1180} 1181 1182image { 1183function = BOX 1184state = INSENSITIVE 1185detail = "trough-upper" 1186file = "assets/scale-horz-trough-disabled.png" 1187border = {12, 12, 0, 0} 1188stretch = TRUE 1189orientation = HORIZONTAL 1190} 1191 1192image { 1193function = BOX 1194detail = "trough-lower" 1195file = "assets/scale-horz-trough-active.png" 1196border = {12, 12, 0, 0} 1197stretch = TRUE 1198orientation = HORIZONTAL 1199} 1200 1201image { 1202function = BOX 1203state = INSENSITIVE 1204detail = "trough-lower" 1205file = "assets/scale-horz-trough-disabled.png" 1206border = {12, 12, 0, 0} 1207stretch = TRUE 1208orientation = HORIZONTAL 1209} 1210 1211image { 1212function = BOX 1213detail = "trough-upper" 1214file = "assets/scale-vert-trough.png" 1215border = {0, 0, 12, 12} 1216stretch = TRUE 1217orientation = VERTICAL 1218} 1219 1220image { 1221function = BOX 1222state = INSENSITIVE 1223detail = "trough-upper" 1224file = "assets/scale-vert-trough-disabled.png" 1225border = {0, 0, 12, 12} 1226stretch = TRUE 1227orientation = VERTICAL 1228} 1229 1230image { 1231function = BOX 1232detail = "trough-lower" 1233file = "assets/scale-vert-trough-active.png" 1234border = {0, 0, 12, 12} 1235stretch = TRUE 1236orientation = VERTICAL 1237} 1238 1239image { 1240function = BOX 1241state = INSENSITIVE 1242detail = "trough-lower" 1243file = "assets/scale-vert-trough-disabled.png" 1244border = {0, 0, 12, 12} 1245stretch = TRUE 1246orientation = VERTICAL 1247} 1248 1249# Sliders 1250 1251image { 1252function = SLIDER 1253state = NORMAL 1254detail = "hscale" 1255file = "assets/scale-slider.png" 1256} 1257 1258image { 1259function = SLIDER 1260state = PRELIGHT 1261detail = "hscale" 1262file = "assets/scale-slider-hover.png" 1263} 1264 1265image { 1266function = SLIDER 1267state = ACTIVE 1268detail = "hscale" 1269file = "assets/scale-slider-active.png" 1270} 1271 1272image { 1273function = SLIDER 1274state = INSENSITIVE 1275detail = "hscale" 1276file = "assets/scale-slider-disabled.png" 1277} 1278 1279image { 1280function = SLIDER 1281state = NORMAL 1282detail = "vscale" 1283file = "assets/scale-slider.png" 1284} 1285 1286image { 1287function = SLIDER 1288state = PRELIGHT 1289detail = "vscale" 1290file = "assets/scale-slider-hover.png" 1291} 1292 1293image { 1294function = SLIDER 1295state = ACTIVE 1296detail = "vscale" 1297file = "assets/scale-slider-active.png" 1298} 1299 1300image { 1301function = SLIDER 1302state = INSENSITIVE 1303detail = "vscale" 1304file = "assets/scale-slider-disabled.png" 1305} 1306 1307########### 1308# Menubar # 1309########### 1310 1311# image { 1312# function = BOX 1313# detail = "menubar" 1314# file = "assets/border.png" 1315# border = {0, 0, 0, 2} 1316# } 1317 1318######### 1319# Menus # 1320######### 1321 1322image { 1323function = BOX 1324state = PRELIGHT 1325detail = "menu_scroll_arrow_up" 1326file = "assets/border.png" 1327} 1328 1329image { 1330function = BOX 1331detail = "menu_scroll_arrow_up" 1332file = "assets/border.png" 1333border = {0, 0, 0, 2} 1334} 1335 1336image { 1337function = BOX 1338state = PRELIGHT 1339detail = "menu_scroll_arrow_down" 1340file = "assets/border.png" 1341} 1342 1343image { 1344function = BOX 1345detail = "menu_scroll_arrow_down" 1346file = "assets/border.png" 1347border = {0, 0, 2, 0} 1348} 1349 1350########### 1351# Entries # 1352########### 1353 1354image { 1355function = SHADOW 1356state = ACTIVE 1357detail = "entry" 1358file = "assets/entry-active.png" 1359border = {16, 16, 16, 16} 1360stretch = TRUE 1361} 1362 1363image { 1364function = SHADOW 1365state = INSENSITIVE 1366detail = "entry" 1367file = "assets/entry-disabled.png" 1368border = {16, 16, 16, 16} 1369stretch = TRUE 1370} 1371 1372image { 1373function = SHADOW 1374detail = "entry" 1375file = "assets/entry.png" 1376border = {16, 16, 16, 16} 1377stretch = TRUE 1378} 1379 1380image { 1381function = FLAT_BOX 1382state = ACTIVE 1383detail = "entry_bg" 1384file = "assets/entry-background.png" 1385} 1386 1387image { 1388function = FLAT_BOX 1389state = INSENSITIVE 1390detail = "entry_bg" 1391file = "assets/entry-background-disabled.png" 1392} 1393 1394image { 1395function = FLAT_BOX 1396detail = "entry_bg" 1397file = "assets/entry-background.png" 1398} 1399 1400######### 1401# Spins # 1402######### 1403 1404# Spin-Up LTR 1405 1406image { 1407function = BOX 1408state = NORMAL 1409detail = "spinbutton_up" 1410file = "assets/spin-ltr-up.png" 1411border = {0, 16, 16, 0} 1412stretch = TRUE 1413overlay_file = "assets/pan-up.png" 1414overlay_stretch = FALSE 1415direction = LTR 1416} 1417 1418image { 1419function = BOX 1420state = PRELIGHT 1421detail = "spinbutton_up" 1422file = "assets/spin-ltr-up-hover.png" 1423border = {0, 16, 16, 0} 1424stretch = TRUE 1425overlay_file = "assets/pan-up.png" 1426overlay_stretch = FALSE 1427direction = LTR 1428} 1429 1430image { 1431function = BOX 1432state = ACTIVE 1433detail = "spinbutton_up" 1434file = "assets/spin-ltr-up-active.png" 1435border = {0, 16, 16, 0} 1436stretch = TRUE 1437overlay_file = "assets/pan-up.png" 1438overlay_stretch = FALSE 1439direction = LTR 1440} 1441 1442image { 1443function = BOX 1444state = INSENSITIVE 1445detail = "spinbutton_up" 1446file = "assets/spin-ltr-up-disabled.png" 1447border = {0, 16, 16, 0} 1448stretch = TRUE 1449overlay_file = "assets/pan-up-disabled.png" 1450overlay_stretch = FALSE 1451direction = LTR 1452} 1453 1454# Spin-Up RTL 1455 1456image { 1457function = BOX 1458state = NORMAL 1459detail = "spinbutton_up" 1460file = "assets/spin-rtl-up.png" 1461border = {16, 0, 16, 0} 1462stretch = TRUE 1463overlay_file = "assets/pan-up.png" 1464overlay_stretch = FALSE 1465direction = RTL 1466} 1467 1468image { 1469function = BOX 1470state = PRELIGHT 1471detail = "spinbutton_up" 1472file = "assets/spin-rtl-up-hover.png" 1473border = {16, 0, 16, 0} 1474stretch = TRUE 1475overlay_file = "assets/pan-up.png" 1476overlay_stretch = FALSE 1477direction = RTL 1478} 1479 1480image { 1481function = BOX 1482state = ACTIVE 1483detail = "spinbutton_up" 1484file = "assets/spin-rtl-up-hover.png" 1485border = {16, 0, 16, 0} 1486stretch = TRUE 1487overlay_file = "assets/pan-up.png" 1488overlay_stretch = FALSE 1489direction = RTL 1490} 1491 1492image { 1493function = BOX 1494state = INSENSITIVE 1495detail = "spinbutton_up" 1496file = "assets/spin-rtl-up-disabled.png" 1497border = {16, 0, 16, 0} 1498stretch = TRUE 1499overlay_file = "assets/pan-up-disabled.png" 1500overlay_stretch = FALSE 1501direction = RTL 1502} 1503 1504# Spin-Down LTR 1505 1506image { 1507function = BOX 1508state = NORMAL 1509detail = "spinbutton_down" 1510file = "assets/spin-ltr-down.png" 1511border = {0, 16, 0, 16} 1512stretch = TRUE 1513overlay_file = "assets/pan-down.png" 1514overlay_stretch = FALSE 1515direction = LTR 1516} 1517 1518image { 1519function = BOX 1520state = PRELIGHT 1521detail = "spinbutton_down" 1522file = "assets/spin-ltr-down-hover.png" 1523border = {0, 16, 0, 16} 1524stretch = TRUE 1525overlay_file = "assets/pan-down.png" 1526overlay_stretch = FALSE 1527direction = LTR 1528} 1529 1530image { 1531function = BOX 1532state = ACTIVE 1533detail = "spinbutton_down" 1534file = "assets/spin-ltr-down-active.png" 1535border = {0, 16, 0, 16} 1536stretch = TRUE 1537overlay_file = "assets/pan-down.png" 1538overlay_stretch = FALSE 1539direction = LTR 1540} 1541 1542image { 1543function = BOX 1544state = INSENSITIVE 1545detail = "spinbutton_down" 1546file = "assets/spin-ltr-down-disabled.png" 1547border = {0, 16, 0, 16} 1548stretch = TRUE 1549overlay_file = "assets/pan-down-disabled.png" 1550overlay_stretch = FALSE 1551direction = LTR 1552} 1553 1554# Spin-Down RTL 1555 1556image { 1557function = BOX 1558state = NORMAL 1559detail = "spinbutton_down" 1560file = "assets/spin-rtl-down.png" 1561border = {16, 0, 0, 16} 1562stretch = TRUE 1563overlay_file = "assets/pan-down.png" 1564overlay_stretch = FALSE 1565direction = RTL 1566} 1567 1568image { 1569function = BOX 1570state = PRELIGHT 1571detail = "spinbutton_down" 1572file = "assets/spin-rtl-down-hover.png" 1573border = {16, 0, 0, 16} 1574stretch = TRUE 1575overlay_file = "assets/pan-down.png" 1576overlay_stretch = FALSE 1577direction = RTL 1578} 1579 1580image { 1581function = BOX 1582state = ACTIVE 1583detail = "spinbutton_down" 1584file = "assets/spin-rtl-down-active.png" 1585border = {16, 0, 0, 16} 1586stretch = TRUE 1587overlay_file = "assets/pan-down.png" 1588overlay_stretch = FALSE 1589direction = RTL 1590} 1591 1592image { 1593function = BOX 1594state = INSENSITIVE 1595detail = "spinbutton_down" 1596file = "assets/spin-rtl-down-disabled.png" 1597border = {16, 0, 0, 16} 1598stretch = TRUE 1599overlay_file = "assets/pan-down-disabled.png" 1600overlay_stretch = FALSE 1601direction = RTL 1602} 1603 1604############## 1605# Scrollbars # 1606############## 1607 1608image { 1609function = BOX 1610detail = "bar" 1611file = "assets/progressbar-progress.png" 1612stretch = TRUE 1613border = {0, 0, 0, 0} 1614orientation = HORIZONTAL 1615} 1616 1617image { 1618function = BOX 1619detail = "bar" 1620file = "assets/progressbar-progress.png" 1621stretch = TRUE 1622border = {0, 0, 0, 0} 1623orientation = VERTICAL 1624} 1625 1626############# 1627# Treeviews # 1628############# 1629 1630# Disable active the column highlight 1631# We need to match specific cells or we break stuff 1632# Looking at you deadbeef 1633 1634image { 1635function = FLAT_BOX 1636detail = "cell_even_sorted" 1637state = NORMAL 1638} 1639 1640image { 1641function = FLAT_BOX 1642detail = "cell_odd_sorted" 1643state = NORMAL 1644} 1645 1646# Disable all the other shadows 1647# This prevents the Raleigh effect 1648image { 1649function = SHADOW 1650} 1651} 1652} 1653 1654style "menubar" { 1655bg[NORMAL] = @titlebar_bg_color 1656fg[NORMAL] = mix(0.7, @titlebar_fg_color, @titlebar_bg_color) 1657fg[PRELIGHT] = @titlebar_fg_color 1658fg[INSENSITIVE] = mix(0.3, @titlebar_fg_color, @titlebar_bg_color) 1659# Needed to fix Firefox's menubar text 1660bg[SELECTED] = mix(0.12, @titlebar_fg_color, @titlebar_bg_color) 1661fg[SELECTED] = @titlebar_fg_color 1662} 1663 1664style "menubar_item" { 1665xthickness = 6 1666ythickness = 8 1667 1668fg[NORMAL] = mix(0.7, @titlebar_fg_color, @titlebar_bg_color) 1669bg[PRELIGHT] = mix(0.12, @titlebar_fg_color, @titlebar_bg_color) 1670fg[PRELIGHT] = @titlebar_fg_color 1671fg[INSENSITIVE] = mix(0.3, @titlebar_fg_color, @titlebar_bg_color) 1672} 1673 1674style "menu" { 1675xthickness = 0 1676ythickness = 0 1677 1678bg[NORMAL] = @menu_color 1679bg[INSENSITIVE] = @menu_color 1680bg[PRELIGHT] = @menu_color 1681bg[SELECTED] = mix(0.08, @fg_color, @menu_color) 1682} 1683 1684style "menu_item" { 1685xthickness = 8 1686ythickness = 8 1687 1688bg[PRELIGHT] = mix(0.08, @fg_color, @menu_color) 1689fg[PRELIGHT] = @fg_color 1690# Chromium uses this setting 1691bg[SELECTED] = mix(0.08, @fg_color, @menu_color) 1692text[SELECTED] = @fg_color 1693# Some widgets use text, we need to handle that 1694text[NORMAL] = @fg_color 1695text[PRELIGHT] = @fg_color 1696 1697# Unfortunately we can't tell regular and menu checks/radios apart 1698# Without the heirarchy 1699engine "pixmap" { 1700 1701################# 1702# Check Buttons # 1703################# 1704 1705image { 1706function = CHECK 1707state = NORMAL 1708shadow = OUT 1709overlay_file = "assets/menu-checkbox-unchecked.png" 1710overlay_stretch = FALSE 1711} 1712 1713image { 1714function = CHECK 1715state = PRELIGHT 1716shadow = OUT 1717overlay_file = "assets/menu-checkbox-unchecked.png" 1718overlay_stretch = FALSE 1719} 1720 1721image { 1722function = CHECK 1723state = ACTIVE 1724shadow = OUT 1725overlay_file = "assets/menu-checkbox-unchecked.png" 1726overlay_stretch = FALSE 1727} 1728 1729image { 1730function = CHECK 1731state = INSENSITIVE 1732shadow = OUT 1733overlay_file = "assets/menu-checkbox-unchecked-disabled.png" 1734overlay_stretch = FALSE 1735} 1736 1737image { 1738function = CHECK 1739state = NORMAL 1740shadow = IN 1741overlay_file = "assets/menu-checkbox-checked.png" 1742overlay_stretch = FALSE 1743} 1744 1745image { 1746function = CHECK 1747state = PRELIGHT 1748shadow = IN 1749overlay_file = "assets/menu-checkbox-checked.png" 1750overlay_stretch = FALSE 1751} 1752 1753image { 1754function = CHECK 1755state = ACTIVE 1756shadow = IN 1757overlay_file = "assets/menu-checkbox-checked.png" 1758overlay_stretch = FALSE 1759} 1760 1761image { 1762function = CHECK 1763state = INSENSITIVE 1764shadow = IN 1765overlay_file = "assets/menu-checkbox-checked-disabled.png" 1766overlay_stretch = FALSE 1767} 1768 1769image { 1770function = CHECK 1771state = NORMAL 1772shadow = ETCHED_IN 1773overlay_file = "assets/menu-checkbox-mixed.png" 1774overlay_stretch = FALSE 1775} 1776 1777image { 1778function = CHECK 1779state = PRELIGHT 1780shadow = ETCHED_IN 1781overlay_file = "assets/menu-checkbox-mixed.png" 1782overlay_stretch = FALSE 1783} 1784 1785image { 1786function = CHECK 1787state = ACTIVE 1788shadow = ETCHED_IN 1789overlay_file = "assets/menu-checkbox-mixed.png" 1790overlay_stretch = FALSE 1791} 1792 1793image { 1794function = CHECK 1795state = INSENSITIVE 1796shadow = ETCHED_IN 1797overlay_file = "assets/menu-checkbox-mixed-disabled.png" 1798overlay_stretch = FALSE 1799} 1800 1801################# 1802# Radio Buttons # 1803################# 1804 1805image { 1806function = OPTION 1807state = NORMAL 1808shadow = OUT 1809overlay_file = "assets/menu-radio-unchecked.png" 1810overlay_stretch = FALSE 1811} 1812 1813image { 1814function = OPTION 1815state = PRELIGHT 1816shadow = OUT 1817overlay_file = "assets/menu-radio-unchecked.png" 1818overlay_stretch = FALSE 1819} 1820 1821image { 1822function = OPTION 1823state = ACTIVE 1824shadow = OUT 1825overlay_file = "assets/menu-radio-unchecked.png" 1826overlay_stretch = FALSE 1827} 1828 1829image { 1830function = OPTION 1831state = INSENSITIVE 1832shadow = OUT 1833overlay_file = "assets/menu-radio-unchecked-disabled.png" 1834overlay_stretch = FALSE 1835} 1836 1837image { 1838function = OPTION 1839state = NORMAL 1840shadow = IN 1841overlay_file = "assets/menu-radio-checked.png" 1842overlay_stretch = FALSE 1843} 1844 1845image { 1846function = OPTION 1847state = PRELIGHT 1848shadow = IN 1849overlay_file = "assets/menu-radio-checked.png" 1850overlay_stretch = FALSE 1851} 1852 1853image { 1854function = OPTION 1855state = ACTIVE 1856shadow = IN 1857overlay_file = "assets/menu-radio-checked.png" 1858overlay_stretch = FALSE 1859} 1860 1861image { 1862function = OPTION 1863state = INSENSITIVE 1864shadow = IN 1865overlay_file = "assets/menu-radio-checked-disabled.png" 1866overlay_stretch = FALSE 1867} 1868 1869image { 1870function = OPTION 1871state = NORMAL 1872shadow = ETCHED_IN 1873overlay_file = "assets/menu-radio-mixed.png" 1874overlay_stretch = FALSE 1875} 1876 1877image { 1878function = OPTION 1879state = PRELIGHT 1880shadow = ETCHED_IN 1881overlay_file = "assets/menu-radio-mixed.png" 1882overlay_stretch = FALSE 1883} 1884 1885image { 1886function = OPTION 1887state = ACTIVE 1888shadow = ETCHED_IN 1889overlay_file = "assets/menu-radio-mixed.png" 1890overlay_stretch = FALSE 1891} 1892 1893image { 1894function = OPTION 1895state = INSENSITIVE 1896shadow = ETCHED_IN 1897overlay_file = "assets/menu-radio-mixed-disabled.png" 1898overlay_stretch = FALSE 1899} 1900} 1901} 1902 1903style "separator_menu_item" { 1904xthickness = 0 1905ythickness = 4 1906 1907engine "pixmap" { 1908image { 1909function = BOX 1910file = "assets/border.png" 1911border = {0, 0, 0, 2} 1912} 1913} 1914} 1915 1916style "button_label" { 1917# fg[NORMAL] = mix(0.7, @fg_color, @bg_color) 1918# fg[INSENSITIVE] = mix(0.3, @fg_color, @bg_color) 1919 1920font_name = "Medium" 1921} 1922 1923style "normal_button_label" { 1924# fg[NORMAL] = @fg_color 1925# fg[INSENSITIVE] = mix(0.5, @fg_color, @bg_color) 1926 1927font_name = "Regular" 1928} 1929 1930style "button" { 1931xthickness = 8 1932ythickness = 8 1933 1934# For the sake of sanity style buttons this way 1935engine "pixmap" { 1936 1937########### 1938# Buttons # 1939########### 1940 1941image { 1942function = BOX 1943state = NORMAL 1944file = "assets/button.png" 1945border = {16, 16, 16, 16} 1946stretch = TRUE 1947} 1948 1949image { 1950function = BOX 1951state = PRELIGHT 1952shadow = OUT 1953file = "assets/button-hover.png" 1954border = {16, 16, 16, 16} 1955stretch = TRUE 1956} 1957 1958# Don't add hover effect on pressed buttons 1959image { 1960function = BOX 1961state = PRELIGHT 1962shadow = IN 1963file = "assets/button-active.png" 1964border = {16, 16, 16, 16} 1965stretch = TRUE 1966} 1967 1968image { 1969function = BOX 1970state = ACTIVE 1971file = "assets/button-active.png" 1972border = {16, 16, 16, 16} 1973stretch = TRUE 1974} 1975 1976image { 1977function = BOX 1978state = INSENSITIVE 1979file = "assets/button-disabled.png" 1980border = {16, 16, 16, 16} 1981stretch = TRUE 1982} 1983} 1984} 1985 1986style "link_button" { 1987# Disable the button effect, leave just the link 1988engine "pixmap" { 1989image { 1990function = BOX 1991} 1992} 1993} 1994 1995style "entry" { 1996base[NORMAL] = @bg_color 1997base[SELECTED] = mix (0.24, @selected_bg_color, @bg_color) 1998base[INSENSITIVE] = @bg_color 1999base[ACTIVE] = mix (0.24, @selected_bg_color, @bg_color) 2000 2001# We set this same as the border of the border of the entry 2002# This way there's no overlap 2003xthickness = 12 2004ythickness = 12 2005} 2006 2007style "combobox" { 2008xthickness = 12 2009ythickness = 12 2010 2011# This affects only the button beside an entry 2012GtkButton::inner-border = {0, 0, 0, 0} 2013 2014# For the sake of sanity style buttons this way 2015engine "pixmap" { 2016 2017########### 2018# Buttons # 2019########### 2020 2021image { 2022function = BOX 2023state = NORMAL 2024file = "assets/entry.png" 2025border = {16, 16, 16, 16} 2026stretch = TRUE 2027} 2028 2029image { 2030function = BOX 2031state = PRELIGHT 2032file = "assets/entry-hover.png" 2033border = {16, 16, 16, 16} 2034stretch = TRUE 2035} 2036 2037image { 2038function = BOX 2039state = ACTIVE 2040file = "assets/entry-active.png" 2041border = {16, 16, 16, 16} 2042stretch = TRUE 2043} 2044 2045image { 2046function = BOX 2047state = INSENSITIVE 2048file = "assets/entry-disabled.png" 2049border = {16, 16, 16, 16} 2050stretch = TRUE 2051} 2052} 2053} 2054 2055style "combobox_cellview" { 2056# text[NORMAL] = mix(0.7, @fg_color, @bg_color) 2057# text[INSENSITIVE] = mix(0.3, @fg_color, @bg_color) 2058} 2059 2060style "combobox_entry" { 2061# Since one side of the button is missing, we need to shift the arrow a little to the right 2062GtkButton::inner-border = {0, 4, 0, 0} 2063 2064engine "pixmap" { 2065 2066############# 2067# LTR entry # 2068############# 2069 2070image { 2071function = SHADOW 2072state = NORMAL 2073detail = "entry" 2074file = "assets/combo-left-entry.png" 2075border = {16, 16, 16, 16} 2076stretch = TRUE 2077direction = LTR 2078} 2079 2080image { 2081function = SHADOW 2082state = ACTIVE 2083detail = "entry" 2084file = "assets/combo-left-entry-active.png" 2085border = {16, 16, 16, 16} 2086stretch = TRUE 2087direction = LTR 2088} 2089 2090image { 2091function = SHADOW 2092state = INSENSITIVE 2093detail = "entry" 2094file = "assets/combo-left-entry-disabled.png" 2095border = {16, 16, 16, 16} 2096stretch = TRUE 2097direction = LTR 2098} 2099 2100############# 2101# RTL entry # 2102############# 2103 2104image { 2105function = SHADOW 2106state = NORMAL 2107detail = "entry" 2108file = "assets/combo-right-entry.png" 2109border = {16, 16, 16, 16} 2110stretch = TRUE 2111direction = RTL 2112} 2113 2114image { 2115function = SHADOW 2116state = ACTIVE 2117detail = "entry" 2118file = "assets/combo-right-entry-active.png" 2119border = {16, 16, 16, 16} 2120stretch = TRUE 2121direction = RTL 2122} 2123 2124image { 2125function = SHADOW 2126state = INSENSITIVE 2127detail = "entry" 2128file = "assets/combo-right-entry-disabled.png" 2129border = {16, 16, 16, 16} 2130stretch = TRUE 2131direction = RTL 2132} 2133 2134############## 2135# LTR button # 2136############## 2137 2138image { 2139function = BOX 2140state = NORMAL 2141detail = "button" 2142file = "assets/combo-right-entry.png" 2143border = {0, 16, 16, 16} 2144stretch = TRUE 2145direction = LTR 2146} 2147 2148image { 2149function = BOX 2150state = PRELIGHT 2151detail = "button" 2152file = "assets/combo-right-entry-hover.png" 2153border = {0, 16, 16, 16} 2154stretch = TRUE 2155direction = LTR 2156} 2157 2158image { 2159function = BOX 2160state = ACTIVE 2161detail = "button" 2162file = "assets/combo-right-entry-active.png" 2163border = {0, 16, 16, 16} 2164stretch = TRUE 2165direction = LTR 2166} 2167 2168image { 2169function = BOX 2170state = INSENSITIVE 2171detail = "button" 2172file = "assets/combo-right-entry-disabled.png" 2173border = {0, 16, 16, 16} 2174stretch = TRUE 2175direction = LTR 2176} 2177 2178############## 2179# RTL button # 2180############## 2181 2182image { 2183function = BOX 2184state = NORMAL 2185detail = "button" 2186file = "assets/combo-left-entry.png" 2187border = {16, 0, 16, 16} 2188stretch = TRUE 2189direction = RTL 2190} 2191 2192image { 2193function = BOX 2194state = PRELIGHT 2195detail = "button" 2196file = "assets/combo-left-entry-hover.png" 2197border = {16, 0, 16, 16} 2198stretch = TRUE 2199direction = RTL 2200} 2201 2202image { 2203function = BOX 2204state = ACTIVE 2205detail = "button" 2206file = "assets/combo-left-entry-active.png" 2207border = {16, 0, 16, 16} 2208stretch = TRUE 2209direction = RTL 2210} 2211 2212image { 2213function = BOX 2214state = INSENSITIVE 2215detail = "button" 2216file = "assets/combo-left-entry-disabled.png" 2217border = {16, 0, 16, 16} 2218stretch = TRUE 2219direction = RTL 2220} 2221} 2222} 2223 2224style "combo_button_padding" { 2225# Since one side of the button is missing, we need to shift the arrow a 2226# little to the right. 2227# This is the same thing we've done above but the combo, unlike the combobox, 2228# uses padding the same way as a button. 2229GtkButton::inner-border = {6, 12, 6, 6} 2230} 2231 2232style "notebook" { 2233xthickness = 6 2234ythickness = 6 2235} 2236 2237style "notebook_tab_label" { 2238fg[ACTIVE] = mix(0.7, @fg_color, @bg_color) 2239 2240font_name = "Medium" 2241} 2242 2243style "notebook_viewport" { 2244bg[NORMAL] = @base_color 2245} 2246 2247style "notebook_bg" { 2248bg[NORMAL] = @base_color 2249bg[PRELIGHT] = @base_color 2250bg[INSENSITIVE] = @base_color 2251} 2252 2253style "notebook_entry" { 2254base[NORMAL] = @base_color 2255base[SELECTED] = mix (0.24, @selected_bg_color, @base_color) 2256base[INSENSITIVE] = @base_color 2257base[ACTIVE] = mix (0.24, @selected_bg_color, @base_color) 2258} 2259 2260style "normal_bg" { 2261bg[NORMAL] = @bg_color 2262bg[PRELIGHT] = @bg_color 2263bg[INSENSITIVE] = @bg_color 2264} 2265 2266style "normal_entry" { 2267base[NORMAL] = @bg_color 2268base[SELECTED] = mix (0.24, @selected_bg_color, @bg_color) 2269base[INSENSITIVE] = @bg_color 2270base[ACTIVE] = mix (0.24, @selected_bg_color, @bg_color) 2271} 2272 2273style "textview" { 2274bg[NORMAL] = @base_color 2275} 2276 2277style "scale_horz" { 2278engine "pixmap" { 2279image { 2280function = BOX 2281detail = "trough-upper" 2282file = "assets/scale-horz-trough.png" 2283border = {12, 12, 0, 0} 2284stretch = TRUE 2285} 2286 2287image { 2288function = BOX 2289detail = "trough-lower" 2290file = "assets/scale-horz-trough-active.png" 2291border = {12, 12, 0, 0} 2292stretch = TRUE 2293} 2294} 2295} 2296 2297style "scale_vert" { 2298engine "pixmap" { 2299image { 2300function = BOX 2301detail = "trough-upper" 2302file = "assets/scale-vert-trough.png" 2303border = {0, 0, 12, 12} 2304stretch = TRUE 2305} 2306 2307image { 2308function = BOX 2309detail = "trough-lower" 2310file = "assets/scale-vert-trough-active.png" 2311border = {0, 0, 12, 12} 2312stretch = TRUE 2313} 2314} 2315} 2316 2317style "progressbar" { 2318xthickness = 0 2319ythickness = 0 2320 2321fg[PRELIGHT] = @selected_fg_color 2322 2323engine "pixmap" { 2324image { 2325function = BOX 2326detail = "trough" 2327file = "assets/progressbar-trough.png" 2328border = {0, 0, 0, 0} 2329stretch = TRUE 2330orientation = HORIZONTAL 2331} 2332 2333image { 2334function = BOX 2335detail = "trough" 2336file = "assets/progressbar-trough.png" 2337border = {0, 0, 0, 0} 2338stretch = TRUE 2339orientation = VERTICAL 2340} 2341} 2342} 2343 2344style "treeview_header" { 2345xthickness = 4 2346ythickness = 4 2347 2348fg[NORMAL] = mix(0.7, @fg_color, @base_color) 2349fg[PRELIGHT] = mix(0.7, @fg_color, @base_color) 2350fg[ACTIVE] = mix(0.7, @fg_color, @base_color) 2351 2352font_name = "Medium" 2353 2354GtkButton::inner-border = {8, 8, 0, 4} 2355 2356engine "pixmap" { 2357image { 2358function = BOX 2359state = NORMAL 2360file = "assets/treeview-ltr-button.png" 2361border = {0, 2, 0, 2} 2362stretch = TRUE 2363direction = LTR 2364} 2365 2366image { 2367function = BOX 2368state = PRELIGHT 2369file = "assets/treeview-ltr-button-hover.png" 2370border = {0, 2, 0, 2} 2371stretch = TRUE 2372direction = LTR 2373} 2374 2375image { 2376function = BOX 2377state = ACTIVE 2378file = "assets/treeview-ltr-button-active.png" 2379border = {0, 2, 0, 2} 2380stretch = TRUE 2381direction = LTR 2382} 2383 2384image { 2385function = BOX 2386state = NORMAL 2387file = "assets/treeview-rtl-button.png" 2388border = {2, 0, 0, 2} 2389stretch = TRUE 2390direction = RTL 2391} 2392 2393image { 2394function = BOX 2395state = PRELIGHT 2396file = "assets/treeview-rtl-button-hover.png" 2397border = {2, 0, 0, 2} 2398stretch = TRUE 2399direction = RTL 2400} 2401 2402image { 2403function = BOX 2404state = ACTIVE 2405file = "assets/treeview-rtl-button-active.png" 2406border = {2, 0, 0, 2} 2407stretch = TRUE 2408direction = RTL 2409} 2410 2411image { 2412function = ARROW 2413state = NORMAL 2414overlay_file = "assets/pan-up.png" 2415overlay_stretch = FALSE 2416arrow_direction = UP 2417} 2418 2419image { 2420function = ARROW 2421state = PRELIGHT 2422overlay_file = "assets/pan-up.png" 2423overlay_stretch = FALSE 2424arrow_direction = UP 2425} 2426 2427image { 2428function = ARROW 2429state = ACTIVE 2430overlay_file = "assets/pan-up.png" 2431overlay_stretch = FALSE 2432arrow_direction = UP 2433} 2434 2435image { 2436function = ARROW 2437state = NORMAL 2438overlay_file = "assets/pan-down.png" 2439overlay_stretch = FALSE 2440arrow_direction = DOWN 2441} 2442 2443image { 2444function = ARROW 2445state = PRELIGHT 2446overlay_file = "assets/pan-down.png" 2447overlay_stretch = FALSE 2448arrow_direction = DOWN 2449} 2450 2451image { 2452function = ARROW 2453state = ACTIVE 2454overlay_file = "assets/pan-down.png" 2455overlay_stretch = FALSE 2456arrow_direction = DOWN 2457} 2458} 2459} 2460 2461style "scrolled_window" { 2462engine "pixmap" { 2463image { 2464function = SHADOW 2465file = "assets/frame.png" 2466border = {2, 2, 2, 2} 2467stretch = TRUE 2468} 2469} 2470} 2471 2472style "frame" { 2473engine "pixmap" { 2474image { 2475function = SHADOW 2476shadow = NONE 2477} 2478 2479image { 2480function = SHADOW 2481file = "assets/frame.png" 2482border = {2, 2, 2, 2} 2483stretch = TRUE 2484} 2485 2486image { 2487function = SHADOW_GAP 2488file = "assets/frame.png" 2489border = {2, 2, 2, 2} 2490stretch = TRUE 2491gap_start_file = "assets/border.png" 2492gap_end_file = "assets/border.png" 2493} 2494} 2495} 2496 2497style "tool_button" { 2498GtkButton::inner-border = {4, 4, 4, 4} 2499 2500# For the sake of sanity style buttons this way 2501engine "pixmap" { 2502image { 2503function = BOX 2504state = NORMAL 2505file = "assets/flat-button.png" 2506border = {16, 16, 16, 16} 2507stretch = TRUE 2508} 2509 2510image { 2511function = BOX 2512state = PRELIGHT 2513shadow = OUT 2514file = "assets/flat-button-hover.png" 2515border = {16, 16, 16, 16} 2516stretch = TRUE 2517} 2518 2519# Don't add hover effect on pressed buttons 2520image { 2521function = BOX 2522state = PRELIGHT 2523shadow = IN 2524file = "assets/flat-button-active.png" 2525border = {16, 16, 16, 16} 2526stretch = TRUE 2527} 2528 2529image { 2530function = BOX 2531state = ACTIVE 2532file = "assets/flat-button-active.png" 2533border = {16, 16, 16, 16} 2534stretch = TRUE 2535} 2536 2537image { 2538function = BOX 2539state = INSENSITIVE 2540shadow = OUT 2541file = "assets/flat-button-disabled.png" 2542border = {16, 16, 16, 16} 2543stretch = TRUE 2544} 2545 2546image { 2547function = BOX 2548state = INSENSITIVE 2549shadow = IN 2550file = "assets/button-disabled.png" 2551border = {16, 16, 16, 16} 2552stretch = TRUE 2553} 2554} 2555} 2556 2557style "toolbar_separator" { 2558GtkWidget::wide-separators = 1 2559GtkWidget::separator-width = 2 2560GtkWidget::separator-height = 2 2561 2562engine "pixmap" { 2563image { 2564function = BOX 2565file = "assets/border.png" 2566} 2567} 2568} 2569 2570style "inline_toolbar" { 2571# GtkToolbar::button-relief = GTK_RELIEF_NORMAL 2572 2573engine "pixmap" { 2574image { 2575function = BOX 2576file = "assets/frame-inline.png" 2577border = {2, 2, 0, 2} 2578stretch = TRUE 2579} 2580} 2581} 2582 2583style "tooltip" { 2584xthickness = 16 2585ythickness = 16 2586 2587bg[NORMAL] = @tooltip_bg_color 2588fg[NORMAL] = @tooltip_fg_color 2589bg[SELECTED] = @tooltip_bg_color 2590} 2591 2592style "disable_text_shadow" { 2593engine "murrine" { 2594textstyle = 0 2595} 2596} 2597 2598style "disable_separator" { 2599xthickness = 0 2600ythickness = 0 2601 2602GtkWidget::wide-separators = 1 2603} 2604 2605# Default style, containing theme properties and trying to match every widget as 2606# much as possible, which is not only faster than trying to match every widget 2607# by its own but also less bug-prune and more consistent. However there is some 2608# widget specific stuff that needs to be taken care of, which is the point of 2609# every other style below. 2610class "GtkWidget" style "default" 2611 2612###################################### 2613# Override padding, style and colour # 2614###################################### 2615 2616class "GtkButton" style "button" 2617class "GtkLinkButton" style "link_button" 2618class "GtkEntry" style "entry" 2619class "GtkOldEditable" style "entry" 2620class "GtkNotebook" style "notebook" 2621class "GtkHScale" style "scale_horz" 2622class "GtkVScale" style "scale_vert" 2623class "GtkProgressBar" style "progressbar" 2624class "GtkScrolledWindow" style "scrolled_window" 2625class "GtkFrame" style "frame" 2626class "GtkSeparatorToolItem" style "toolbar_separator" 2627class "GtkMenuBar" style "menubar" 2628class "GtkMenu" style "menu" 2629class "GtkTextView" style "textview" 2630 2631# Menu and menubar items 2632widget_class "*<GtkMenuItem>*" style "menu_item" 2633widget_class "*<GtkMenuBar>.<GtkMenuItem>*" style "menubar_item" 2634widget_class "*<GtkSeparatorMenuItem>*" style "separator_menu_item" 2635 2636# Treeview buttons 2637widget_class "*<GtkTreeView>*<GtkButton>*" style "treeview_header" 2638 2639# Give the file chooser toolbar a border 2640widget_class "*<GtkFileChooserDefault>*<GtkToolbar>" style "inline_toolbar" 2641 2642# Fix padding on regular comboboxes 2643widget_class "*<GtkComboBox>.<GtkButton>" style "combobox" 2644widget_class "*<GtkOptionMenu>" style "combobox" 2645 2646# And disable separators on them 2647widget_class "*<GtkComboBox>.<GtkButton>*<GtkSeparator>" style "disable_separator" 2648widget_class "*<GtkFontButton>*<GtkSeparator>" style "disable_separator" 2649widget_class "*<GtkFileChooserButton>*<GtkSeparator>" style "disable_separator" 2650 2651# Join together the ComboBoxEntry entry and button 2652widget_class "*<GtkComboBoxEntry>*" style "combobox_entry" 2653 2654# Join the Combo entry and button 2655widget_class "*<GtkCombo>*" style "combobox_entry" 2656 2657# Tweak the padding on the button a little bit because it 2658# uses it a bit differently 2659widget_class "*<GtkCombo>.<GtkButton>" style "combo_button_padding" 2660 2661# Alas we cannot do the same for ComboBoxText because there 2662# isn't a way to apply the style to only the comboboxes that 2663# have an entry inside 2664 2665# Tool buttons have different styles 2666widget_class "*<GtkToolButton>*<GtkButton>" style "tool_button" 2667widget_class "*<GtkVBox>*<GtkEventBox>.<GtkToolbar>*<GtkButton>" style "tool_button" 2668 2669# Notebooks 2670widget_class "*<GtkNotebook>.<GtkLabel>" style "notebook_tab_label" 2671widget_class "*<GtkNotebook>.<GtkHBox>.<GtkLabel>" style "notebook_tab_label" 2672 2673# Notebooks are white, act accordingly 2674widget_class "*<GtkNotebook>*<GtkEntry>" style "notebook_entry" 2675widget_class "*<GtkNotebook>*<GtkProgressBar>" style "notebook_bg" 2676widget_class "*<GtkNotebook>*<GtkSpinButton>" style "notebook_bg" 2677widget_class "*<GtkNotebook>*<GtkScrolledWindow>*<GtkViewport>" style "notebook_bg" 2678widget_class "*<GtkNotebook>*<GimpRuler>" style "notebook_bg" 2679widget_class "*<GtkNotebook>.<GimpDisplayShell>*<GtkEventBox>" style "notebook_bg" 2680 2681# However, stuff inside eventboxes inside notebooks is grey 2682# again, react 2683widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkEntry>" style "normal_entry" 2684widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkProgressBar>" style "normal_bg" 2685widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkSpinButton>" style "normal_bg" 2686 2687# Button labels 2688widget_class "*<GtkButton>.<GtkLabel>" style "button_label" 2689 2690# Normalize button labels 2691widget_class "*<GtkCheckButton>.<GtkLabel>" style "normal_button_label" 2692widget_class "*<GtkOptionMenu>.<GtkLabel>" style "normal_button_label" 2693 2694# ComboBoxes tend to draw the button label with text[] 2695# instead of fg[], we need to fix that 2696widget_class "*<GtkComboBox>*<GtkCellView>" style "combobox_cellview" 2697 2698# Disable white text shadows 2699widget_class "*<GtkLabel>" style "disable_text_shadow" 2700widget_class "*<GtkCellView>" style "disable_text_shadow" 2701 2702# GTK tooltips 2703widget "gtk-tooltip*" style "tooltip" 2704