1# GTKrc 2# Freeciv Theme (a template for freeciv theme ?!) 3# 4# Licence: GPL 5# 6# Authors: 7# "aneglus" <aneglus@gmail.com> 8# Andrea Cimitan ("Cimi"): http://cimi.netsons.org/ (initial "Candido" theme) 9# Daniel Markstedt <markstedt@gmail.com> (menu-overlay.png) 10# 11 12 13include "menubar.rc" 14include "panel.rc" 15 16#gtk-menu-drop-shadow = 1 17#gtk-menu-shadow-delay = 0 18#gtk-icon-sizes = "panel-menu=24,24:panel=24,24:gtk-button=16,16:gtk-large-toolbar=24,24" 19#gtk-icon-sizes = "gtk-large-toolbar=16,16:gtk-small-toolbar=16,16" 20 21style "default" 22{ 23 GtkWidget::interior_focus = 7 24 GtkWidget::focus_padding = 0 25 GtkButton::default_border = { 1, 1, 1, 1 } 26 GtkButton::default_outside_border = { 2, 2, 2, 2 } 27 28 GtkRange::trough_border = 0 29 GtkRange::slider_width = 15 30 GtkRange::stepper_size = 15 31 32 GtkVScale::slider_length = 11 33 GtkVScale::slider_width = 21 34 GtkHScale::slider_length = 11 35 GtkHScale::slider_width = 21 36 37 GtkPaned::handle_size = 6 38 GtkScrollbar::min_slider_length = 50 39 GtkCheckButton::indicator_size = 12 40 GtkCheckButton::indicator_spacing = 3 41 GtkMenuBar::internal_padding = 1 42 GtkOptionMenu::indicator_size = { 15, 8 } 43 GtkOptionMenu::indicator_spacing = { 8, 2, 0, 0 } 44 GtkStatusbar::shadow_type = GTK_SHADOW_NONE 45 GtkSpinButton::shadow_type = GTK_SHADOW_NONE 46 47 xthickness = 2 48 ythickness = 2 49 50 fg[NORMAL] = "#000000" 51 fg[ACTIVE] = "#000000" 52 fg[PRELIGHT] = "#635b48" 53 fg[SELECTED] = "#635b48" 54 fg[INSENSITIVE] = "#9d9d9d" 55 56 bg[NORMAL] = "#e1cea1" 57 bg[ACTIVE] = "#e1cea1" 58 bg[PRELIGHT] = "#0000FF" 59 bg[SELECTED] = "#e7d6b0" 60 bg[INSENSITIVE] = "#00FFFF" 61 62 base[NORMAL] = "#e7d6b0" 63 base[ACTIVE] = "#e7d6b0" 64 base[PRELIGHT] = "#0000FF" 65 base[SELECTED] = "#f8f3d3" 66 base[INSENSITIVE] = "#e4e1ca" 67 68 text[NORMAL] = "#635b48" 69 text[ACTIVE] = "#92866b" 70 text[PRELIGHT] = "#635b48" 71 text[SELECTED] = "#635b48" 72 text[INSENSITIVE] = "#9d9d9d" 73 74 engine "pixmap" 75 { 76 image 77 { 78 function = HANDLE 79 recolorable = TRUE 80 overlay_file = "Handles/handle-v.png" 81 overlay_stretch = FALSE 82 orientation = HORIZONTAL 83 } 84 image 85 { 86 function = HANDLE 87 recolorable = TRUE 88 overlay_file = "Handles/handle-h.png" 89 overlay_stretch = FALSE 90 orientation = VERTICAL 91 } 92 93####################### SHADOWS ############################x 94 95 image 96 { 97 function = SHADOW 98 shadow = IN 99 recolorable = FALSE 100 file = "Shadows/shadow-in.png" 101 border = { 3, 3, 2, 2 } 102 stretch = TRUE 103 } 104 image 105 { 106 function = SHADOW 107 shadow = OUT 108 recolorable = TRUE 109 file = "Shadows/shadow-out.png" 110 #border = { 1, 1, 1, 1 } 111 stretch = TRUE 112 } 113 114 image 115 { 116 function = SHADOW 117 shadow = ETCHED_IN 118 recolorable = TRUE 119 file = "Frame-Gap/frame1.png" 120 border = { 2, 2, 2, 2 } 121 stretch = TRUE 122 } 123 image 124 { 125 function = SHADOW 126 shadow = ETCHED_OUT 127 recolorable = TRUE 128 file = "Shadows/shadow-none.png" 129 border = { 2, 2, 2, 2 } 130 stretch = TRUE 131 } 132 image 133 { 134 function = SHADOW_GAP 135 recolorable = TRUE 136 file = "Frame-Gap/frame1.png" 137 border = { 2, 2, 2, 2 } 138 stretch = TRUE 139 gap_start_file = "Frame-Gap/frame-gap-start.png" 140 gap_start_border = { 2, 0, 2, 0 } 141 gap_end_file = "Frame-Gap/frame-gap-end.png" 142 gap_end_border = { 0, 2, 2, 0 } 143 gap_side = TOP 144 } 145 image 146 { 147 function = VLINE 148 recolorable = TRUE 149 file = "Lines/line-v.png" 150 border = { 1, 1, 0, 0 } 151 stretch = TRUE 152 } 153 image 154 { 155 function = HLINE 156 recolorable = TRUE 157 file = "Lines/line-h.png" 158 border = { 0, 0, 1, 1 } 159 stretch = TRUE 160 } 161 162 # focus 163 164 image 165 { 166 function = FOCUS 167 recolorable = TRUE 168 file = "Others/focus.png" 169 border = { 6, 0, 6, 0 } 170 stretch = TRUE 171 } 172 173 # arrows 174 175 image 176 { 177 function = ARROW 178 recolorable = TRUE 179 overlay_file = "Arrows/arrow-up.png" 180 overlay_border = { 0, 0, 0, 0 } 181 overlay_stretch = FALSE 182 arrow_direction = UP 183 } 184 image 185 { 186 function = ARROW 187 recolorable = TRUE 188 overlay_file = "Arrows/arrow-down.png" 189 overlay_border = { 0, 0, 0, 0 } 190 overlay_stretch = FALSE 191 arrow_direction = DOWN 192 } 193 image 194 { 195 function = ARROW 196 recolorable = TRUE 197 overlay_file = "Arrows/arrow-left.png" 198 overlay_border = { 0, 0, 0, 0 } 199 overlay_stretch = FALSE 200 arrow_direction = LEFT 201 } 202 image 203 { 204 function = ARROW 205 recolorable = TRUE 206 overlay_file = "Arrows/arrow-right.png" 207 overlay_border = { 0, 0, 0, 0 } 208 overlay_stretch = FALSE 209 arrow_direction = RIGHT 210 } 211 image 212 { 213 function = BOX 214 recolorable = TRUE 215 file = "Toolbar/toolbar.png" 216 border = { 3, 3, 3, 3 } 217 stretch = TRUE 218 } 219 } 220} 221 222class "GtkWidget" style "default" 223 224#################### BUTTONS ####################### 225 226style "button" = "default" 227{ 228 229 engine "pixmap" 230 { 231 image 232 { 233 function = BOX 234 detail = "buttondefault" 235 recolorable = TRUE 236 file = "Buttons/button-default.png" 237 border = { 3, 3, 3, 3 } 238 stretch = TRUE 239 } 240 image 241 { 242 function = BOX 243 state = PRELIGHT 244 recolorable = TRUE 245 file = "Buttons/button-prelight.png" 246 border = { 3, 3, 3, 3 } 247 stretch = TRUE 248 } 249 image 250 { 251 function = BOX 252 state = ACTIVE 253 file = "Buttons/button-pressed.png" 254 border = { 3, 3, 3, 3 } 255 stretch = TRUE 256 } 257 image 258 { 259 function = BOX 260 state = INSENSITIVE 261 file = "Buttons/button-insensitive.png" 262 border = { 3, 3, 3, 3 } 263 stretch = TRUE 264 } 265 image 266 { 267 function = BOX 268 file = "Buttons/button-normal.png" 269 border = { 5, 5, 5, 5 } 270 stretch = TRUE 271 } 272 } 273} 274 275style "background" { 276 bg_pixmap[NORMAL] = "bg.png" 277 bg_pixmap[ACTIVE] = "bg.png" 278 bg_pixmap[SELECTED] = "bg.png" 279 bg_pixmap[INSENSITIVE] = "bg.png" 280} 281 282style "checkradiobutton" { 283 engine "pixmap" 284 { 285 image 286 { 287 function = FLAT_BOX 288 recolorable = TRUE 289 file = "Check-Radio/highlight.png" 290 border = { 2, 5, 2, 5 } 291 stretch = TRUE 292 } 293 } 294} 295 296class "GtkRadioButton" style "checkradiobutton" 297class "GtkCheckButton" style "checkradiobutton" 298 299 300style "optionmenu" = "default" 301{ 302 engine "pixmap" 303 { 304 image 305 { 306 function = BOX 307 recolorable = TRUE 308 state = PRELIGHT 309 file = "Combo/combo-prelight.png" 310 border = { 3, 3, 3, 3} 311 stretch = TRUE 312 } 313 image 314 { 315 function = BOX 316 recolorable = TRUE 317 state = NORMAL 318 file = "Combo/combo-normal.png" 319 border = { 3, 3, 3, 3} 320 stretch = TRUE 321 } 322 323 image 324 { 325 function = BOX 326 recolorable = TRUE 327 state = ACTIVE 328 file = "Combo/combo-prelight.png" 329 border = { 3, 3, 3, 3} 330 stretch = TRUE 331 } 332 image 333 { 334 function = BOX 335 recolorable = TRUE 336 state = INSENSITIVE 337 file = "Combo/combo-normal.png" 338 border = { 3, 3, 3, 3} 339 stretch = TRUE 340 } 341 image 342 { 343 function = TAB 344 state = INSENSITIVE 345 recolorable = TRUE 346 overlay_file = "Combo/combo-arrow-insens.png" 347 overlay_stretch = FALSE 348 } 349 image 350 { 351 function = TAB 352 recolorable = TRUE 353 state = NORMAL 354 overlay_file = "Combo/combo-arrow.png" 355 overlay_border = { 0, 0, 0, 0 } 356 overlay_stretch = FALSE 357 } 358 image 359 { 360 function = TAB 361 recolorable = TRUE 362 state = PRELIGHT 363 overlay_file = "Combo/combo-arrow-prelight.png" 364 overlay_border = { 0, 0, 0, 0 } 365 overlay_stretch = FALSE 366 } 367 } 368} 369 370widget_class "*Combo*" style "optionmenu" 371 372####################################################### 373 374style "radiobutton" = "default" 375{ 376 engine "pixmap" 377 { 378 #This is the image used to draw an unchecked box. 379 image 380 { 381 function = OPTION 382 recolorable = TRUE 383 state = NORMAL 384 shadow = OUT 385 overlay_file = "Check-Radio/option1.png" 386 overlay_stretch = FALSE 387 } 388 image 389 { 390 function = OPTION 391 recolorable = TRUE 392 state = PRELIGHT 393 shadow = OUT 394 overlay_file = "Check-Radio/option1.png" 395 overlay_stretch = FALSE 396 } 397 image 398 { 399 function = OPTION 400 recolorable = TRUE 401 state = ACTIVE 402 shadow = OUT 403 overlay_file = "Check-Radio/option1.png" 404 overlay_stretch = FALSE 405 } 406 image 407 { 408 function = OPTION 409 recolorable = TRUE 410 state = INSENSITIVE 411 shadow = OUT 412 overlay_file = "Check-Radio/option3.png" 413 overlay_stretch = FALSE 414 } 415 416 #This is the image used to draw a selected (checked) box. 417 418 image 419 { 420 function = OPTION 421 recolorable = TRUE 422 state = NORMAL 423 shadow = IN 424 overlay_file = "Check-Radio/option2.png" 425 overlay_stretch = FALSE 426 } 427 image 428 { 429 function = OPTION 430 recolorable = TRUE 431 state = PRELIGHT 432 shadow = IN 433 overlay_file = "Check-Radio/option4.png" 434 overlay_stretch = FALSE 435 } 436 image 437 { 438 function = OPTION 439 recolorable = TRUE 440 state = ACTIVE 441 shadow = IN 442 overlay_file = "Check-Radio/option4.png" 443 overlay_stretch = FALSE 444 } 445 image 446 { 447 function = OPTION 448 recolorable = TRUE 449 state = INSENSITIVE 450 shadow = IN 451 overlay_file = "Check-Radio/option1.png" 452 overlay_stretch = FALSE 453 } 454 455 #Use this image to draw the highlight when a line with a check box 456 #is moused over. 457 458 image 459 { 460 function = FLAT_BOX 461 recolorable = TRUE 462 stretch = TRUE 463 file = "Check-Radio/checklight.png" 464 border = { 2, 2, 2, 2 } 465 } 466 } 467} 468 469########################################## 470 471#################################################### 472style "checkbutton" = "default" 473{ 474 engine "pixmap" 475 { 476 #This is the image used to draw an unchecked box. 477 image 478 { 479 function = CHECK 480 recolorable = TRUE 481 state = NORMAL 482 shadow = OUT 483 overlay_file = "Check-Radio/check1.png" 484 overlay_stretch = FALSE 485 } 486 image 487 { 488 function = CHECK 489 recolorable = TRUE 490 state = PRELIGHT 491 shadow = OUT 492 overlay_file = "Check-Radio/check1.png" 493 overlay_stretch = FALSE 494 } 495 image 496 { 497 function = CHECK 498 recolorable = TRUE 499 state = ACTIVE 500 shadow = OUT 501 overlay_file = "Check-Radio/check1.png" 502 overlay_stretch = FALSE 503 } 504 image 505 { 506 function = CHECK 507 recolorable = TRUE 508 state = INSENSITIVE 509 shadow = OUT 510 overlay_file = "Check-Radio/check1.png" 511 overlay_stretch = FALSE 512 } 513 514 #This is the image used to draw a selected (checked) box. 515 516 image 517 { 518 function = CHECK 519 recolorable = TRUE 520 state = NORMAL 521 shadow = IN 522 overlay_file = "Check-Radio/check2.png" 523 overlay_stretch = FALSE 524 } 525 image 526 { 527 function = CHECK 528 recolorable = TRUE 529 state = PRELIGHT 530 shadow = IN 531 overlay_file = "Check-Radio/check4.png" 532 overlay_stretch = FALSE 533 } 534 image 535 { 536 function = CHECK 537 recolorable = TRUE 538 state = ACTIVE 539 shadow = IN 540 overlay_file = "Check-Radio/check4.png" 541 overlay_stretch = FALSE 542 } 543 image 544 { 545 function = CHECK 546 recolorable = TRUE 547 state = INSENSITIVE 548 shadow = IN 549 overlay_file = "Check-Radio/check3.png" 550 overlay_stretch = FALSE 551 } 552 553 #Use this image to draw the highlight when a line with a check box 554 #is moused over. 555 556 image 557 { 558 function = FLAT_BOX 559 recolorable = TRUE 560 stretch = TRUE 561 file = "Check-Radio/checklight.png" 562 border = { 2, 2, 2, 2 } 563 } 564 } 565} 566 567####################### ENTRY #####################xx 568 569style "entry" = "default" 570{ 571 572 xthickness = 3 573 ythickness = 1 574 575 GtkWidget::interior_focus = 0 576 #GtkEntry::shadow_type = GTK_SHADOW_NONE 577 578 engine "pixmap" 579 { 580 image 581 { 582 function = FOCUS 583 recolorable = TRUE 584 file = "Shadows/entry-shadow-in.png" 585 border = { 3,3,3,3 } 586 stretch = TRUE 587 } 588 image 589 { 590 function = BOX 591 recolorable = TRUE 592 shadow = IN 593 state = NORMAL 594 file = "Shadows/entry-shadow-in.png" 595 border = { 3,3,3,3 } 596 stretch = TRUE 597 } 598 image 599 { 600 function = BOX 601 recolorable = TRUE 602 shadow = OUT 603 state = NORMAL 604 file = "Shadows/text-entry.png" 605 border = { 3,3,3,3 } 606 stretch = TRUE 607 } 608 image 609 { 610 function = SHADOW 611 detail = "entry" 612 shadow = IN 613 recolorable = FALSE 614 file = "Shadows/text-entry.png" 615 border = { 3,3,3,3 } 616 stretch = TRUE 617 } 618 } 619} 620 621################x SPINBUTTONS ################ 622 623style "spinbutton" = "entry" 624{ 625 engine "pixmap" 626 { 627 image 628 { 629 function = ARROW 630 } 631 632############################# UP ######################xx 633 image 634 { 635 function = BOX 636 state = NORMAL 637 detail = "spinbutton_up" 638 recolorable = TRUE 639 file = "Spin/spin.png" 640 border = { 0, 0, 0, 0 } 641 stretch = TRUE 642 overlay_file = "Spin/spin-up.png" 643 overlay_stretch = FALSE 644 } 645 image 646 { 647 function = BOX 648 state = PRELIGHT 649 detail = "spinbutton_up" 650 recolorable = TRUE 651 file = "Spin/spin.png" 652 border = { 0, 0, 0, 0 } 653 stretch = TRUE 654 overlay_file = "Spin/spin-up-prelight.png" 655 overlay_stretch = FALSE 656 } 657 image 658 { 659 function = BOX 660 state = INSENSITIVE 661 detail = "spinbutton_up" 662 recolorable = TRUE 663 file = "Spin/spin.png" 664 border = { 0, 0, 0, 0 } 665 stretch = TRUE 666 overlay_file = "Spin/spin-up-disable.png" 667 overlay_stretch = FALSE 668 } 669 image 670 { 671 function = BOX 672 state = ACTIVE 673 detail = "spinbutton_up" 674 recolorable = TRUE 675 file = "Spin/spin.png" 676 border = { 0, 0, 0, 0 } 677 stretch = TRUE 678 overlay_file = "Spin/spin-up-prelight.png" 679 overlay_stretch = FALSE 680 } 681 682########################x DOWN ######################## 683 image 684 { 685 function = BOX 686 state = NORMAL 687 detail = "spinbutton_down" 688 recolorable = TRUE 689 file = "Spin/spin.png" 690 border = { 0, 0, 0, 0 } 691 stretch = TRUE 692 overlay_file = "Spin/spin-down.png" 693 overlay_stretch = FALSE 694 } 695 image 696 { 697 function = BOX 698 state = PRELIGHT 699 detail = "spinbutton_down" 700 recolorable = TRUE 701 file = "Spin/spin.png" 702 border = { 0, 0, 0, 0 } 703 stretch = TRUE 704 overlay_file = "Spin/spin-down-prelight.png" 705 overlay_stretch = FALSE 706 } 707 image 708 { 709 function = BOX 710 state = INSENSITIVE 711 detail = "spinbutton_down" 712 recolorable = TRUE 713 file = "Spin/spin.png" 714 border = { 0, 0, 0, 0 } 715 stretch = TRUE 716 overlay_file = "Spin/spin-down-disable.png" 717 overlay_stretch = FALSE 718 } 719 720 image 721 { 722 function = BOX 723 state = ACTIVE 724 detail = "spinbutton_down" 725 recolorable = TRUE 726 file = "Spin/spin.png" 727 border = { 0, 0, 0, 0 } 728 stretch = TRUE 729 overlay_file = "Spin/spin-down-prelight.png" 730 overlay_stretch = FALSE 731 } 732 } 733} 734 735############################# SCROLLBAR #################### 736 737style "scrollbar" = "default" 738{ 739 engine "pixmap" 740 { 741 742 image 743 { 744 function = BOX 745 recolorable = TRUE 746 detail = "trough" 747 file = "Scrollbars/trough-scrollbar-horiz.png" 748 border = { 19, 19, 2, 2 } 749 stretch = TRUE 750 orientation = HORIZONTAL 751 } 752 image 753 { 754 function = BOX 755 recolorable = TRUE 756 detail = "trough" 757 file = "Scrollbars/trough-scrollbar-vert.png" 758 border = { 2, 2, 19, 19 } 759 stretch = TRUE 760 orientation = VERTICAL 761 } 762 763###########x SLIDERS ##################x 764 765 image 766 { 767 function = SLIDER 768 recolorable = TRUE 769 state = NORMAL 770 file = "Scrollbars/slider-horiz.png" 771 border = { 2, 2, 2, 2 } 772 stretch = TRUE 773 orientation = HORIZONTAL 774 overlay_file = "Scrollbars/scroll-thumb-horiz.png" 775 overlay_stretch = FALSE 776 orientation = HORIZONTAL 777 } 778 image 779 { 780 function = SLIDER 781 recolorable = TRUE 782 state = ACTIVE 783 shadow = IN 784 file = "Scrollbars/slider-horiz.png" 785 border = { 2, 2, 2, 2 } 786 stretch = TRUE 787 orientation = HORIZONTAL 788 overlay_file = "Scrollbars/scroll-thumb-horiz.png" 789 overlay_stretch = FALSE 790 orientation = HORIZONTAL 791 } 792 image 793 { 794 function = SLIDER 795 recolorable = TRUE 796 state = PRELIGHT 797 file = "Scrollbars/slider-horiz-prelight.png" 798 border = { 2, 2, 2, 2 } 799 stretch = TRUE 800 orientation = HORIZONTAL 801 overlay_file = "Scrollbars/scroll-thumb-horiz.png" 802 overlay_stretch = FALSE 803 orientation = HORIZONTAL 804 } 805 image 806 { 807 function = SLIDER 808 recolorable = TRUE 809 state = INSENSITIVE 810 file = "Scrollbars/slider-horiz-insens.png" 811 border = { 2, 2, 2, 2 } 812 stretch = TRUE 813 orientation = HORIZONTAL 814 overlay_file = "Scrollbars/scroll-thumb-horiz.png" 815 overlay_stretch = FALSE 816 orientation = HORIZONTAL 817 } 818 819#############x verticals################xx 820 821 image 822 { 823 function = SLIDER 824 recolorable = TRUE 825 state = NORMAL 826 file = "Scrollbars/slider-vert.png" 827 border = { 2, 2, 2, 2 } 828 stretch = TRUE 829 orientation = VERTICAL 830 overlay_file = "Scrollbars/scroll-thumb-vert.png" 831 overlay_stretch = FALSE 832 orientation = VERTICAL 833 } 834 image 835 { 836 function = SLIDER 837 recolorable = TRUE 838 state = ACTIVE 839 shadow = IN 840 file = "Scrollbars/slider-vert.png" 841 border = { 2, 2, 2, 2 } 842 stretch = TRUE 843 orientation = VERTICAL 844 overlay_file = "Scrollbars/scroll-thumb-vert.png" 845 overlay_stretch = FALSE 846 orientation = VERTICAL 847 } 848 image 849 { 850 function = SLIDER 851 recolorable = TRUE 852 state = PRELIGHT 853 file = "Scrollbars/slider-vert-prelight.png" 854 border = { 2, 2, 2, 2 } 855 stretch = TRUE 856 orientation = VERTICAL 857 overlay_file = "Scrollbars/scroll-thumb-vert.png" 858 overlay_stretch = FALSE 859 orientation = VERTICAL 860 } 861 image 862 { 863 function = SLIDER 864 recolorable = TRUE 865 state = INSENSITIVE 866 file = "Scrollbars/slider-vert-insens.png" 867 border = { 2, 2, 2, 2 } 868 stretch = TRUE 869 orientation = VERTICAL 870 overlay_file = "Scrollbars/scroll-thumb-vert.png" 871 overlay_stretch = FALSE 872 orientation = VERTICAL 873 } 874 875###########x END SLIDERS ##################x 876 877########### Steppers ###################### 878#### UP ####### 879 image 880 { 881 function = STEPPER 882 recolorable = TRUE 883 state = NORMAL 884 file = "Scrollbars/stepper-up.png" 885 #border = { 12, 2, 2, 9 } 886 stretch = TRUE 887 arrow_direction = UP 888 } 889 image 890 { 891 function = STEPPER 892 recolorable = TRUE 893 state = PRELIGHT 894 file = "Scrollbars/stepper-up-prelight.png" 895 #border = { 12, 2, 2, 9 } 896 stretch = TRUE 897 arrow_direction = UP 898 } 899 image 900 { 901 function = STEPPER 902 recolorable = TRUE 903 state = ACTIVE 904 file = "Scrollbars/stepper-up-prelight.png" 905 #border = { 12, 2, 2, 9 } 906 stretch = TRUE 907 arrow_direction = UP 908 } 909 image 910 { 911 function = STEPPER 912 recolorable = TRUE 913 state = INSENSITIVE 914 file = "Scrollbars/stepper-up-insens.png" 915 #border = { 12, 2, 2, 9 } 916 stretch = TRUE 917 arrow_direction = UP 918 } 919 920 ######### DOWN ############ 921 922 image 923 { 924 function = STEPPER 925 recolorable = TRUE 926 state = NORMAL 927 file = "Scrollbars/stepper-down.png" 928 #border = { 12, 2, 10, 2 } 929 stretch = TRUE 930 arrow_direction = DOWN 931 } 932 image 933 { 934 function = STEPPER 935 recolorable = TRUE 936 state = PRELIGHT 937 file = "Scrollbars/stepper-down-prelight.png" 938 #border = { 12, 2, 10, 2 } 939 stretch = TRUE 940 arrow_direction = DOWN 941 } 942 image 943 { 944 function = STEPPER 945 recolorable = TRUE 946 state = ACTIVE 947 file = "Scrollbars/stepper-down-prelight.png" 948 #border = { 12, 2, 10, 2 } 949 stretch = TRUE 950 arrow_direction = DOWN 951 } 952 image 953 { 954 function = STEPPER 955 recolorable = TRUE 956 state = INSENSITIVE 957 file = "Scrollbars/stepper-down-insens.png" 958 #border = { 12, 2, 10, 2 } 959 stretch = TRUE 960 arrow_direction = DOWN 961 } 962 963############ RIGHT ################ 964 965 image 966 { 967 function = STEPPER 968 recolorable = TRUE 969 state = NORMAL 970 file = "Scrollbars/stepper-right.png" 971 #border = { 2, 9, 2, 13 } 972 stretch = TRUE 973 arrow_direction = RIGHT 974 } 975 image 976 { 977 function = STEPPER 978 recolorable = TRUE 979 state = PRELIGHT 980 file = "Scrollbars/stepper-right-prelight.png" 981 #border = { 2, 9, 2, 13 } 982 stretch = TRUE 983 arrow_direction = RIGHT 984 } 985 image 986 { 987 function = STEPPER 988 recolorable = TRUE 989 state = ACTIVE 990 file = "Scrollbars/stepper-right-prelight.png" 991 #border = { 2, 9, 2, 13 } 992 stretch = TRUE 993 arrow_direction = RIGHT 994 } 995 image 996 { 997 function = STEPPER 998 recolorable = TRUE 999 state = INSENSITIVE 1000 file = "Scrollbars/stepper-right-insens.png" 1001 #border = { 2, 9, 2, 13 } 1002 stretch = TRUE 1003 arrow_direction = RIGHT 1004 } 1005 1006############### LEFT ################### 1007 1008 image 1009 { 1010 function = STEPPER 1011 recolorable = TRUE 1012 state = NORMAL 1013 file = "Scrollbars/stepper-left.png" 1014 #border = { 2, 9, 2, 13 } 1015 stretch = TRUE 1016 arrow_direction = LEFT 1017 } 1018 image 1019 { 1020 function = STEPPER 1021 recolorable = TRUE 1022 state = PRELIGHT 1023 file = "Scrollbars/stepper-left-prelight.png" 1024 #border = { 2, 9, 2, 13 } 1025 stretch = TRUE 1026 arrow_direction = LEFT 1027 } 1028 image 1029 { 1030 function = STEPPER 1031 recolorable = TRUE 1032 state = ACTIVE 1033 file = "Scrollbars/stepper-left-prelight.png" 1034 #border = { 2, 9, 2, 13 } 1035 stretch = TRUE 1036 arrow_direction = LEFT 1037 } 1038 image 1039 { 1040 function = STEPPER 1041 recolorable = TRUE 1042 state = INSENSITIVE 1043 file = "Scrollbars/stepper-left-insens.png" 1044 #border = { 2, 9, 2, 13 } 1045 stretch = TRUE 1046 arrow_direction = LEFT 1047 } 1048 } 1049} 1050 1051##################### PROGRESSBAR ###################x 1052 1053style "progressbar" { 1054 fg[PRELIGHT] = "#838383" 1055 text[PRELIGHT] = "#838383" 1056 1057 xthickness = 1 1058 ythickness = 1 1059 1060 engine "pixmap" 1061 { 1062 image 1063 { 1064 function = BOX 1065 detail = "trough" 1066 file = "ProgressBar/t-progressbar-horiz.png" 1067 border = { 2, 2, 2, 2 } 1068 stretch = TRUE 1069# orientation = HORIZONTAL 1070 } 1071 image 1072 { 1073 function = BOX 1074 detail = "bar" 1075 file = "ProgressBar/progressbar-horiz.png" 1076 border = { 2, 2, 2, 2 } 1077 stretch = TRUE 1078# orientation = HORIZONTAL 1079 } 1080 } 1081} 1082 1083############################# RANGE ####################### 1084 1085style "range" = "default" 1086{ 1087 engine "pixmap" 1088 { 1089 image 1090 { 1091 function = BOX 1092 recolorable = TRUE 1093 detail = "trough" 1094 file = "Range/trough-horizontal.png" 1095 border = { 10, 10, 1, 19 } 1096 stretch = TRUE 1097 orientation = HORIZONTAL 1098 } 1099 image 1100 { 1101 function = BOX 1102 recolorable = TRUE 1103 detail = "trough" 1104 file = "Range/trough-vertical.png" 1105 border = { 0, 19, 10, 10 } 1106 stretch = TRUE 1107 orientation = VERTICAL 1108 } 1109 1110############### the sliders ############### 1111 1112 image 1113 { 1114 function = SLIDER 1115 recolorable = TRUE 1116 state = NORMAL 1117 file = "Range/null.png" 1118 border = { 0, 0, 0, 0 } 1119 stretch = TRUE 1120 overlay_file = "Range/slider-horiz.png" 1121 overlay_stretch = FALSE 1122 orientation = HORIZONTAL 1123 } 1124 image 1125 { 1126 function = SLIDER 1127 recolorable = TRUE 1128 state = PRELIGHT 1129 file = "Range/null.png" 1130 border = { 0, 0, 0, 0 } 1131 stretch = TRUE 1132 overlay_file = "Range/slider-horiz-prelight.png" 1133 overlay_stretch = FALSE 1134 orientation = HORIZONTAL 1135 } 1136 image 1137 { 1138 function = SLIDER 1139 recolorable = TRUE 1140 state = INSENSITIVE 1141 file = "Range/null.png" 1142 border = { 0, 0, 0, 0 } 1143 stretch = TRUE 1144 overlay_file = "Range/slider-horiz.png" 1145 overlay_stretch = FALSE 1146 orientation = HORIZONTAL 1147 } 1148 1149######################### VERTICAL ########################### 1150 1151 image 1152 { 1153 function = SLIDER 1154 recolorable = TRUE 1155 state = NORMAL 1156 file = "Range/null.png" 1157 border = { 0, 0, 0, 0 } 1158 stretch = TRUE 1159 overlay_file = "Range/slider-vert.png" 1160 overlay_stretch = FALSE 1161 orientation = VERTICAL 1162 } 1163 image 1164 { 1165 function = SLIDER 1166 recolorable = TRUE 1167 state = PRELIGHT 1168 file = "Range/null.png" 1169 border = { 0, 0, 0, 0 } 1170 stretch = TRUE 1171 overlay_file = "Range/slider-vert-prelight.png" 1172 overlay_stretch = FALSE 1173 orientation = VERTICAL 1174 } 1175 image 1176 { 1177 function = SLIDER 1178 recolorable = TRUE 1179 state = INSENSITIVE 1180 file = "Range/null.png" 1181 border = { 0, 0, 0, 0 } 1182 stretch = TRUE 1183 overlay_file = "Range/slider-vert.png" 1184 overlay_stretch = FALSE 1185 orientation = VERTICAL 1186 } 1187 } 1188} 1189 1190################### TOOLBAR ########################### 1191 1192style "toolbar" 1193{ 1194 engine "pixmap" 1195 { 1196 image 1197 { 1198 function = BOX 1199 file = "Toolbar/toolbar.png" 1200 border = { 4, 4, 4, 4} 1201 stretch = TRUE 1202 } 1203 } 1204} 1205 1206widget_class "*BonoboDockItem" style "toolbar" 1207class "*BonoboDockItem" style "toolbar" 1208 1209widget_class "*HandleBox" style "toolbar" 1210class "*HandleBox" style "toolbar" 1211 1212widget_class "*Toolbar" style "toolbar" 1213class "*Toolbar" style "toolbar" 1214 1215##################### TOOLBAR BUTTONS ############################### 1216 1217style "toolbuttons" = "default" 1218{ 1219 xthickness = 1 1220 ythickness = 1 1221 1222 GtkWidget::focus_padding = 2 1223 1224 engine "pixmap" 1225 { 1226 image 1227 { 1228 function = BOX 1229 detail = "buttondefault" 1230 recolorable = TRUE 1231 file = "Buttons/button-default.png" 1232 border = { 3, 3, 3, 3 } 1233 stretch = TRUE 1234 } 1235 image 1236 { 1237 function = BOX 1238 state = PRELIGHT 1239 recolorable = TRUE 1240 file = "Buttons/button-prelight.png" 1241 border = { 3, 3, 3, 3 } 1242 stretch = TRUE 1243 } 1244 image 1245 { 1246 function = BOX 1247 state = ACTIVE 1248 file = "Buttons/button-pressed.png" 1249 border = { 3, 3, 3, 3 } 1250 stretch = TRUE 1251 } 1252 image 1253 { 1254 function = BOX 1255 state = INSENSITIVE 1256 file = "Buttons/button-insensitive.png" 1257 border = { 3, 3, 3, 3 } 1258 stretch = TRUE 1259 } 1260 image 1261 { 1262 function = BOX 1263 file = "Buttons/button-normal.png" 1264 border = { 5, 5, 5, 5 } 1265 stretch = TRUE 1266 } 1267 } 1268} 1269 1270widget_class "*Tool*GtkToggleButton" style "toolbuttons" 1271widget_class "*Tool*GtkButton" style "toolbuttons" 1272 1273################### PANEL GRAPHICS ################################# 1274################### MENU ################################# 1275 1276style "menu" = "default" 1277{ 1278 bg_pixmap[NORMAL] = "Menu-Menubar/menu-overlay.png" 1279 xthickness = 3 1280 ythickness = 1 1281 1282 engine "pixmap" 1283 { 1284 image 1285 { 1286 function = BOX 1287 recolorable = TRUE 1288 detail = "menu" 1289 file = "Menu-Menubar/menu.png" 1290 border = { 34, 3, 3, 3 } 1291 stretch = TRUE 1292 } 1293 } 1294} 1295 1296########################### Menuitem ############################# 1297style "menuitem" = "default" 1298{ 1299 xthickness = 1 1300 fg[PRELIGHT] = "#000000" 1301 text[PRELIGHT] = "#000000" 1302 1303 engine "pixmap" 1304 { 1305 image 1306 { 1307 function = BOX 1308 recolorable = TRUE 1309 file = "Menu-Menubar/menuitem.png" 1310 border = { 6, 2, 2, 2 } 1311 stretch = TRUE 1312 } 1313 image 1314 { 1315 function = ARROW 1316 recolorable = TRUE 1317 state = NORMAL 1318 overlay_file = "Arrows/arrow-right-norm.png" 1319 overlay_stretch = FALSE 1320 arrow_direction = RIGHT 1321 } 1322 image 1323 { 1324 function = ARROW 1325 recolorable = TRUE 1326 state = PRELIGHT 1327 overlay_file = "Arrows/arrow-right.png" 1328 overlay_stretch = FALSE 1329 arrow_direction = RIGHT 1330 } 1331 } 1332} 1333 1334 1335style "tearoffmenuitem" = "menuitem" 1336{ 1337 engine "pixmap" 1338 { 1339 image 1340 { 1341 function = ARROW 1342 file = "Arrows/arrow-left.png" 1343 stretch = TRUE 1344 arrow_direction = LEFT 1345 } 1346# image 1347# { 1348# function = HLINE 1349# file = "cuthere.png" 1350# border = { 0, 0, 0, 0 } 1351# stretch = TRUE 1352# } 1353 } 1354} 1355 1356style "notebook" = "default" 1357{ 1358 1359 xthickness = 2 1360 ythickness = 2 1361 1362 engine "pixmap" 1363 { 1364 image 1365 { 1366 function = EXTENSION 1367 recolorable = TRUE 1368 state = ACTIVE 1369 file = "Tabs/tab-bottom.png" 1370 border = { 4,4,4,4} 1371 stretch = TRUE 1372 gap_side = TOP 1373 } 1374 image 1375 { 1376 function = EXTENSION 1377 recolorable = TRUE 1378 state = ACTIVE 1379 file = "Tabs/tab-top.png" 1380 border = { 4,4,4,4} 1381 stretch = TRUE 1382 gap_side = BOTTOM 1383 } 1384 image 1385 { 1386 function = EXTENSION 1387 recolorable = TRUE 1388 state = ACTIVE 1389 file = "Tabs/tab-left.png" 1390 border = { 4,4,4,4} 1391 stretch = TRUE 1392 gap_side = RIGHT 1393 } 1394 image 1395 { 1396 function = EXTENSION 1397 recolorable = TRUE 1398 state = ACTIVE 1399 file = "Tabs/tab-right.png" 1400 border = { 4,4,4,4} 1401 stretch = TRUE 1402 gap_side = LEFT 1403 } 1404 image 1405 { 1406 function = EXTENSION 1407 recolorable = TRUE 1408 file = "Tabs/tab-top-active.png" 1409 border = { 4,4,4,4} 1410 stretch = TRUE 1411 gap_side = BOTTOM 1412 } 1413 image 1414 { 1415 function = EXTENSION 1416 recolorable = TRUE 1417 file = "Tabs/tab-bottom-active.png" 1418 border = { 4,4,4,4} 1419 stretch = TRUE 1420 gap_side = TOP 1421 } 1422 image 1423 { 1424 function = EXTENSION 1425 recolorable = TRUE 1426 file = "Tabs/tab-left-active.png" 1427 border = { 4,4,4,4} 1428 stretch = TRUE 1429 gap_side = RIGHT 1430 } 1431 image 1432 { 1433 function = EXTENSION 1434 recolorable = TRUE 1435 file = "Tabs/tab-right-active.png" 1436 border = { 4,4,4,4} 1437 stretch = TRUE 1438 gap_side = LEFT 1439 } 1440 1441# How to draw boxes with a gap on one side (ie the page of a notebook) 1442 1443 image 1444 { 1445 function = BOX_GAP 1446 recolorable = TRUE 1447 file = "Tabs/notebook.png" 1448 border = { 5, 5, 5, 5 } 1449 stretch = TRUE 1450 gap_file = "Others/null.png" 1451 gap_border = { 0, 0, 0, 0 } 1452 gap_start_file = "Others/null.png" 1453 gap_start_border = { 0, 0, 0, 0 } 1454 gap_end_file = "Others/null.png" 1455 gap_end_border = { 0, 0, 0, 0 } 1456 gap_side = TOP 1457 } 1458 image 1459 { 1460 function = BOX_GAP 1461 recolorable = TRUE 1462 file = "Tabs/notebook.png" 1463 border = { 5, 5, 5, 5 } 1464 stretch = TRUE 1465 gap_file = "Others/null.png" 1466 gap_border = { 10, 10,5, 5 } 1467 gap_start_file = "Others/null.png" 1468 gap_start_border = { 10, 10, 5, 5 } 1469 gap_end_file = "Others/null.png" 1470 gap_end_border = { 10, 10, 5, 5 } 1471 gap_side = BOTTOM 1472 } 1473 image 1474 { 1475 function = BOX_GAP 1476 recolorable = TRUE 1477 file = "Tabs/notebook.png" 1478 border = { 5, 5, 5, 5 } 1479 stretch = TRUE 1480 gap_file = "Others/null.png" 1481 gap_border = { 0, 1, 0, 0 } 1482 gap_start_file = "Others/null.png" 1483 gap_start_border = { 0, 0, 2, 0 } 1484 gap_end_file = "Others/null.png" 1485 gap_end_border = { 0, 2, 1, 0 } 1486 gap_side = LEFT 1487 } 1488 image 1489 { 1490 function = BOX_GAP 1491 recolorable = TRUE 1492 file = "Tabs/notebook.png" 1493 border = { 5, 5, 5, 5 } 1494 stretch = TRUE 1495 gap_file = "Others/null.png" 1496 gap_border = { 0, 0, 1, 0 } 1497 gap_start_file = "Others/null.png" 1498 gap_start_border = { 2, 0, 2, 0 } 1499 gap_end_file = "Others/null.png" 1500 gap_end_border = { 0, 0, 0, 2 } 1501 gap_side = RIGHT 1502 } 1503 1504# How to draw the box of a notebook when it isnt attached to a tab 1505 1506 image 1507 { 1508 function = BOX 1509 recolorable = TRUE 1510 file = "Tabs/notebook.png" 1511 border = { 6,6,6,6 } 1512 stretch = TRUE 1513 #gap_side = TOP 1514 } 1515 } 1516} 1517 1518style "tooltips" = "default" 1519{ 1520 bg[NORMAL] = "#d7d7d7" 1521} 1522 1523##################### RULER ################## 1524 1525style "ruler" = "default" 1526{ 1527 engine "pixmap" 1528 { 1529 image 1530 { 1531 function = BOX 1532 recolorable = TRUE 1533 detail = "vruler" 1534 file = "Others/ruler.png" 1535 border = { 2, 2, 2, 2 } 1536 stretch = TRUE 1537 } 1538 image 1539 { 1540 function = BOX 1541 recolorable = TRUE 1542 detail = "hruler" 1543 file = "Others/ruler.png" 1544 border = { 2, 2, 2, 2 } 1545 stretch = TRUE 1546 } 1547 } 1548} 1549 1550################# HANDLES ###################x 1551 1552 1553style "handlebox" = "default" 1554{ 1555 engine "pixmap" 1556 { 1557 image 1558 { 1559 #function = SHADOW 1560 } 1561 image 1562 { 1563 function = HANDLE 1564 recolorable = TRUE 1565 overlay_file = "Handles/handle-v.png" 1566 overlay_stretch = FALSE 1567 orientation = VERTICAL 1568 } 1569 image 1570 { 1571 function = HANDLE 1572 overlay_file = "Handles/handle-h.png" 1573 overlay_stretch = FALSE 1574 orientation = HORIZONTAL 1575 } 1576 } 1577} 1578 1579style "eventbox" 1580{ 1581 bg_pixmap[NORMAL] = "<parent>" 1582 bg_pixmap[ACTIVE] = "<parent>" 1583 bg_pixmap[SELECTED] = "<parent>" 1584 bg_pixmap[INSENSITIVE] = "<parent>" 1585} 1586 1587style "flat" = "default" 1588{ 1589 engine "pixmap" 1590 { 1591 image 1592 { 1593 function = SHADOW 1594 } 1595 } 1596} 1597 1598style "layout" = "default" 1599{ 1600 engine "pixmap" 1601 { 1602 image 1603 { 1604 function = SHADOW 1605 detail = "entry" 1606 shadow = IN 1607 recolorable = FALSE 1608 file = "Shadows/text.png" 1609 border = { 1, 1, 1, 1 } 1610 stretch = TRUE 1611 } 1612 image 1613 { 1614 function = BOX 1615 detail = "button" 1616 state = NORMAL 1617 file = "Buttons/button-normal.png" 1618 recolorable = TRUE 1619 border = { 2, 3, 2, 3 } 1620 stretch = TRUE 1621 } 1622 } 1623} 1624 1625##################### LISTHEADERS ###################x 1626 1627style "list-header" 1628{ 1629 #Comment out the ythickness setting below for thicker column headers. 1630 #ythickness = 0 1631 GtkTreeView::odd_row_color = "#ffffff" 1632 GtkTreeView::even_row_color = "#ffffff" 1633 1634# fg[NORMAL] = "#ffffff" 1635# text[NORMAL] = "#ffffff" 1636 1637 engine "pixmap" 1638 { 1639 1640 #This image is used to draw the headers of columns in list views when they are 1641 #not selected. 1642 image 1643 { 1644 function = BOX 1645 recolorable = TRUE 1646 state = NORMAL 1647 file = "ListHeaders/list_header.png" 1648 border = { 2, 2, 2, 2 } 1649 stretch = TRUE 1650 } 1651 1652 #This image is used to draw the column headers in list views when they are 1653 #clicked. 1654 image 1655 { 1656 function = BOX 1657 recolorable = TRUE 1658 state = PRELIGHT 1659 file = "ListHeaders/list_header-prelight.png" 1660 border = { 2, 2, 2, 2 } 1661 stretch = TRUE 1662 } 1663 1664 #Does this do anything? 1665 1666 image 1667 { 1668 function = BOX 1669 recolorable = TRUE 1670 state = ACTIVE 1671 file = "ListHeaders/list_header-pressed.png" 1672 border = { 2, 2, 2, 2} 1673 stretch = TRUE 1674 } 1675 image 1676 { 1677 function = BOX 1678 recolorable = TRUE 1679 state = SELECTED 1680 file = "ListHeaders/list_header-prelight.png" 1681 border = { 2, 2, 2, 2 } 1682 stretch = TRUE 1683 } 1684 image 1685 { 1686 function = BOX 1687 recolorable = TRUE 1688 state = INSENSITIVE 1689 file = "ListHeaders/list_header-insens.png" 1690 border = { 2, 2, 2, 2 } 1691 stretch = TRUE 1692 } 1693 } 1694} 1695 1696widget_class "*List" style "list-header" 1697widget_class "*GtkTree*" style "list-header" 1698widget_class "*GtkCList*" style "list-header" 1699#widget_class "*Tree*" style "list-header" 1700 1701# This prevents Sodipodi from crashing while opening the 1702# Object-Style dialog. 1703 1704style "unstyle" 1705{ 1706 engine "" 1707 { 1708 } 1709} 1710 1711# recognizable pressed toggle buttons 1712# SPIcons seem to erase the background first. That's why I can't use 1713# the button style. 1714 1715style "SPbutton" 1716{ 1717 engine "pixmap" 1718 { 1719 image 1720 { 1721 function = BOX 1722 shadow = IN 1723 recolorable = TRUE 1724 file = "Shadows/shadow-out.png" 1725 border = { 2, 2, 2, 2 } 1726 stretch = TRUE 1727 } 1728 image 1729 { 1730 function = BOX 1731 } 1732 } 1733} 1734 1735style "treecol" 1736{ 1737 bg[NORMAL] = "#000000" 1738} 1739 1740style "metacity-frame" 1741{ 1742 # Normal base color 1743 #bg[NORMAL] = "#bbbbbb" 1744 1745 # Unfocused title background color 1746 #bg[INSENSITIVE] = { 0.8, 0.8, 0.8 } 1747 1748 # Unfocused title text color 1749 #fg[INSENSITIVE] = { 1.55, 1.55, 1.55 } 1750 1751 # Focused icon color 1752 #fg[NORMAL] = { 0.2, 0.2, 0.2 } 1753 1754 # Focused title background color 1755 bg[SELECTED] = "#4A4A4A" 1756 1757 # Focused title text color 1758 fg[SELECTED] = "#F9F9F9" 1759} 1760 1761# widget styles 1762class "GtkWindow" style "background" 1763class "MetaFrames" style "metacity-frame" 1764class "GtkButton" style "button" 1765class "GtkRadioButton" style "radiobutton" 1766class "GtkRadioMenuItem" style "radiobutton" 1767class "GtkCheckButton" style "checkbutton" 1768class "GtkCheckMenuItem" style "checkbutton" 1769class "GtkOptionMenu" style "optionmenu" 1770class "GtkCombo*" style "optionmenu" 1771class "*Font*" style "optionmenu" 1772class "GtkEntry" style "entry" 1773class "GtkOldEditable" style "entry" 1774class "GtkSpinButton" style "spinbutton" 1775class "GtkRuler" style "ruler" 1776class "GtkScrollbar" style "scrollbar" 1777 1778class "GtkProgressBar" style "progressbar" 1779widget_class "*GtkProgressBar*" style "progressbar" 1780 1781class "GtkRange" style "range" 1782class "GtkMenu" style "menu" 1783 1784class "GtkMenuBar*" style "menubar" 1785 1786widget_class "*MenuBar.*" style "menubar" 1787 1788#class "GtkImageMenuItem" style "menubar" 1789 1790class "GtkMenuItem" style "menuitem" 1791class "GtkTearoffMenuItem" style "menuitem" 1792widget_class "*MenuItem*" style "menuitem" 1793class "GtkNotebook" style "notebook" 1794#class "GtkTextView" style "textview" 1795#class "GtkTreeView" style "treeview" 1796class "GtkToolbar" style "flat" 1797class "GtkHandleBox" style "handlebox" 1798class "GtkEventBox" style "flat" 1799 1800# main_label_info 1801widget_class "*GtkVBox.GtkFrame.GtkVBox.GtkEventBox" style "eventbox" 1802 1803# unit_pixmap_table 1804widget_class "*GtkVBox.GtkHBox.GtkTable.GtkEventBox" style "eventbox" 1805 1806class "GtkPaned" style "handlebox" 1807class "GtkLayout" style "layout" 1808class "SPButton" style "SPbutton" 1809widget "gtk-tooltips" style "tooltips" 1810 1811# prevent Sodipodi from crashing 1812class "SPColorSlider" style "unstyle" 1813