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