1###################################################################### 2# Aluminum Alloy 3# A Port of a Mac OS X theme originally made by Max Rudberg - http://www.maxthemes.com 4#Thank you the permission and original pixmaps! 5###################################################################### 6 7 8gtk-icon-sizes = "panel-menu=24,24:gtk-menu=16,16" 9gtk-menu-drop-shadow = 1 10gtk-menu-shadow-delay = 10 11 12include "icons/iconrc" 13 14 15 16 17style "osx-default" 18{ 19 20GtkScrollbar::has_secondary_backward_stepper = 1 21 GtkScrollbar::has_secondary_forward_stepper = 0 22 #GtkWidget::interior_focus = 1 23 #GtkWidget::focus-line-width=0 24 GtkButton::default_border = { 0, 0, 0, 0 } 25 GtkButton::default_outside_border = { 0, 0, 0, 0 } 26 #GtkButton::default_border = { 3,3,3,3 } 27 #GtkButton::default_outside_border = { 3,3,3,3 } 28 #GtkDialog::action_area_border = {0,0,0,0} 29 GtkButton::min_width = 23 30 31 #Yes or No? 32 #GtkWidget::focus_padding = 1 33 34#GtkEntry::padding = 2 35 GtkPaned::handle_size = 8 36 GtkTextView::shadow_type = GTK_SHADOW_IN 37 GtkFrame::shadow_type = GTK_SHADOW_IN 38 GtkScrolledWindow::shadow_type = GTK_SHADOW_IN 39#GtkEntry::shadow_type = GTK_SHADOW_NONE 40 GtkSpin::shadow_type = GTK_SHADOW_NONE 41 GtkComboBox::shadow_type = GTK_SHADOW_NONE 42 GtkHandle::shadow_type = GTK_SHADOW_OUT 43#GtkContainer::shadow_type = GTK_SHADOW_NONE 44#GtkPaned::shadow_type = GTK_SHADOW_IN 45 46 GtkMenuBar::internal-padding = 0 47 #GtkMenuBar::shadow_type = GTK_SHADOW_NONE 48 49 GtkContainer::border_width = 0 50 51 #These properties control how the image on a button is displaced when it is clicked. 52 #GtkButton::child_displacement_x = 0 53 #GtkButton::child_displacement_y = 1 54 55 #GtkButtonBox::child_min_width = 28 56 57 GtkOptionMenu::indicator_size = { 11, 20 } 58 GtkOptionMenu::indicator_spacing = { 6, 3, 1, 1 } 59 60 #xthickness = 1 61 #ythickness = 1 62 63 #This sets the color for odd rows in TreeViews to be light blue, instead of using 64 #the color set by gtk. 65 GtkTreeView::odd_row_color = "#d3d8e1" 66 67 fg[NORMAL] = "#000000" 68 fg[ACTIVE] = "#000000" 69# fg[PRELIGHT] = "#000000" 70 fg[SELECTED] = "#000000" 71 fg[INSENSITIVE] = "#747474" 72 bg[NORMAL] = "#e4e7ed" 73 bg[ACTIVE] = "#e4e7ed" 74 bg[PRELIGHT] = "#e4e7ed" 75 bg[SELECTED] = "#c4c4c4" 76 bg[INSENSITIVE] = "#e4e7ed" 77 base[NORMAL] = "#FFFFFF" 78 base[ACTIVE] = "#8b929f" ## 79 base[PRELIGHT] = "#FFFFFF" 80 base[INSENSITIVE]= "#e4e7ed" 81 base[SELECTED] = "#8b929f" 82 text[INSENSITIVE]= "#747474" 83 text[SELECTED] = "#000000" 84 text[ACTIVE] = "#000000" 85 text[PRELIGHT] = "#ffffff" 86 87#app backgrouds 88#bg_pixmap[NORMAL] = "bg_light.png" 89#bg_pixmap[PRELIGHT] = "bg_light.png" 90 91 92#A semi-transparent hi-light for files selected in Nautilus 93 NautilusIconContainer::highlight_alpha=150 94 # NautilusIconContainer::dark_info_color = "#000000" 95 # NautilusIconContainer::light_info_color = "#ffffff" 96 97 98 engine "pixmap" 99 100 101 { 102 103 104 105# 106# Tooltips 107# 108 image 109 { 110 function = FLAT_BOX 111 recolorable = TRUE 112 detail = "tooltip" 113 file = "tooltip.png" 114 border = { 2, 2, 2, 2 } 115 stretch = TRUE 116 } 117 118# 119 120 121 122 #This defines how the focus is drawn. Using a transparent image means there is 123 #no line around a widget when it is in focus. 124 image 125 { 126 function = FOCUS 127 recolorable = TRUE 128 overlay_file = "transparent.png" 129 overlay_border = { 0, 0, 0, 0 } 130 overlay_stretch = TRUE 131 } 132 133 #The following four entries describe how the different types of shadows 134 #are drawn 135 image 136 { 137 function = SHADOW 138 recolorable = TRUE 139 shadow = OUT 140 file = "shadow_etched_out.png" 141 border = { 3, 3, 3, 3} 142 stretch = TRUE 143 } 144 145 image 146 { 147 function = SHADOW 148 recolorable = TRUE 149 shadow = IN 150 file = "shadow_in.png" 151 border = { 3, 3, 3, 3 } 152 stretch = TRUE 153 } 154 155 image 156 { 157 function = SHADOW 158 recolorable = TRUE 159 shadow = ETCHED_IN 160 file = "shadow_etched_in.png" 161 border = { 3, 3, 3, 3 } 162 stretch = TRUE 163 } 164 165 image 166 { 167 function = SHADOW 168 recolorable = TRUE 169 shadow = ETCHED_OUT 170 file = "shadow_etched_out.png" 171 border = { 3, 3, 3, 3 } 172 stretch = TRUE 173 } 174 175 #How to draw horizontal lines 176 image 177 { 178 function = HLINE 179 recolorable = TRUE 180 file = "hline_245.png" 181 border = { 3, 3, 0, 0 } 182 stretch = FALSE 183 } 184 185 #How to draw vertical lines 186 image 187 { 188 function = VLINE 189 recolorable = TRUE 190 file = "vline.png" 191 border = { 1, 0, 1, 1 } 192 stretch = TRUE 193 } 194 195 196 197 198# 199# The handle on Handleboxes 200# 201 image 202 { 203 function = HANDLE 204 recolorable = TRUE 205 overlay_file = "pane_splitter.png" 206 overlay_border = { 0, 0, 0, 0 } 207 overlay_stretch = FALSE 208 orientation = VERTICAL 209 } 210 image 211 { 212 function = HANDLE 213 recolorable = TRUE 214 overlay_file = "pane_splitter.png" 215 overlay_border = { 0, 0, 0, 0 } 216 overlay_stretch = FALSE 217 orientation = HORIZONTAL 218 } 219 220# 221# How to draw shadows with a gap on one side 222# 223 224 225 226 227 } 228 229} 230 231##################################################### 232#Buttons 233##################################################### 234 235style "button" { 236 xthickness = 3 237 ythickness = 0 238 239 engine "pixmap" { 240 image { 241 function = BOX 242 recolorable = TRUE 243 state = NORMAL 244 detail = "buttondefault" 245 shadow = IN 246 file = "button_normal.png" 247 border = {12,12,6,9} 248 stretch = TRUE 249 } 250 image { 251 function = BOX 252 recolorable = FALSE 253 state = NORMAL 254 shadow = OUT 255 file = "button_normal.png" 256 border = {12,12,6,9} 257 stretch = TRUE 258 } 259 image { 260 function = BOX 261 recolorable = FALSE 262 state = PRELIGHT 263 shadow = IN 264 file = "button_prelight.png" 265 border = {12,12,6,9} 266 stretch = TRUE 267 } 268 269 270 image { 271 function = BOX 272 recolorable = FALSE 273 state = ACTIVE 274 shadow = IN 275 file = "button_push.png" 276 border = {12,12,6,9} 277 stretch = TRUE 278 } 279 image 280 { 281 function = BOX 282 recolorable = TRUE 283 state = PRELIGHT 284 shadow = OUT 285 file = "button_prelight.png" 286 border = {12,12,6,9} 287 stretch = TRUE 288 } 289 image 290 { 291 function = BOX 292 recolorable = TRUE 293 state = NORMAL 294 shadow = IN 295 file = "button_prelight.png" 296 border = {12,12,6,9} 297 stretch = TRUE 298 } 299 image 300 { 301 function = BOX 302 recolorable = TRUE 303 state = INSENSITIVE 304 shadow = IN 305 file = "button_flat.png" 306 border = {12,12,6,9} 307 stretch = TRUE 308 } 309 image 310 { 311 function = BOX 312 recolorable = TRUE 313 state = INSENSITIVE 314 shadow = OUT 315 file = "button_flat.png" 316 border = {12,12,6,9} 317 stretch = TRUE 318 } 319 image 320 { 321 function = BOX 322 recolorable = TRUE 323 state = SELECTED 324 shadow = IN 325 file = "button_prelight.png" 326 border = {12,12,6,9} 327 stretch = TRUE 328 } 329 image 330 { 331 function = BOX 332 recolorable = TRUE 333 state = ACTIVE 334 shadow = IN 335 file = "button_prelight.png" 336 border = {12,12,6,9} 337 stretch = TRUE 338 } 339 } 340} 341class "GtkButton" style "button" 342 343################################################ 344# Paned Widgets: Windows divided into two or more sections, which can be 345# resized by dragging handles. 346################################################ 347 348style "osx-paned" = "osx-default" 349{ 350 #This section describes how panes are drawn. Panes are windows that are separated 351 #into two parts by a horizontal or vertical divider. The instructions set here over-ride 352 #the instructions set above for how to draw handles. 353 354 #xthickness = 5 355 #ythickness = 5 356 357 #This defines the thickness of the bar that divides the window. 358 GtkPaned::handle_size = 8 359 360 361 engine "pixmap" 362 { 363 # The handle on horizontal dividers 364 image 365 { 366 function = HANDLE 367 recolorable = TRUE 368 file = "null.png" 369 border = { 1, 1, 1, 1 } 370 stretch = TRUE 371 overlay_file = "pane_splitter.png" 372 overlay_border = {0,0,0,0} 373 overlay_stretch = FALSE 374 orientation = HORIZONTAL 375 } 376 377 # The handle on vertical dividers 378 image 379 { 380 function = HANDLE 381 recolorable = TRUE 382 383 file = "null.png" 384 border = { 1, 1, 1, 1 } 385 stretch = TRUE 386 overlay_file = "pane_splitter.png" 387 overlay_border = {0,0,0,0} 388 overlay_stretch = FALSE 389 orientation = VERTICAL 390 } 391 392 393 } 394} 395 396class "Gtk*Paned" style "osx-paned" 397 398############################################### 399# Menus 400############################################### 401 402style "osx-menu" { 403bg_pixmap[NORMAL] = "menu_back.png" 404 xthickness = 1 405 ythickness = 1 406 #bg[SELECTED] = { 0.30,0.35,0.65 } 407 fg[PRELIGHT] = "#ffffff" 408 fg[NORMAL] = "#ffffff" 409 fg[ACTIVE] = "#ffffff" 410 411engine "pixmap" { 412 image { 413 function = BOX 414 recolorable = TRUE 415 file = "menu_border.png" 416 border = { 1, 1, 1, 1 } 417 stretch = TRUE 418 } 419 420 image 421 { 422 function = HLINE 423 recolorable = TRUE 424 file = "hline_menu.png" 425 border = { 0, 0, 0, 0 } 426 stretch = FALSE 427 } 428 429 } 430} 431#widget_class "*Menu*" style "osx-menu" 432class "GtkMenu" style "osx-menu" 433 434 435 436############################################### 437# Menu Items 438############################################### 439 440style "MenuItem" 441{ 442 443 444 xthickness = 3 445 ythickness = 2 446 #bg[SELECTED] = { 0.30,0.35,0.65 } 447 fg[PRELIGHT] = "#ffffff" 448 449 450 451 engine "pixmap" 452 { 453 454 #This image is used to draw the highlight on a menu entry when it is 455 #moused over. 456 image 457 { 458 function = BOX 459 recolorable = TRUE 460 file = "menu_hi-light.png" 461 border = { 10, 2, 2, 2 } 462 stretch = TRUE 463 } 464 465 image 466 { 467 function = HLINE 468 recolorable = TRUE 469 file = "hline_menu.png" 470 border = { 0, 0, 0, 0 } 471 stretch = FALSE 472 } 473 474 } 475} 476 477widget_class "*.GtkMenuItem.*" style "MenuItem" 478widget_class "*.GtkAccelMenuItem.*" style "MenuItem" 479 480class "GtkMenuItem" style "MenuItem" 481 482############################################### 483# Styles and Controls for Option Menus 484############################################### 485 486style "OptionMenu" 487{ 488 engine "pixmap" { 489 490 image { 491 function = BOX 492 recolorable = TRUE 493 494 file = "menubar_option.png" 495 border = { 12, 23, 7, 11 } 496 stretch = TRUE 497 } 498 499 image { 500 function = TAB 501 recolorable = TRUE 502 overlay_file = "menubar_option_arrow.png" 503 overlay_stretch = FALSE 504 } 505 image { 506 function = TAB 507 recolorable = TRUE 508 state = INSENSITIVE 509 overlay_file = "menubar_option_arrow_insensitive.png" 510 overlay_stretch = FALSE 511 } 512 513} 514 515########################################### 516 517} 518 519 520class "GtkOptionMenu" style "OptionMenu" 521 522##################################################### 523#Notebook: How to draw the tabs, spacings, and backgrounds for notebooks. 524##################################################### 525 526style "notebook" { 527xthickness = 4 528 ythickness = 1 529 engine "pixmap" { 530 # NOTEBOOK TABS 531 # FIXME: Do left and right tabs as well 532 # TOP 533 # top background tabs 534 image { 535 function = EXTENSION 536 state = ACTIVE 537 gap_side = BOTTOM 538 file = "new_tab_top_inactive.png" 539 border = {10,10,5,8} 540 stretch = TRUE 541 } 542 # top foreground tab 543 image { 544 function = EXTENSION 545 gap_side = BOTTOM 546 file = "new_tab_top_active.png" 547 border = {10,10,5,8} 548 stretch = TRUE 549 } 550 551#BOTTOM 552image { 553 function = EXTENSION 554 state = ACTIVE 555 gap_side = TOP 556 file = "new_tab_top_inactive.png" 557 border = {10,10,5,8} 558 stretch = TRUE 559 } 560 # top foreground tab 561 image { 562 function = EXTENSION 563 gap_side = TOP 564 file = "new_tab_top_active.png" 565 border = {10,10,5,8} 566 stretch = TRUE 567 } 568 569#LEFT 570image { 571 function = EXTENSION 572 state = ACTIVE 573 gap_side = RIGHT 574 file = "new_tab_top_inactive.png" 575 border = {10,10,5,8} 576 stretch = TRUE 577 } 578 # top foreground tab 579 image { 580 function = EXTENSION 581 gap_side = RIGHT 582 file = "new_tab_top_active.png" 583 border = {10,10,5,8} 584 stretch = TRUE 585 } 586 587 588#RIGHT 589image { 590 function = EXTENSION 591 state = ACTIVE 592 gap_side = LEFT 593 file = "new_tab_top_inactive.png" 594 border = {10,10,5,8} 595 stretch = TRUE 596 } 597 # top foreground tab 598 image { 599 function = EXTENSION 600 gap_side = LEFT 601 file = "new_tab_top_active.png" 602 border = {10,10,5,8} 603 stretch = TRUE 604 } 605 606 607 # NOTEBOOK BORDERS 608 # tabs on top 609 image { 610 611 function = BOX_GAP 612 gap_side = TOP 613 file = "notebook_border.png" 614 border = {10,10,10,10} 615 stretch = TRUE 616 } 617 # tabs on bottom 618 image { 619 function = BOX_GAP 620 gap_side = BOTTOM 621 file = "notebook_border.png" 622 border = {10,10,10,10} 623 stretch = TRUE 624 } 625 # tabs on left 626 image { 627 function = BOX_GAP 628 gap_side = LEFT 629 file = "notebook_border.png" 630 border = {10,10,10,10} 631 stretch = TRUE 632 } 633 # tabs on right 634 image { 635 function = BOX_GAP 636 gap_side = RIGHT 637 file = "notebook_border.png" 638 border = {10,10,10,10} 639 stretch = TRUE 640 } 641 642# 643# How to draw the box of a notebook when it isnt attached to a tab 644# 645 646 647 image 648 { 649 650 function = BOX 651 recolorable = TRUE 652 file = "notebook_border.png" 653 border = { 10, 10, 10, 10 } 654 stretch = TRUE 655 gap_side = TOP 656 } 657 } 658} 659class "GtkNotebook" style "notebook" 660 661##################################################### 662# Text Entries 663##################################################### 664 665 666style "entry" 667{ 668 #xthickness = 2 669 #ythickness = 2 670 #bg[SELECTED] = { 0.30,0.35,0.65 } 671 #fg[PRELIGHT] = "#ffffff" 672 673 # 674 675 #In the default style we set this color to white because it sets the background color for 676 #things like GtkText and GtkList, etc, which we want white. But here we set the background 677 #color for GtkEntry to be light gray so that it blends in with things like toolbars. This causes a 678 #problem for GtkEntry widgets that appear on, say, notebook tabs. It would be *great* if I 679 #knew how to make the base of a GtkEntry widget transparent so that it blended in with 680 #whatever widget it sits on top of. 681 base[NORMAL] = "#e4e7ed" 682 683 #bg_pixmap[NORMAL] = "menu_background.png" 684 685 engine "pixmap" 686 { 687image 688 { 689 function = FLAT_BOX 690 recolorable = TRUE 691 state = INSENSITIVE 692 detail = "entry_bg" 693 file = "text_entry.png" 694 border = {6,6,6,6 } 695 stretch = TRUE 696 } 697 698 image 699 { 700 function = FLAT_BOX 701 recolorable = TRUE 702 state = NORMAL 703 detail = "entry_bg" 704 file = "text_entry.png" 705 border = {6,6,6,6 } 706 stretch = TRUE 707 } 708 709 image 710 { 711 function = FLAT_BOX 712 recolorable = TRUE 713 state = SELECTED 714 detail = "entry_bg" 715 file = "out_sel.png" 716 border = { 3,3,3,3 } 717 stretch = TRUE 718 } 719 720 721#This is a transparent shadow. 722 image 723 { 724 function = SHADOW 725 recolorable = TRUE 726 shadow = IN 727 #file = "null.png" 728 file = "transparent.png" 729 border = { 1,1,1,1 } 730 stretch = TRUE 731 } 732 image 733 { 734 function = FOCUS 735 recolorable = TRUE 736 overlay_file = "transparent.png" 737 overlay_border = { 2, 2, 2, 2 } 738 overlay_stretch = TRUE 739 } 740 741 742 743 744 745 746 } 747} 748 749class "GtkEntry" style "entry" 750 751############################################### 752# Gtk Lists, like the Rhythmbox playlist or Nautilus Listview 753############################################### 754style "list-header" 755{ 756 xthickness = 2 757 #ythickness = 2 758 GtkTreeView::odd_row_color = "#e4ebf5" 759 GtkTreeView::even_row_color = "#ffffff" 760 761 762} 763 764widget_class "*List" style "list-header" 765#widget_class "*Tree*" style "list-header" 766widget_class "GtkCList" style "list-header" 767 768 769 770 771 #The values I set here have to do with the relative size of three graphic elements 772 #I have used: the slider, the arrow box, and the trough. They all have the same width 773 #of 15 pixels, but gtk wants to put in some spacing between them. It seems like it 774 #places the sliders inside the trough with a default 1 pixel border on either side of the slider, 775 #so that the trough has its width stretched by an additional two pixels(?). Setting the 776 #trough border makes the arrow box sit on top of the trough squarely, by making sure that 777 #the trough stays the same width as the arrowbox(?). I could be totally wrong here. 778 779 780########################################### 781# Scrollbars 782########################################### 783# 784 785 786 787style "Scrollbar" { 788 789 GtkRange::trough_border = 0 790 GtkVScale::slider_length = 16 791 GtkVScale::slider_width = 19 792 GtkHScale::slider_length = 17 793 GtkHScale::slider_width = 19 794 GtkRange::slider_width = 15 795 GtkRange::stepper_size = 15 796GtkScrollbar::min_slider_length = 30 797 798 799 engine "pixmap" { 800 801 image { 802 function = BOX 803 recolorable = TRUE 804 detail = "trough" 805 file = "vertical_trough.png" 806 border = { 0, 0, 39, 39 } 807 stretch = TRUE 808 orientation = VERTICAL 809 } 810 image { 811 function = BOX 812 recolorable = TRUE 813 detail = "trough" 814 file = "horizontal_trough.png" 815 border = { 39, 39, 0, 0 } 816 stretch = TRUE 817 orientation = HORIZONTAL 818 } 819 image { 820 function = SLIDER 821 recolorable = TRUE 822 state = NORMAL 823 file = "scrollbar_horizontal.png" 824 border = { 12, 12, 6, 6 } 825 stretch = TRUE 826 orientation = HORIZONTAL 827 } 828 image { 829 function = SLIDER 830 recolorable = TRUE 831 state = PRELIGHT 832 file = "scrollbar_horizontal.png" 833 border = { 12, 12, 6 ,6 } 834 stretch = TRUE 835 orientation = HORIZONTAL 836 } 837 image { 838 function = SLIDER 839 recolorable = TRUE 840 state = INSENSITIVE 841 file = "scrollbar_horizontal_insens.png" 842 border = { 12, 12, 6 ,6 } 843 stretch = TRUE 844 orientation = HORIZONTAL 845 } 846 847 848 image { 849 function = SLIDER 850 recolorable = TRUE 851 state = NORMAL 852 file = "scrollbar_vertical.png" 853 border = { 6, 6, 12, 12 } 854 stretch = TRUE 855 orientation = VERTICAL 856 } 857 image { 858 function = SLIDER 859 recolorable = TRUE 860 state = PRELIGHT 861 file = "scrollbar_vertical.png" 862 border = { 6, 6, 12, 12 } 863 stretch = TRUE 864 orientation = VERTICAL 865 } 866 image { 867 function = SLIDER 868 recolorable = TRUE 869 state = INSENSITIVE 870 file = "scrollbar_vertical_insens.png" 871 border = { 6, 6, 12, 12 } 872 stretch = TRUE 873 orientation = VERTICAL 874 } 875 876# innen a nyilak 877 image { 878 function = BOX 879 recolorable = TRUE 880 state = NORMAL 881 file = "vscroll_down.png" 882 border = { 0, 0, 0, 0 } 883 stretch = TRUE 884 } 885 image { 886 function = BOX 887 recolorable = TRUE 888 state = PRELIGHT 889 file = "vscroll_down.png" 890 border = { 0, 0, 0, 0 } 891 stretch = TRUE 892 orientation = HORIZONTAL 893 } 894 image { 895 function = BOX 896 recolorable = TRUE 897 state = ACTIVE 898 file = "vscroll_down.png" 899 border = { 0, 0, 0, 0 } 900 stretch = TRUE 901 } 902 image { 903 function = BOX 904 recolorable = TRUE 905 state = INSENSITIVE 906 file = "vscroll_down.png" 907 border = { 0, 0, 0, 0 } 908 stretch = TRUE 909 } 910 911 912image 913 { 914 function = ARROW 915 recolorable = TRUE 916 state = NORMAL 917 overlay_file = "null.png" 918 overlay_border = { 0, 0, 0, 0 } 919 overlay_stretch = FALSE 920 arrow_direction = UP 921 } 922 image 923 { 924 function = ARROW 925 recolorable = TRUE 926 state = NORMAL 927 overlay_file = "null.png" 928 overlay_border = { 0, 0, 0, 0 } 929 overlay_stretch = FALSE 930 arrow_direction = DOWN 931 } 932 image 933 { 934 function = ARROW 935 recolorable = TRUE 936 state = NORMAL 937 overlay_file = "null.png" 938 overlay_border = { 0, 0, 0, 0 } 939 overlay_stretch = FALSE 940 arrow_direction = LEFT 941 } 942 image 943 { 944 function = ARROW 945 recolorable = TRUE 946 state = NORMAL 947 overlay_file = "null.png" 948 overlay_border = { 0, 0, 0, 0 } 949 overlay_stretch = FALSE 950 arrow_direction = RIGHT 951 } 952 image 953 { 954 function = ARROW 955 recolorable = TRUE 956 state = PRELIGHT 957 overlay_file = "null.png" 958 overlay_border = { 0, 0, 0, 0 } 959 overlay_stretch = FALSE 960 arrow_direction = UP 961 } 962 963 image 964 { 965 function = ARROW 966 recolorable = TRUE 967 state = PRELIGHT 968 overlay_file = "null.png" 969 overlay_border = { 0, 0, 0, 0 } 970 overlay_stretch = FALSE 971 arrow_direction = DOWN 972 } 973 image 974 { 975 function = ARROW 976 recolorable = TRUE 977 state = PRELIGHT 978 overlay_file = "null.png" 979 overlay_border = { 0, 0, 0, 0 } 980 overlay_stretch = FALSE 981 arrow_direction = LEFT 982 } 983 image 984 { 985 function = ARROW 986 recolorable = TRUE 987 state = PRELIGHT 988 overlay_file = "null.png" 989 overlay_border = { 0, 0, 0, 0 } 990 overlay_stretch = FALSE 991 arrow_direction = RIGHT 992 } 993 994# itt az insensitive 995 image 996 { 997 function = ARROW 998 recolorable = TRUE 999 state = INSENSITIVE 1000 overlay_file = "null.png" 1001 overlay_border = { 0, 0, 0, 0 } 1002 overlay_stretch = FALSE 1003 arrow_direction = UP 1004 } 1005 1006 image 1007 { 1008 function = ARROW 1009 recolorable = TRUE 1010 state =INSENSITIVE 1011 overlay_file = "null.png" 1012 overlay_border = { 0, 0, 0, 0 } 1013 overlay_stretch = FALSE 1014 arrow_direction = DOWN 1015 } 1016 image 1017 { 1018 function = ARROW 1019 recolorable = TRUE 1020 state = INSENSITIVE 1021 overlay_file = "null.png" 1022 overlay_border = { 0, 0, 0, 0 } 1023 overlay_stretch = FALSE 1024 arrow_direction = LEFT 1025 } 1026 image 1027 { 1028 function = ARROW 1029 recolorable = TRUE 1030 state = INSENSITIVE 1031 overlay_file = "null.png" 1032 overlay_border = { 0, 0, 0, 0 } 1033 overlay_stretch = FALSE 1034 arrow_direction = RIGHT 1035 } 1036# idáig insensitive 1037 1038 image 1039 { 1040 function = ARROW 1041 recolorable = TRUE 1042 shadow = IN 1043 overlay_file = "null.png" 1044 overlay_border = { 0, 0, 0, 0 } 1045 overlay_stretch = FALSE 1046 arrow_direction = UP 1047 } 1048 image 1049 { 1050 function = ARROW 1051 recolorable = TRUE 1052 shadow = IN 1053 overlay_file = "null.png" 1054 overlay_border = { 0, 0, 0, 0 } 1055 overlay_stretch = FALSE 1056 arrow_direction = DOWN 1057 } 1058 image 1059 { 1060 function = ARROW 1061 recolorable = TRUE 1062 shadow = IN 1063 overlay_file = "null.png" 1064 overlay_border = { 0, 0, 0, 0 } 1065 overlay_stretch = FALSE 1066 arrow_direction = LEFT 1067 } 1068 image 1069 { 1070 function = ARROW 1071 recolorable = TRUE 1072 shadow = IN 1073 overlay_file = "null.png" 1074 overlay_border = { 0, 0, 0, 0 } 1075 overlay_stretch = FALSE 1076 arrow_direction = RIGHT 1077 } 1078 1079} 1080} 1081 1082class "GtkScrollbar" style "Scrollbar" 1083 1084########################################### 1085# Scales: The sliders used for volume, track position, etc. Drawn without 1086# arrow boxes on the end. 1087########################################### 1088 1089#Problem: scales in some apps, like the Gimp, dont look right when they 1090#are small. The slider is too thin and has two overlapping pieces and looks 1091#like crap. 1092 1093style "Scales" { 1094 1095 GtkVScale::slider_length = 21 1096 GtkVScale::slider_width = 21 1097 GtkHScale::slider_length = 21 1098 GtkHScale::slider_width = 21 1099 1100 engine "pixmap" { 1101 image { 1102 function = BOX 1103 recolorable = TRUE 1104 detail = "trough" 1105 file = "slider_vert_bg_new.png" 1106 border = { 0, 0, 10, 10 } 1107 stretch = TRUE 1108 orientation = VERTICAL 1109 } 1110 image { 1111 function = BOX 1112 recolorable = TRUE 1113 detail = "trough" 1114 file = "slider_horiz_bg_new.png" 1115 border = { 10, 10, 0, 0 } 1116 stretch = TRUE 1117 orientation = HORIZONTAL 1118 } 1119 image { 1120 function = SLIDER 1121 recolorable = TRUE 1122 state = NORMAL 1123 file = "slider_button_norm_south.png" 1124 border = { 0, 0, 0, 0 } 1125 stretch = TRUE 1126 orientation = HORIZONTAL 1127 } 1128 image { 1129 function = SLIDER 1130 recolorable = TRUE 1131 state = PRELIGHT 1132 file = "slider_button_prelight_south.png" 1133 border = { 0, 0, 0, 0 } 1134 stretch = TRUE 1135 orientation = HORIZONTAL 1136 } 1137 image { 1138 function = SLIDER 1139 recolorable = TRUE 1140 state = INSENSITIVE 1141 file = "slider_button_insens_south.png" 1142 border = { 0, 0, 0, 0 } 1143 stretch = TRUE 1144 orientation = HORIZONTAL 1145 } 1146 image { 1147 function = SLIDER 1148 recolorable = TRUE 1149 state = NORMAL 1150 file = "slider_button_norm_east.png" 1151 border = { 0, 0, 0, 0 } 1152 stretch = TRUE 1153 orientation = VERTICAL 1154 } 1155 image { 1156 function = SLIDER 1157 recolorable = TRUE 1158 state = PRELIGHT 1159 file = "slider_button_prelight_east.png" 1160 border = { 0, 0, 0, 0 } 1161 stretch = TRUE 1162 orientation = VERTICAL 1163 } 1164 image { 1165 function = SLIDER 1166 recolorable = TRUE 1167 state = INSENSITIVE 1168 file = "slider_button_insens_east.png" 1169 border = { 0, 0, 0, 0 } 1170 stretch = TRUE 1171 orientation = VERTICAL 1172 } 1173 } 1174 1175} 1176 1177class "GtkScale" style "Scales" 1178 1179################################################## 1180#Spin Controls 1181#--------------- 1182#These are buttons with two arrows that let you set some value by clicking the 1183#the arrows. The widget might also have a text entry box for setting the value 1184#directly by typing it in. 1185################################################## 1186 1187style "spin" 1188{ 1189 engine "pixmap" 1190 { 1191 1192 #First we set the images for drawing different parts of a text entry that 1193 #might be attached to the widget. This could be done by inheriting from the 1194 #style used for GtkEntry, but we just set everything here explicitly. Still having 1195 #the same problem as with GtkEntry with the white outline if we do not draw 1196 #a shadow with a thick enough border. 1197 1198 image 1199 { 1200 function = FLAT_BOX 1201 recolorable = TRUE 1202 state = NORMAL 1203 detail = "entry_bg" 1204 file = "text_entry.png" 1205 border = {6,6,6,6 } 1206 stretch = TRUE 1207 } 1208 1209 image 1210 { 1211 function = FLAT_BOX 1212 recolorable = TRUE 1213 state = SELECTED 1214 detail = "entry_bg" 1215 file = "out_sel.png" 1216 border = { 3,3,3,3 } 1217 stretch = TRUE 1218 } 1219 1220 image 1221 { 1222 function = FLAT_BOX 1223 recolorable = TRUE 1224 state = INSENSITIVE 1225 detail = "entry_bg" 1226 file = "text_entry.png" 1227 border = {6,6,6,6 } 1228 stretch = TRUE 1229 } 1230 1231 image 1232 { 1233 function = FOCUS 1234 recolorable = TRUE 1235 overlay_file = "text_entry_focus.png" 1236 overlay_border = { 2, 2, 2, 2 } 1237 overlay_stretch = TRUE 1238 } 1239 1240 image 1241 { 1242 function = SHADOW 1243 recolorable = TRUE 1244 shadow = IN 1245 file = "null.png" 1246 border = { 0,0,0,0 } 1247 stretch = TRUE 1248 } 1249 1250 1251 #The following two sections define the images used to draw the up and 1252 #down spin buttons in the INSENSITIVE state. 1253 image 1254 { 1255 function = BOX 1256 recolorable = TRUE 1257 state = INSENSITIVE 1258 detail = "spinbutton_up" 1259 file = "spin_up_insens.png" 1260 border = { 0,0,0,0 } 1261 stretch = TRUE 1262 } 1263 1264 image 1265 { 1266 function = BOX 1267 recolorable = TRUE 1268 state = INSENSITIVE 1269 detail = "spinbutton_down" 1270 file = "spin_down_insens.png" 1271 border = { 0,0,0,0 } 1272 stretch = TRUE 1273 } 1274 1275 #The following two sections define the images used to draw the up and 1276 #down spin buttons in the PRELIGHT state. 1277 image 1278 { 1279 function = BOX 1280 recolorable = TRUE 1281 state = PRELIGHT 1282 detail = "spinbutton_up" 1283 file = "spin_up_pre.png" 1284 border = { 0,0,0,0 } 1285 stretch = TRUE 1286 } 1287 1288 image 1289 { 1290 function = BOX 1291 recolorable = TRUE 1292 state = PRELIGHT 1293 detail = "spinbutton_down" 1294 file = "spin_down_pre.png" 1295 border = { 0,0,0,0 } 1296 stretch = TRUE 1297 } 1298 1299 #The following two sections define the images used to draw the up and 1300 #down spin buttons in any states that we have not already defined. 1301 image 1302 { 1303 function = BOX 1304 state = NORMAL 1305 recolorable = TRUE 1306 detail = "spinbutton_up" 1307 file = "spin_up.png" 1308 border = { 0,0,0,0 } 1309 stretch = TRUE 1310 } 1311 1312 image 1313 { 1314 function = BOX 1315 recolorable = TRUE 1316 state = NORMAL 1317 detail = "spinbutton_down" 1318 file = "spin_down.png" 1319 border = { 0,0,0,0 } 1320 stretch = TRUE 1321 } 1322 1323 #Pushed state 1324 image 1325 { 1326 function = BOX 1327 state = ACTIVE 1328 recolorable = TRUE 1329 detail = "spinbutton_up" 1330 file = "spin_up_push.png" 1331 border = { 0,0,0,0 } 1332 stretch = TRUE 1333 } 1334 1335 image 1336 { 1337 function = BOX 1338 recolorable = TRUE 1339 state = ACTIVE 1340 detail = "spinbutton_down" 1341 file = "spin_down_push.png" 1342 border = { 0,0,0,0 } 1343 stretch = TRUE 1344 } 1345 1346 1347 #The arrows drawn on the spinbuttons are set by the next two 1348 #entries. Different types of arrows can be used for different 1349 #states by setting images for each state. 1350 1351 image 1352 { 1353 function = ARROW 1354 recolorable = TRUE 1355 overlay_file = "spin_button_up_arrow.png" 1356 overlay_border = { 0, 0, 0, 0 } 1357 overlay_stretch = FALSE 1358 arrow_direction = UP 1359 } 1360 1361 image 1362 { 1363 function = ARROW 1364 recolorable = TRUE 1365 overlay_file = "spin_button_down_arrow.png" 1366 overlay_border = { 0, 0, 0, 0 } 1367 overlay_stretch = FALSE 1368 arrow_direction = DOWN 1369 } 1370 } 1371} 1372 1373class "GtkSpin*" style "spin" 1374 1375############################################ 1376# Check Boxes 1377# -------------- 1378# This section tells GTK how to draw check boxes. 1379############################################ 1380 1381style "CheckBox" 1382{ 1383 1384 engine "pixmap" 1385 { 1386 #This is the image used to draw an unchecked box. 1387 image 1388 { 1389 function = CHECK 1390 recolorable = TRUE 1391 state = NORMAL 1392 shadow = OUT 1393 overlay_file = "check_out.png" 1394 overlay_stretch = FALSE 1395 } 1396 1397 image 1398 { 1399 function = CHECK 1400 recolorable = TRUE 1401 state = PRELIGHT 1402 shadow = OUT 1403 overlay_file = "check_out.png" 1404 overlay_stretch = FALSE 1405 } 1406 1407 image 1408 { 1409 function = CHECK 1410 recolorable = TRUE 1411 state = ACTIVE 1412 shadow = OUT 1413 overlay_file = "check_out_push.png" 1414 overlay_stretch = FALSE 1415 } 1416 1417 image 1418 { 1419 function = CHECK 1420 recolorable = TRUE 1421 state = INSENSITIVE 1422 shadow = OUT 1423 overlay_file = "check_out_insens.png" 1424 overlay_stretch = FALSE 1425 } 1426 1427 #This is the image used to draw a selected (checked) box. 1428 image 1429 { 1430 function = CHECK 1431 recolorable = TRUE 1432 state = NORMAL 1433 shadow = IN 1434 overlay_file = "check_in.png" 1435 overlay_stretch = FALSE 1436 } 1437 1438 image 1439 { 1440 function = CHECK 1441 recolorable = TRUE 1442 state = PRELIGHT 1443 shadow = IN 1444 overlay_file = "check_in.png" 1445 overlay_stretch = FALSE 1446 } 1447 1448 image 1449 { 1450 function = CHECK 1451 recolorable = TRUE 1452 state = ACTIVE 1453 shadow = IN 1454 overlay_file = "check_in_push.png" 1455 overlay_stretch = FALSE 1456 } 1457 1458 1459 image 1460 { 1461 function = CHECK 1462 recolorable = TRUE 1463 state = INSENSITIVE 1464 shadow = IN 1465 overlay_file = "check_in_insens.png" 1466 overlay_stretch = FALSE 1467 } 1468 1469 #Use this image to draw the highlight when a line with a check box 1470 #is moused over. 1471 image 1472 { 1473 function = FLAT_BOX 1474 recolorable = TRUE 1475 file = "checklight.png" 1476 border = { 1, 1, 1, 1 } 1477 } 1478 1479 } 1480} 1481 1482class "GtkCheckButton" style "CheckBox" 1483 1484############################################ 1485# Radio Buttons 1486############################################ 1487 1488style "RadioButton" 1489{ 1490 1491 engine "pixmap" 1492 { 1493 1494 image 1495 { 1496 function = OPTION 1497 recolorable = TRUE 1498 state = NORMAL 1499 shadow = OUT 1500 overlay_file = "option_out.png" 1501 overlay_border = { 0, 0, 0, 0 } 1502 overlay_stretch = FALSE 1503 } 1504 1505image 1506 { 1507 function = OPTION 1508 recolorable = TRUE 1509 state = PRELIGHT 1510 shadow = OUT 1511 overlay_file = "option_out.png" 1512 overlay_border = { 0, 0, 0, 0 } 1513 overlay_stretch = FALSE 1514 } 1515 1516image 1517 { 1518 function = OPTION 1519 recolorable = TRUE 1520 state = ACTIVE 1521 shadow = OUT 1522 overlay_file = "option_out_push.png" 1523 overlay_border = { 0, 0, 0, 0 } 1524 overlay_stretch = FALSE 1525 } 1526 1527image 1528 { 1529 function = OPTION 1530 recolorable = TRUE 1531 state = INSENSITIVE 1532 shadow = OUT 1533 overlay_file = "option_out_insens.png" 1534 overlay_border = { 0, 0, 0, 0 } 1535 overlay_stretch = FALSE 1536 } 1537 1538 image 1539 { 1540 function = OPTION 1541 recolorable = TRUE 1542 state = NORMAL 1543 shadow = IN 1544 overlay_file = "option_in.png" 1545 overlay_border = { 0, 0, 0, 0 } 1546 overlay_stretch = FALSE 1547 } 1548 1549 image 1550 { 1551 function = OPTION 1552 recolorable = TRUE 1553 state = PRELIGHT 1554 shadow = IN 1555 overlay_file = "option_in.png" 1556 overlay_border = { 0, 0, 0, 0 } 1557 overlay_stretch = FALSE 1558 } 1559 1560 image 1561 { 1562 function = OPTION 1563 recolorable = TRUE 1564 state = ACTIVE 1565 shadow = IN 1566 overlay_file = "option_in_push.png" 1567 overlay_border = { 0, 0, 0, 0 } 1568 overlay_stretch = FALSE 1569 } 1570 1571 image 1572 { 1573 function = OPTION 1574 recolorable = TRUE 1575 state = INSENSITIVE 1576 shadow = IN 1577 overlay_file = "option_in_insens.png" 1578 overlay_border = { 0, 0, 0, 0 } 1579 overlay_stretch = FALSE 1580 } 1581 1582 #Use this image to draw the highlight when a line with a radio box 1583 #is moused over. 1584 image 1585 { 1586 function = FLAT_BOX 1587 recolorable = TRUE 1588 file = "checklight.png" 1589 border = { 1, 1, 1, 1 } 1590 } 1591 1592 } 1593} 1594 1595class "GtkRadioButton" style "RadioButton" 1596 1597################################################ 1598# Statusbars Drawn by gtk (info bar on the bottom of the window) 1599################################################ 1600style "osx-GtkStatusbar" = "osx-default" 1601{ 1602 1603xthickness = 2 1604 ythickness = 2 1605 GtkStatusbar::shadow_type = GTK_SHADOW_NONE 1606 1607 engine "pixmap" 1608 { 1609 1610 #This does not seem to be working. It seems that you can tell gtk how 1611 #to draw the resizing grip in the bottom right corner of the window, which 1612 #seems to be part of the status bar. Not sure why it is not working. 1613 image 1614 { 1615 function = RESIZE_GRIP 1616 recolorable = TRUE 1617 #state = NORMAL 1618 detail = "statusbar" 1619 overlay_file = "resize_grip.png" 1620 1621 overlay_border = {1,1,1,1 } 1622 overlay_stretch = FALSE 1623 } 1624 } 1625 1626 1627} 1628 1629class "GtkStatusbar" style "osx-GtkStatusbar" 1630 1631########################################### 1632#Progress Bars 1633########################################### 1634 1635style "ProgressBar" { 1636xthickness = 1 1637 ythickness = 1 1638 1639 engine "pixmap" { 1640 image { 1641 function = BOX 1642 recolorable = TRUE 1643 detail = "bar" 1644 file = "progressbar.png" 1645 border = { 0, 0, 3, 3} 1646 stretch = FALSE 1647 } 1648 image { 1649 function = BOX 1650 recolorable = TRUE 1651 detail = "trough" 1652 file = "trough.png" 1653 border = { 3, 3, 4, 4} 1654 stretch = TRUE 1655 orientation = HORIZONTAL 1656 } 1657 } 1658} 1659 1660class "GtkProgressBar" style "ProgressBar" 1661 1662########################################### 1663#GtkFrame 1664########################################### 1665 1666style "Frames" 1667{ 1668 #xthickness = 1 1669 #ythickness = 1 1670 1671 font_name = "Bold" 1672 1673 engine "pixmap" 1674 { 1675 image 1676 { 1677 function = FLAT_BOX 1678 recolorable = TRUE 1679 file = "menu_hi-light.png" 1680 border = { 10, 2, 2, 2} 1681 stretch = TRUE 1682 } 1683 1684 image 1685 { 1686 function = EXTENSION 1687 state = ACTIVE 1688 gap_side = BOTTOM 1689 file = "menu_hi-light.png" 1690 border = {10,2,2,2} 1691 stretch = TRUE 1692 } 1693 } 1694} 1695#widget_class "*GtkNotebook.GtkLabel" style "Frames" 1696#widget_class "*GtkNotebook.GtkHBox.GtkLabel" style "Frames" 1697#widget_class "*GtkFrame.GtkLabel" style "Frames" 1698#widget_class "*GtkFrame.GtkHBox.GtkLabel" style "Frames" 1699 1700 1701################################################ 1702# Text Widgets 1703################################################ 1704style "osx-Text" = "osx-default" 1705{ 1706 1707 base[NORMAL] = "#FFFFFF" 1708 fg[PRELIGHT] = "#FFFFFF" 1709} 1710 1711class "GtkTextView" style "osx-Text" 1712class "GtkScrolledWindow" style "osx-Text" 1713 1714 1715#Widgets that have not been defined yet 1716class "GtkWidget" style "osx-default" 1717 1718style "osx-tooltips" = "osx-default" 1719{ 1720 xthickness = 4 1721 ythickness = 4 1722 bg[NORMAL] = { 1.0,1.0,0.75 } 1723} 1724 1725 1726 1727