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_bg_color 1654fg[NORMAL] = mix(0.75, @headerbar_fg_color, @headerbar_bg_color) 1655fg[PRELIGHT] = @headerbar_fg_color 1656fg[INSENSITIVE] = mix(0.3, @headerbar_fg_color, @headerbar_bg_color) 1657# Needed to fix Firefox's menubar text 1658bg[SELECTED] = mix(0.15, @headerbar_fg_color, @headerbar_bg_color) 1659fg[SELECTED] = @headerbar_fg_color 1660 1661} 1662 1663style "menubar_item" { 1664 1665xthickness = 3 1666ythickness = 4 1667 1668fg[NORMAL] = mix(0.75, @headerbar_fg_color, @headerbar_bg_color) 1669bg[PRELIGHT] = mix(0.15, @headerbar_fg_color, @headerbar_bg_color) 1670fg[PRELIGHT] = @headerbar_fg_color 1671fg[INSENSITIVE] = mix(0.3, @headerbar_fg_color, @headerbar_bg_color) 1672 1673} 1674 1675style "menu" { 1676 1677xthickness = 0 1678ythickness = 0 1679 1680bg[NORMAL] = @base_color 1681bg[INSENSITIVE] = @base_color 1682bg[PRELIGHT] = @base_color 1683bg[SELECTED] = mix(0.15, @fg_color, @base_color) 1684 1685} 1686 1687style "menu_item" { 1688 1689xthickness = 4 1690ythickness = 4 1691 1692bg[PRELIGHT] = mix(0.15, @fg_color, @base_color) 1693fg[PRELIGHT] = @fg_color 1694# Chromium uses this setting 1695bg[SELECTED] = mix(0.15, @fg_color, @base_color) 1696text[SELECTED] = @fg_color 1697 1698# Some widgets use text, we need to handle that 1699text[NORMAL] = @fg_color 1700text[PRELIGHT] = @fg_color 1701 1702# Unfortunately we can't tell regular and menu checks/radios apart 1703# Without the heirarchy 1704engine "pixmap" { 1705 1706################# 1707# Check Buttons # 1708################# 1709 1710image { 1711function = CHECK 1712state = NORMAL 1713shadow = OUT 1714overlay_file = "assets/menu-checkbox.png" 1715overlay_stretch = FALSE 1716} 1717 1718image { 1719function = CHECK 1720state = PRELIGHT 1721shadow = OUT 1722overlay_file = "assets/menu-checkbox.png" 1723overlay_stretch = FALSE 1724} 1725 1726image { 1727function = CHECK 1728state = ACTIVE 1729shadow = OUT 1730overlay_file = "assets/menu-checkbox.png" 1731overlay_stretch = FALSE 1732} 1733 1734image { 1735function = CHECK 1736state = INSENSITIVE 1737shadow = OUT 1738overlay_file = "assets/menu-checkbox-insensitive.png" 1739overlay_stretch = FALSE 1740} 1741 1742image { 1743function = CHECK 1744state = NORMAL 1745shadow = IN 1746overlay_file = "assets/menu-checkbox-checked.png" 1747overlay_stretch = FALSE 1748} 1749 1750image { 1751function = CHECK 1752state = PRELIGHT 1753shadow = IN 1754overlay_file = "assets/menu-checkbox-checked.png" 1755overlay_stretch = FALSE 1756} 1757 1758image { 1759function = CHECK 1760state = ACTIVE 1761shadow = IN 1762overlay_file = "assets/menu-checkbox-checked.png" 1763overlay_stretch = FALSE 1764} 1765 1766image { 1767function = CHECK 1768state = INSENSITIVE 1769shadow = IN 1770overlay_file = "assets/menu-checkbox-checked-insensitive.png" 1771overlay_stretch = FALSE 1772} 1773 1774image { 1775function = CHECK 1776state = NORMAL 1777shadow = ETCHED_IN 1778overlay_file = "assets/menu-checkbox-mixed.png" 1779overlay_stretch = FALSE 1780} 1781 1782image { 1783function = CHECK 1784state = PRELIGHT 1785shadow = ETCHED_IN 1786overlay_file = "assets/menu-checkbox-mixed.png" 1787overlay_stretch = FALSE 1788} 1789 1790image { 1791function = CHECK 1792state = ACTIVE 1793shadow = ETCHED_IN 1794overlay_file = "assets/menu-checkbox-mixed.png" 1795overlay_stretch = FALSE 1796} 1797 1798image { 1799function = CHECK 1800state = INSENSITIVE 1801shadow = ETCHED_IN 1802overlay_file = "assets/menu-checkbox-mixed-insensitive.png" 1803overlay_stretch = FALSE 1804} 1805 1806################# 1807# Radio Buttons # 1808################# 1809 1810image { 1811function = OPTION 1812state = NORMAL 1813shadow = OUT 1814overlay_file = "assets/menu-radio.png" 1815overlay_stretch = FALSE 1816} 1817 1818image { 1819function = OPTION 1820state = PRELIGHT 1821shadow = OUT 1822overlay_file = "assets/menu-radio.png" 1823overlay_stretch = FALSE 1824} 1825 1826image { 1827function = OPTION 1828state = ACTIVE 1829shadow = OUT 1830overlay_file = "assets/menu-radio.png" 1831overlay_stretch = FALSE 1832} 1833 1834image { 1835function = OPTION 1836state = INSENSITIVE 1837shadow = OUT 1838overlay_file = "assets/menu-radio-insensitive.png" 1839overlay_stretch = FALSE 1840} 1841 1842image { 1843function = OPTION 1844state = NORMAL 1845shadow = IN 1846overlay_file = "assets/menu-radio-checked.png" 1847overlay_stretch = FALSE 1848} 1849 1850image { 1851function = OPTION 1852state = PRELIGHT 1853shadow = IN 1854overlay_file = "assets/menu-radio-checked.png" 1855overlay_stretch = FALSE 1856} 1857 1858image { 1859function = OPTION 1860state = ACTIVE 1861shadow = IN 1862overlay_file = "assets/menu-radio-checked.png" 1863overlay_stretch = FALSE 1864} 1865 1866image { 1867function = OPTION 1868state = INSENSITIVE 1869shadow = IN 1870overlay_file = "assets/menu-radio-checked-insensitive.png" 1871overlay_stretch = FALSE 1872} 1873 1874image { 1875function = OPTION 1876state = NORMAL 1877shadow = ETCHED_IN 1878overlay_file = "assets/menu-radio-mixed.png" 1879overlay_stretch = FALSE 1880} 1881 1882image { 1883function = OPTION 1884state = PRELIGHT 1885shadow = ETCHED_IN 1886overlay_file = "assets/menu-radio-mixed.png" 1887overlay_stretch = FALSE 1888} 1889 1890image { 1891function = OPTION 1892state = ACTIVE 1893shadow = ETCHED_IN 1894overlay_file = "assets/menu-radio-mixed.png" 1895overlay_stretch = FALSE 1896} 1897 1898image { 1899function = OPTION 1900state = INSENSITIVE 1901shadow = ETCHED_IN 1902overlay_file = "assets/menu-radio-mixed-insensitive.png" 1903overlay_stretch = FALSE 1904} 1905 1906 1907 1908} 1909 1910} 1911 1912style "separator_menu_item" { 1913 1914xthickness = 0 1915ythickness = 2 1916 1917engine "pixmap" { 1918image { 1919function = BOX 1920file = "assets/border.png" 1921border = {0, 0, 0, 1} 1922} 1923} 1924 1925} 1926 1927style "button_label" { 1928fg[NORMAL] = mix(0.75, @fg_color, @bg_color) 1929# fg[INSENSITIVE] = mix(0.3, @fg_color, @bg_color) 1930 1931font_name = "Medium" 1932} 1933 1934style "checkbutton_label" { 1935fg[NORMAL] = @fg_color 1936# fg[INSENSITIVE] = mix(0.4, @fg_color, @bg_color) 1937 1938font_name = "Regular" 1939} 1940 1941style "button" { 1942 1943xthickness = 4 1944ythickness = 4 1945 1946# For the sake of sanity style buttons this way 1947engine "pixmap" { 1948 1949########### 1950# Buttons # 1951########### 1952 1953image { 1954function = BOX 1955state = NORMAL 1956file = "assets/button.png" 1957border = {8, 8, 8, 8} 1958stretch = TRUE 1959} 1960 1961image { 1962function = BOX 1963state = PRELIGHT 1964shadow = OUT 1965file = "assets/button-hover.png" 1966border = {8, 8, 8, 8} 1967stretch = TRUE 1968} 1969 1970# Don't add hover effect on pressed buttons 1971image { 1972function = BOX 1973state = PRELIGHT 1974shadow = IN 1975file = "assets/button-active.png" 1976border = {8, 8, 8, 8} 1977stretch = TRUE 1978} 1979 1980image { 1981function = BOX 1982state = ACTIVE 1983file = "assets/button-active.png" 1984border = {8, 8, 8, 8} 1985stretch = TRUE 1986} 1987 1988image { 1989function = BOX 1990state = INSENSITIVE 1991file = "assets/button-insensitive.png" 1992border = {8, 8, 8, 8} 1993stretch = TRUE 1994} 1995} 1996} 1997 1998style "link_button" { 1999 2000# Disable the button effect, leave just the link 2001engine "pixmap" { 2002image { 2003function = BOX 2004} 2005} 2006 2007} 2008 2009style "entry" { 2010 2011# We set this same as the border of the border of the entry 2012# This way there's no overlap 2013xthickness = 4 2014ythickness = 4 2015 2016} 2017 2018style "spinbutton" { 2019 2020xthickness = 6 2021ythickness = 4 2022 2023} 2024 2025style "combobox" { 2026 2027xthickness = 6 2028ythickness = 6 2029 2030# This affects only the button beside an entry 2031GtkButton::inner-border = {0, 0, 0, 0} 2032 2033} 2034 2035style "combobox_cellview" { 2036text[NORMAL] = mix(0.75, @fg_color, @bg_color) 2037# text[INSENSITIVE] = mix(0.3, @fg_color, @bg_color) 2038 2039font_name = "Medium" 2040} 2041 2042style "combobox_entry" { 2043 2044# Since one side of the button is missing, we need to shift the arrow a little to the right 2045GtkButton::inner-border = {0, 3, 0, 0} 2046 2047engine "pixmap" { 2048 2049############# 2050# LTR entry # 2051############# 2052 2053image { 2054function = SHADOW 2055state = NORMAL 2056detail = "entry" 2057file = "assets/combo-entry-ltr-entry.png" 2058border = {8, 0, 8, 8} 2059stretch = TRUE 2060direction = LTR 2061} 2062 2063image { 2064function = SHADOW 2065state = ACTIVE 2066detail = "entry" 2067file = "assets/combo-entry-ltr-entry-active.png" 2068border = {8, 0, 8, 8} 2069stretch = TRUE 2070direction = LTR 2071} 2072 2073image { 2074function = SHADOW 2075state = INSENSITIVE 2076detail = "entry" 2077file = "assets/combo-entry-ltr-entry-insensitive.png" 2078border = {8, 0, 8, 8} 2079stretch = TRUE 2080direction = LTR 2081} 2082 2083############# 2084# RTL entry # 2085############# 2086 2087image { 2088function = SHADOW 2089state = NORMAL 2090detail = "entry" 2091file = "assets/combo-entry-rtl-entry.png" 2092border = {0, 8, 8, 8} 2093stretch = TRUE 2094direction = RTL 2095} 2096 2097image { 2098function = SHADOW 2099state = ACTIVE 2100detail = "entry" 2101file = "assets/combo-entry-rtl-entry-active.png" 2102border = {0, 8, 8, 8} 2103stretch = TRUE 2104direction = RTL 2105} 2106 2107image { 2108function = SHADOW 2109state = INSENSITIVE 2110detail = "entry" 2111file = "assets/combo-entry-rtl-entry-insensitive.png" 2112border = {0, 8, 8, 8} 2113stretch = TRUE 2114direction = RTL 2115} 2116 2117############## 2118# LTR button # 2119############## 2120 2121image { 2122function = BOX 2123state = NORMAL 2124detail = "button" 2125file = "assets/combo-entry-ltr-button.png" 2126border = {0, 8, 8, 8} 2127stretch = TRUE 2128direction = LTR 2129} 2130 2131image { 2132function = BOX 2133state = PRELIGHT 2134detail = "button" 2135file = "assets/combo-entry-ltr-button-hover.png" 2136border = {0, 8, 8, 8} 2137stretch = TRUE 2138direction = LTR 2139} 2140 2141image { 2142function = BOX 2143state = ACTIVE 2144detail = "button" 2145file = "assets/combo-entry-ltr-button-active.png" 2146border = {0, 8, 8, 8} 2147stretch = TRUE 2148direction = LTR 2149} 2150 2151image { 2152function = BOX 2153state = INSENSITIVE 2154detail = "button" 2155file = "assets/combo-entry-ltr-button-insensitive.png" 2156border = {0, 8, 8, 8} 2157stretch = TRUE 2158direction = LTR 2159} 2160 2161############## 2162# RTL button # 2163############## 2164 2165image { 2166function = BOX 2167state = NORMAL 2168detail = "button" 2169file = "assets/combo-entry-rtl-button.png" 2170border = {8, 0, 8, 8} 2171stretch = TRUE 2172direction = RTL 2173} 2174 2175image { 2176function = BOX 2177state = PRELIGHT 2178detail = "button" 2179file = "assets/combo-entry-rtl-button-hover.png" 2180border = {8, 0, 8, 8} 2181stretch = TRUE 2182direction = RTL 2183} 2184 2185image { 2186function = BOX 2187state = ACTIVE 2188detail = "button" 2189file = "assets/combo-entry-rtl-button-active.png" 2190border = {8, 0, 8, 8} 2191stretch = TRUE 2192direction = RTL 2193} 2194 2195image { 2196function = BOX 2197state = INSENSITIVE 2198detail = "button" 2199file = "assets/combo-entry-rtl-button-insensitive.png" 2200border = {8, 0, 8, 8} 2201stretch = TRUE 2202direction = RTL 2203} 2204 2205} 2206 2207} 2208 2209style "combo_button_padding" { 2210 2211# Since one side of the button is missing, we need to shift the arrow a little to the right 2212# This is the same thing we've done above but the combo, unlike the combobox, 2213# uses padding the same way as a button 2214GtkButton::inner-border = {4, 7, 4, 4} 2215 2216} 2217 2218style "notebook" { 2219 2220xthickness = 3 2221ythickness = 3 2222 2223} 2224 2225style "notebook_tab_label" { 2226fg[ACTIVE] = mix(0.75, @fg_color, @bg_color) 2227 2228font_name = "Medium" 2229} 2230 2231style "notebook_viewport" { 2232bg[NORMAL] = @base_color 2233} 2234 2235style "notebook_bg" { 2236bg[NORMAL] = @base_color 2237bg[PRELIGHT] = @base_color 2238bg[INSENSITIVE] = @base_color 2239} 2240 2241style "notebook_entry" { 2242 2243engine "pixmap" { 2244 2245image { 2246function = SHADOW 2247state = ACTIVE 2248detail = "entry" 2249file = "assets/notebook-entry-active.png" 2250border = {6, 6, 6, 6} 2251stretch = TRUE 2252} 2253 2254image { 2255function = SHADOW 2256state = INSENSITIVE 2257detail = "entry" 2258file = "assets/notebook-entry-insensitive.png" 2259border = {6, 6, 6, 6} 2260stretch = TRUE 2261} 2262 2263image { 2264function = SHADOW 2265detail = "entry" 2266file = "assets/notebook-entry.png" 2267border = {6, 6, 6, 6} 2268stretch = TRUE 2269} 2270} 2271} 2272 2273style "normal_bg" { 2274bg[NORMAL] = @bg_color 2275bg[PRELIGHT] = @bg_color 2276bg[INSENSITIVE] = @bg_color 2277} 2278 2279style "normal_entry" { 2280 2281engine "pixmap" { 2282 2283image { 2284function = SHADOW 2285state = ACTIVE 2286detail = "entry" 2287file = "assets/entry-active.png" 2288border = {6, 6, 6, 6} 2289stretch = TRUE 2290} 2291 2292image { 2293function = SHADOW 2294state = INSENSITIVE 2295detail = "entry" 2296file = "assets/entry-insensitive.png" 2297border = {6, 6, 6, 6} 2298stretch = TRUE 2299} 2300 2301image { 2302function = SHADOW 2303detail = "entry" 2304file = "assets/entry.png" 2305border = {6, 6, 6, 6} 2306stretch = TRUE 2307} 2308} 2309} 2310 2311style "notebook_combo" { 2312 2313engine "pixmap" { 2314 2315############# 2316# LTR entry # 2317############# 2318 2319image { 2320function = SHADOW 2321state = NORMAL 2322detail = "entry" 2323file = "assets/notebook-combo-entry-ltr-entry.png" 2324border = {8, 8, 8, 8} 2325stretch = TRUE 2326direction = LTR 2327} 2328 2329image { 2330function = SHADOW 2331state = ACTIVE 2332detail = "entry" 2333file = "assets/notebook-combo-entry-ltr-entry-active.png" 2334border = {8, 8, 8, 8} 2335stretch = TRUE 2336direction = LTR 2337} 2338 2339image { 2340function = SHADOW 2341state = INSENSITIVE 2342detail = "entry" 2343file = "assets/notebook-combo-entry-ltr-entry-insensitive.png" 2344border = {8, 8, 8, 8} 2345stretch = TRUE 2346direction = LTR 2347} 2348 2349############# 2350# RTL entry # 2351############# 2352 2353image { 2354function = SHADOW 2355state = NORMAL 2356detail = "entry" 2357file = "assets/notebook-combo-entry-rtl-entry.png" 2358border = {8, 8, 8, 8} 2359stretch = TRUE 2360direction = RTL 2361} 2362 2363image { 2364function = SHADOW 2365state = ACTIVE 2366detail = "entry" 2367file = "assets/notebook-combo-entry-rtl-entry-active.png" 2368border = {8, 8, 8, 8} 2369stretch = TRUE 2370direction = RTL 2371} 2372 2373image { 2374function = SHADOW 2375state = INSENSITIVE 2376detail = "entry" 2377file = "assets/notebook-combo-entry-rtl-entry-insensitive.png" 2378border = {8, 8, 8, 8} 2379stretch = TRUE 2380direction = RTL 2381} 2382 2383} 2384 2385} 2386 2387style "textview" { 2388bg[NORMAL] = @base_color 2389} 2390 2391style "scale_horz" { 2392 2393engine "pixmap" { 2394 2395image { 2396function = BOX 2397detail = "trough-upper" 2398file = "assets/scale-horz-trough.png" 2399border = {4, 4, 0, 0} 2400stretch = TRUE 2401} 2402 2403image { 2404function = BOX 2405detail = "trough-lower" 2406file = "assets/scale-horz-trough-active.png" 2407border = {4, 4, 0, 0} 2408stretch = TRUE 2409} 2410 2411} 2412 2413} 2414 2415style "scale_vert" { 2416 2417engine "pixmap" { 2418 2419image { 2420function = BOX 2421detail = "trough-upper" 2422file = "assets/scale-vert-trough.png" 2423border = {0, 0, 4, 4} 2424stretch = TRUE 2425} 2426 2427image { 2428function = BOX 2429detail = "trough-lower" 2430file = "assets/scale-vert-trough-active.png" 2431border = {0, 0, 4, 4} 2432stretch = TRUE 2433} 2434 2435} 2436 2437} 2438 2439style "progressbar" { 2440 2441xthickness = 0 2442ythickness = 0 2443 2444fg[PRELIGHT] = @selected_fg_color 2445 2446engine "pixmap" { 2447 2448image { 2449function = BOX 2450detail = "trough" 2451file = "assets/progressbar-trough.png" 2452border = {0, 0, 0, 0} 2453stretch = TRUE 2454orientation = HORIZONTAL 2455} 2456 2457image { 2458function = BOX 2459detail = "trough" 2460file = "assets/progressbar-trough.png" 2461border = {0, 0, 0, 0} 2462stretch = TRUE 2463orientation = VERTICAL 2464} 2465 2466} 2467 2468} 2469 2470style "treeview_header" { 2471 2472xthickness = 2 2473ythickness = 2 2474 2475fg[NORMAL] = mix(0.75, @fg_color, @base_color) 2476fg[PRELIGHT] = @fg_color 2477 2478font_name = "Medium" 2479 2480GtkButton::inner-border = {4, 4, 0, 2} 2481 2482engine "pixmap" { 2483 2484image { 2485function = BOX 2486state = NORMAL 2487file = "assets/treeview-separator-ltr.png" 2488border = {0, 1, 0, 1} 2489stretch = TRUE 2490direction = LTR 2491} 2492 2493image { 2494function = BOX 2495state = PRELIGHT 2496file = "assets/treeview-separator-hover-ltr.png" 2497border = {0, 1, 0, 1} 2498stretch = TRUE 2499direction = LTR 2500} 2501 2502image { 2503function = BOX 2504state = ACTIVE 2505file = "assets/treeview-separator-active-ltr.png" 2506border = {0, 1, 0, 1} 2507stretch = TRUE 2508direction = LTR 2509} 2510 2511image { 2512function = BOX 2513state = NORMAL 2514file = "assets/treeview-separator-rtl.png" 2515border = {1, 0, 0, 1} 2516stretch = TRUE 2517direction = RTL 2518} 2519 2520image { 2521function = BOX 2522state = PRELIGHT 2523file = "assets/treeview-separator-hover-rtl.png" 2524border = {1, 0, 0, 1} 2525stretch = TRUE 2526direction = RTL 2527} 2528 2529image { 2530function = BOX 2531state = ACTIVE 2532file = "assets/treeview-separator-active-rtl.png" 2533border = {1, 0, 0, 1} 2534stretch = TRUE 2535direction = RTL 2536} 2537 2538image { 2539function = ARROW 2540state = NORMAL 2541overlay_file = "assets/pan-up-alt.png" 2542overlay_stretch = FALSE 2543arrow_direction = UP 2544} 2545 2546image { 2547function = ARROW 2548state = PRELIGHT 2549overlay_file = "assets/pan-up.png" 2550overlay_stretch = FALSE 2551arrow_direction = UP 2552} 2553 2554image { 2555function = ARROW 2556state = ACTIVE 2557overlay_file = "assets/pan-up.png" 2558overlay_stretch = FALSE 2559arrow_direction = UP 2560} 2561 2562image { 2563function = ARROW 2564state = NORMAL 2565overlay_file = "assets/pan-down-alt.png" 2566overlay_stretch = FALSE 2567arrow_direction = DOWN 2568} 2569 2570image { 2571function = ARROW 2572state = PRELIGHT 2573overlay_file = "assets/pan-down.png" 2574overlay_stretch = FALSE 2575arrow_direction = DOWN 2576} 2577 2578image { 2579function = ARROW 2580state = ACTIVE 2581overlay_file = "assets/pan-down.png" 2582overlay_stretch = FALSE 2583arrow_direction = DOWN 2584} 2585 2586} 2587 2588} 2589 2590style "scrolled_window" { 2591 2592engine "pixmap" { 2593image { 2594function = SHADOW 2595file = "assets/frame.png" 2596border = {1, 1, 1, 1} 2597stretch = TRUE 2598} 2599} 2600 2601} 2602 2603style "frame" { 2604 2605engine "pixmap" { 2606 2607image { 2608function = SHADOW 2609file = "assets/frame.png" 2610border = {1, 1, 1, 1} 2611stretch = TRUE 2612} 2613 2614image { 2615function = SHADOW_GAP 2616file = "assets/frame.png" 2617border = {1, 1, 1, 1} 2618stretch = TRUE 2619gap_start_file = "assets/border.png" 2620gap_end_file = "assets/border.png" 2621} 2622 2623} 2624 2625} 2626 2627style "tool_button" { 2628 2629GtkButton::inner-border = {2, 2, 2, 2} 2630 2631# For the sake of sanity style buttons this way 2632engine "pixmap" { 2633 2634image { 2635function = BOX 2636state = NORMAL 2637file = "assets/button-flat.png" 2638border = {8, 8, 8, 8} 2639stretch = TRUE 2640} 2641 2642image { 2643function = BOX 2644state = PRELIGHT 2645shadow = OUT 2646file = "assets/button-flat-hover.png" 2647border = {8, 8, 8, 8} 2648stretch = TRUE 2649} 2650 2651# Don't add hover effect on pressed buttons 2652image { 2653function = BOX 2654state = PRELIGHT 2655shadow = IN 2656file = "assets/button-flat-active.png" 2657border = {8, 8, 8, 8} 2658stretch = TRUE 2659} 2660 2661image { 2662function = BOX 2663state = ACTIVE 2664file = "assets/button-flat-active.png" 2665border = {8, 8, 8, 8} 2666stretch = TRUE 2667} 2668 2669image { 2670function = BOX 2671state = INSENSITIVE 2672shadow = OUT 2673file = "assets/button-flat-insensitive.png" 2674border = {8, 8, 8, 8} 2675stretch = TRUE 2676} 2677 2678image { 2679function = BOX 2680state = INSENSITIVE 2681shadow = IN 2682file = "assets/button-insensitive.png" 2683border = {8, 8, 8, 8} 2684stretch = TRUE 2685} 2686} 2687} 2688 2689style "toolbar_separator" { 2690 2691GtkWidget::wide-separators = 1 2692GtkWidget::separator-width = 1 2693GtkWidget::separator-height = 1 2694 2695engine "pixmap" { 2696image { 2697function = BOX 2698file = "assets/border.png" 2699} 2700} 2701 2702} 2703 2704style "inline_toolbar" { 2705 2706# GtkToolbar::button-relief = GTK_RELIEF_NORMAL 2707 2708engine "pixmap" { 2709image { 2710function = BOX 2711file = "assets/frame-inline.png" 2712border = {1, 1, 0, 1} 2713stretch = TRUE 2714} 2715} 2716 2717} 2718 2719style "tooltip" { 2720 2721xthickness = 8 2722ythickness = 8 2723 2724bg[NORMAL] = @base_color 2725fg[NORMAL] = @fg_color 2726bg[SELECTED] = @base_color 2727 2728} 2729 2730 2731style "disable_text_shadow" { 2732 2733engine "murrine" { 2734textstyle = 0 2735} 2736 2737} 2738 2739style "disable_shadow" { 2740 2741engine "pixmap" { 2742image { 2743function = SHADOW 2744} 2745} 2746 2747} 2748 2749style "disable_separator" { 2750 2751xthickness = 0 2752ythickness = 0 2753 2754GtkWidget::wide-separators = 1 2755 2756} 2757 2758# Default style, containing most of the stuff 2759class "GtkWidget" style "default" 2760 2761# Override padding, style and colour 2762class "GtkButton" style "button" 2763class "GtkLinkButton" style "link_button" 2764class "GtkEntry" style "entry" 2765class "GtkOldEditable" style "entry" 2766class "GtkSpinButton" style "spinbutton" 2767class "GtkNotebook" style "notebook" 2768class "GtkHScale" style "scale_horz" 2769class "GtkVScale" style "scale_vert" 2770class "GtkProgressBar" style "progressbar" 2771class "GtkScrolledWindow" style "scrolled_window" 2772class "GtkFrame" style "frame" 2773class "GtkSeparatorToolItem" style "toolbar_separator" 2774class "GtkMenuBar" style "menubar" 2775class "GtkMenu" style "menu" 2776class "GtkTextView" style "textview" 2777 2778# Menu and menubar items 2779widget_class "*<GtkMenuItem>*" style "menu_item" 2780widget_class "*<GtkMenuBar>.<GtkMenuItem>*" style "menubar_item" 2781widget_class "*<GtkSeparatorMenuItem>*" style "separator_menu_item" 2782 2783# Frames in statusbars look ugly, let's disable them 2784widget_class "*<GtkStatusbar>*<GtkFrame>" style "disable_shadow" 2785# Disable the frame around poor Wilbert too 2786widget_class "*<GimpToolbox>*<GtkFrame>" style "disable_shadow" 2787 2788# Treeview buttons 2789widget_class "*<GtkTreeView>*<GtkButton>*" style "treeview_header" 2790 2791# Give the file chooser toolbar a border 2792widget_class "*<GtkFileChooserDefault>*<GtkToolbar>" style "inline_toolbar" 2793 2794# Fix padding on regular comboboxes 2795widget_class "*<GtkComboBox>.<GtkButton>" style "combobox" 2796# And disable separators on them 2797widget_class "*<GtkComboBox>.<GtkButton>*<GtkSeparator>" style "disable_separator" 2798widget_class "*<GtkFontButton>*<GtkSeparator>" style "disable_separator" 2799widget_class "*<GtkFileChooserButton>*<GtkSeparator>" style "disable_separator" 2800 2801# Join together the ComboBoxEntry entry and button 2802widget_class "*<GtkComboBoxEntry>*" style "combobox_entry" 2803 2804# Join the Combo entry and button 2805widget_class "*<GtkCombo>*" style "combobox_entry" 2806# Tweak the padding on the button a little bit because it uses it a bit differently 2807widget_class "*<GtkCombo>.<GtkButton>" style "combo_button_padding" 2808 2809# Alas we cannot do the same for ComboBoxText because there isn't a way to apply the style to only 2810# the comboboxes that have an entry inside 2811 2812# Tool buttons have different styles 2813widget_class "*<GtkToolButton>*<GtkButton>" style "tool_button" 2814widget_class "*<GtkVBox>*<GtkEventBox>.<GtkToolbar>*<GtkButton>" style "tool_button" 2815 2816# Notebooks 2817widget_class "*<GtkNotebook>.<GtkLabel>" style "notebook_tab_label" 2818widget_class "*<GtkNotebook>.<GtkHBox>.<GtkLabel>" style "notebook_tab_label" 2819 2820# Notebooks are white, act accordingly 2821widget_class "*<GtkNotebook>*<GtkEntry>" style "notebook_entry" 2822widget_class "*<GtkNotebook>*<GtkProgressBar>" style "notebook_bg" 2823widget_class "*<GtkNotebook>*<GtkSpinButton>" style "notebook_bg" 2824widget_class "*<GtkNotebook>*<GtkScrolledWindow>*<GtkViewport>" style "notebook_bg" 2825widget_class "*<GtkNotebook>*<GimpRuler>" style "notebook_bg" 2826widget_class "*<GtkNotebook>.<GimpDisplayShell>*<GtkEventBox>" style "notebook_bg" 2827widget_class "*<GtkNotebook>*<GtkComboBoxEntry>*" style "notebook_combo" 2828widget_class "*<GtkNotebook>*<GtkCombo>*" style "notebook_combo" 2829 2830# However, stuff inside eventboxes inside notebooks is grey again, react 2831widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkEntry>" style "normal_entry" 2832widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkProgressBar>" style "normal_bg" 2833widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkSpinButton>" style "normal_bg" 2834widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkComboBoxEntry>*" style "combobox_entry" 2835widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkCombo>*" style "combobox_entry" 2836widget_class "*<GtkNotebook>*<GtkEventBox>*<GtkCombo>.<GtkButton>" style "combo_button_padding" 2837 2838# Button labels 2839widget_class "*<GtkButton>*<GtkLabel>" style "button_label" 2840 2841# Checkbutton labels 2842widget_class "*<GtkCheckButton>.<GtkLabel>" style "checkbutton_label" 2843 2844# ComboBoxes tend to draw the button label with text[] instead of fg[], we need to fix that 2845widget_class "*<GtkComboBox>*<GtkCellView>" style "combobox_cellview" 2846 2847# Disable white text shadows 2848widget_class "*<GtkLabel>" style "disable_text_shadow" 2849widget_class "*<GtkCellView>" style "disable_text_shadow" 2850 2851# GTK tooltips 2852widget "gtk-tooltip*" style "tooltip" 2853