Mercurial > emacs
comparison man/xresources.texi @ 60957:d7efcbcdef3b
(X Resources): GTK options documented too.
(Resources): Clarify meaning of program name.
(Table of Resources): Add visualClass.
(GTK resources): Rewrite.
(GTK widget names, GTK Names in Emacs, GTK styles): Cleanups.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 26 Mar 2005 02:00:32 +0000 |
parents | c8e9116cff8b |
children | 3b3a70819e4b |
comparison
equal
deleted
inserted
replaced
60956:7c43e61335c4 | 60957:d7efcbcdef3b |
---|---|
5 @appendix X Options and Resources | 5 @appendix X Options and Resources |
6 | 6 |
7 You can customize some X-related aspects of Emacs behavior using X | 7 You can customize some X-related aspects of Emacs behavior using X |
8 resources, as is usual for programs that use X. On MS-Windows, you | 8 resources, as is usual for programs that use X. On MS-Windows, you |
9 can customize some of the same aspects using the system registry. | 9 can customize some of the same aspects using the system registry. |
10 @xref{MS-Windows Registry}. X resources are the only way to customize | 10 @xref{MS-Windows Registry}. |
11 tooltip windows and LessTif menus, since the libraries that implement | 11 |
12 them don't provide for customization through Emacs. This appendix | 12 When Emacs is built using an `X toolkit', such as Lucid or LessTif, |
13 describes the X resources that Emacs recognizes and how to use them. | 13 you need to use X resources to customize the appearance of the |
14 widgets, including the menu-bar, scroll-bar, and dialog boxes. This | |
15 is because the libraries that implement these don't provide for | |
16 customization through Emacs. GTK+ widgets use a separate system of | |
17 `GTK resources', which we will also describe. | |
14 | 18 |
15 @menu | 19 @menu |
16 * Resources:: Using X resources with Emacs (in general). | 20 * Resources:: Using X resources with Emacs (in general). |
17 * Table of Resources:: Table of specific X resources that affect Emacs. | 21 * Table of Resources:: Table of specific X resources that affect Emacs. |
18 * Face Resources:: X resources for customizing faces. | 22 * Face Resources:: X resources for customizing faces. |
56 internal border, and the @samp{borderWidth} resource controls the width | 60 internal border, and the @samp{borderWidth} resource controls the width |
57 of the external border. Both of these resources are part of the | 61 of the external border. Both of these resources are part of the |
58 @samp{BorderWidth} class. Case distinctions are significant in these | 62 @samp{BorderWidth} class. Case distinctions are significant in these |
59 names. | 63 names. |
60 | 64 |
65 Every resource definition is associated with a specific program | |
66 name---the name of the executable file that you ran. For Emacs, that | |
67 is normally @samp{emacs}. To specify a definition for all instances | |
68 of Emacs, regardless of their names, use @samp{Emacs}. | |
69 | |
61 In @file{~/.Xdefaults}, you can specify a value for a single resource | 70 In @file{~/.Xdefaults}, you can specify a value for a single resource |
62 on one line, like this: | 71 on one line, like this: |
63 | 72 |
64 @example | 73 @example |
65 emacs.borderWidth: 2 | 74 emacs.borderWidth: 2 |
84 emacs.borderWidth: 4 | 93 emacs.borderWidth: 4 |
85 @end example | 94 @end example |
86 | 95 |
87 The order in which the lines appear in the file does not matter. | 96 The order in which the lines appear in the file does not matter. |
88 Also, command-line options always override the X resources file. | 97 Also, command-line options always override the X resources file. |
89 | 98 Here is a list of X command-line options and their corresponding |
90 The string @samp{emacs} in the examples above is also a resource | 99 resource names. |
91 name. It actually represents the name of the executable file that you | |
92 invoke to run Emacs. If Emacs is installed under a different name, it | |
93 looks for resources under that name instead of @samp{emacs}. | |
94 | 100 |
95 @table @samp | 101 @table @samp |
96 @item -name @var{name} | 102 @item -name @var{name} |
97 @opindex --name | 103 @opindex --name |
98 @itemx --name=@var{name} | 104 @itemx --name=@var{name} |
270 especially slow X client/server links. | 276 especially slow X client/server links. |
271 | 277 |
272 @item @code{verticalScrollBars} (class @code{ScrollBars}) | 278 @item @code{verticalScrollBars} (class @code{ScrollBars}) |
273 Give frames scroll bars if @samp{on}; don't have scroll bars if | 279 Give frames scroll bars if @samp{on}; don't have scroll bars if |
274 @samp{off}. | 280 @samp{off}. |
281 | |
282 @item @code{visualClass} (class @code{VisualClass}) | |
283 Specify the ``visual'' that X should use. This tells X how to handle | |
284 colors. | |
285 | |
286 The value should start with one of @samp{TrueColor}, | |
287 @samp{PseudoColor}, @samp{DirectColor}, @samp{StaticColor}, | |
288 @samp{GrayScale}, and @samp{StaticGray}, followed by | |
289 @samp{-@var{depth}}, where @var{depth} is the number of color planes. | |
290 Most terminals only allow a few ``visuals,'' and the @samp{dpyinfo} | |
291 program outputs information saying which ones. | |
275 @end table | 292 @end table |
276 | 293 |
277 @node Face Resources | 294 @node Face Resources |
278 @appendixsec X Resources for Faces | 295 @appendixsec X Resources for Faces |
279 | 296 |
550 @cindex GTK resources and customization | 567 @cindex GTK resources and customization |
551 @cindex resource files for GTK | 568 @cindex resource files for GTK |
552 @cindex @file{~/.gtkrc-2.0} file | 569 @cindex @file{~/.gtkrc-2.0} file |
553 @cindex @file{~/.emacs.d/gtkrc} file | 570 @cindex @file{~/.emacs.d/gtkrc} file |
554 | 571 |
555 If the Emacs installed at your site was built to use the GTK widget set, | 572 If Emacs was built to use the GTK widget set, then the menu bar, |
556 then the menu bar, scroll bar and the dialogs can be customized with | 573 scroll bar and the dialogs are customized with the standard GTK |
557 the standard GTK @file{~/.gtkrc-2.0} file or with the Emacs specific | 574 customization file, @file{~/.gtkrc-2.0}, or with the Emacs specific |
558 @file{~/.emacs.d/gtkrc} file; note that these files are only for | 575 file @file{~/.emacs.d/gtkrc}. We recommend that you use |
559 customizing specific GTK widget features. To customize Emacs font, | 576 @file{~/.emacs.d/gtkrc} for customizations, since @file{~/.gtkrc-2.0} |
560 background, faces etc., use the normal X resources, see @ref{Resources}. | 577 seems to be ignored when running GConf with GNOME. These files apply |
578 only to GTK widget features. To customize Emacs font, background, | |
579 faces, etc., use the normal X resources (@pxref{Resources}). | |
561 | 580 |
562 Some GTK themes override these mechanisms, which means that using | 581 Some GTK themes override these mechanisms, which means that using |
563 these mechanisms will not work to customize them. We recommend that | 582 these mechanisms will not work to customize them. |
564 you use @file{~/.emacs.d/gtkrc} for customizations, since | 583 |
565 @file{~/.gtkrc-2.0} seems to be ignored when running GConf with GNOME. | 584 In these files you first define a style and say what it means; then |
566 | 585 you specify to apply the style to various widget types (@pxref{GTK |
567 In these files you first defines a style and then how to apply that style | 586 widget names}). Here is an example of how to change the font for |
568 to widgets (@pxref{GTK widget names}). Here is an example of how to | 587 Emacs menus: |
569 change the font for Emacs menus: | 588 |
570 | 589 @smallexample |
571 @smallexample | 590 # @r{Define the style @samp{metafont}.} |
572 # This is a comment. | |
573 style "menufont" | 591 style "menufont" |
574 @{ | 592 @{ |
575 font_name = "helvetica bold 14" # This is a Pango font name | 593 font_name = "helvetica bold 14" # This is a Pango font name |
576 @} | 594 @} |
577 | 595 |
596 # @r{Specify that widget type @samp{*emacs-menuitem*} uses @samp{metafont}.} | |
578 widget "*emacs-menuitem*" style "menufont" | 597 widget "*emacs-menuitem*" style "menufont" |
579 | |
580 @end smallexample | 598 @end smallexample |
581 | 599 |
582 Here is a more elaborate example, showing how to change the parts of | 600 Here is a more elaborate example, showing how to change the parts of |
583 the scroll bar: | 601 the scroll bar: |
584 | 602 |
585 @smallexample | 603 @smallexample |
586 style "scroll" | 604 style "scroll" |
587 @{ | 605 @{ |
588 fg[NORMAL] = "red"@ @ @ @ @ # The arrow color. | 606 fg[NORMAL] = "red"@ @ @ @ @ # @r{The arrow color.} |
589 bg[NORMAL] = "yellow"@ @ # The thumb and background around the arrow. | 607 bg[NORMAL] = "yellow"@ @ # @r{The thumb and background around the arrow.} |
590 bg[ACTIVE] = "blue"@ @ @ @ # The trough color. | 608 bg[ACTIVE] = "blue"@ @ @ @ # @r{The trough color.} |
591 bg[PRELIGHT] = "white"@ # The thumb color when the mouse is over it. | 609 bg[PRELIGHT] = "white"@ # @r{The thumb color when the mouse is over it.} |
592 @} | 610 @} |
593 | 611 |
594 widget "*verticalScrollBar*" style "scroll" | 612 widget "*verticalScrollBar*" style "scroll" |
595 @end smallexample | 613 @end smallexample |
596 | 614 |
597 There are some things you can set without using any style or widget name, | 615 There are also parameters that affect GTK as a whole. For example, the property |
598 which affect GTK as a whole. Most of these are poorly documented, but can | 616 @c @code{gtk-font-name} sets the default font for GTK. You must use |
599 be found in the `Properties' section of the documentation page for | 617 @c Pango font names (@pxref{GTK styles}). A GTK resources file that |
600 @code{GtkSetting}, in the GTK document references below. | 618 @c just sets a default font looks like this: |
601 | |
602 One property of interest is @code{gtk-font-name} which sets the default | |
603 font for GTK; you must use Pango font names (@pxref{GTK styles}). A | |
604 @file{~/.gtkrc-2.0} file that just sets a default font looks like this: | |
605 | 619 |
606 @smallexample | 620 @smallexample |
607 gtk-font-name = "courier 12" | 621 gtk-font-name = "courier 12" |
608 @end smallexample | 622 @end smallexample |
609 | 623 |
610 | 624 The GTK resources file is fully described in the GTK API document. |
611 If GTK at your site is installed under @var{prefix}, | 625 This can be found in |
612 the resource file syntax is fully described in the GTK API | 626 @file{@var{prefix}/share/gtk-doc/html/gtk/gtk-resource-files.html}, |
613 document | 627 where @file{prefix} is the directory in which the GTK libraries were |
614 @file{@var{prefix}/share/gtk-doc/html/gtk/gtk-resource-files.html}. | 628 installed (usually @file{/usr} or @file{/usr/local}). You can also |
615 @var{prefix} is usually @file{/usr} or @file{/usr/local}. | 629 find the document online, at |
616 You can find the same document online at | |
617 @uref{http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html}. | 630 @uref{http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html}. |
618 | |
619 | 631 |
620 @menu | 632 @menu |
621 * GTK widget names:: How widgets in GTK are named in general. | 633 * GTK widget names:: How widgets in GTK are named in general. |
622 * GTK names in Emacs:: GTK widget names in Emacs. | 634 * GTK names in Emacs:: GTK widget names in Emacs. |
623 * GTK styles:: What can be customized in a GTK widget. | 635 * GTK styles:: What can be customized in a GTK widget. |
624 @end menu | 636 @end menu |
625 | 637 |
626 | |
627 @node GTK widget names | 638 @node GTK widget names |
628 @appendixsubsec GTK widget names | 639 @appendixsubsec GTK widget names |
629 @cindex GTK widget names | 640 @cindex GTK widget names |
630 | 641 |
631 Widgets are specified by widget class or by widget name. | 642 A GTK widget is specified by its @dfn{widget class} and |
632 The widget class is the type of the widget, for example @code{GtkMenuBar}. | 643 @dfn{widget name}. The widget class is the type of the widget: for |
633 The widget name is the name given to a specific widget within a program. | 644 example, @code{GtkMenuBar}. The widget name is the name given to a |
634 A widget always have a class but it is not mandatory to give a name to | 645 specific widget. A widget always has a class, but need not have a |
635 a widget. Absolute names are sequences of widget names or | 646 name. |
636 widget classes, corresponding to hierarchies of widgets embedded within | 647 |
637 other widgets. For example, if a @code{GtkWindow} contains a @code{GtkVBox} | 648 @dfn{Absolute names} are sequences of widget names or widget |
638 which in turn contains a @code{GtkMenuBar}, the absolute class name | 649 classes, corresponding to hierarchies of widgets embedded within |
639 is @code{GtkWindow.GtkVBox.GtkMenuBar}. | 650 other widgets. For example, if a @code{GtkWindow} named @code{top} |
640 | 651 contains a @code{GtkVBox} named @code{box}, which in turn contains |
641 @noindent | 652 a @code{GtkMenuBar} called @code{menubar}, the absolute class name |
642 If the widgets are named ``top'', ``box'' and ``menubar'', the absolute | 653 of the menu-bar widget is @code{GtkWindow.GtkVBox.GtkMenuBar}, and |
643 widget name is @code{top.box.menubar}, | 654 its absolute widget name is @code{top.box.menubar}. |
644 | 655 |
645 When assigning a style to a widget, you can use the absolute class | 656 When assigning a style to a widget, you can use the absolute class |
646 name or the absolute widget name. | 657 name or the absolute widget name. |
647 There are two commands: @code{widget_class} will assign a style to | 658 |
648 widgets, matching only against the absolute class name. | 659 There are two commands to specify changes for widgets: |
649 The command @code{widget} will match the absolute widget name, | 660 |
650 but if there is no name for a widget in the hierarchy, the class is matched. | 661 @table @asis |
651 These commands require the absolute name and the style name to be | 662 @item @code{widget_class} |
652 within double quotes. These commands are written at the top level in a | 663 specifies a style for widgets based on the absolute class name. |
653 @file{~/.gtkrc-2.0} file, like this: | 664 |
665 @item @code{widget} | |
666 specifies a style for widgets based on the absolute class name, | |
667 or just the class. | |
668 @end table | |
669 | |
670 @noindent | |
671 You must soecify the class and the style in double-quotes, and put | |
672 these commands at the top level in a @file{~/.gtkrc-2.0} file, like | |
673 this: | |
654 | 674 |
655 @smallexample | 675 @smallexample |
656 style "menufont" | 676 style "menufont" |
657 @{ | 677 @{ |
658 font_name = "helvetica bold 14" | 678 font_name = "helvetica bold 14" |
660 | 680 |
661 widget "top.box.menubar" style "menufont" | 681 widget "top.box.menubar" style "menufont" |
662 widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "menufont" | 682 widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "menufont" |
663 @end smallexample | 683 @end smallexample |
664 | 684 |
665 | 685 Matching of absolute names uses shell wildcard syntax: @samp{*} |
666 Matching of absolute names is done with shell ``glob'' syntax, that is | 686 matches zero or more characters and @samp{?} matches one character. |
667 @samp{*} matches zero or more characters and @samp{?} matches one character. | 687 This example assigns @code{base_style} to all widgets: |
668 So the following would assign @code{base_style} to all widgets: | |
669 | 688 |
670 @smallexample | 689 @smallexample |
671 widget "*" style "base_style" | 690 widget "*" style "base_style" |
672 @end smallexample | 691 @end smallexample |
673 | 692 |
674 Given the absolute class name @code{GtkWindow.GtkVBox.GtkMenuBar} | 693 Given the absolute class name @code{GtkWindow.GtkVBox.GtkMenuBar} |
675 and the corresponding absolute widget name @code{top.box.menubar}, | 694 and the corresponding absolute widget name @code{top.box.menubar}, all |
676 the following all assign @code{my_style} to the menu bar: | 695 these examples specify @code{my_style} for the menu bar: |
677 | 696 |
678 @smallexample | 697 @smallexample |
679 widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style" | 698 widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style" |
680 widget_class "GtkWindow.*.GtkMenuBar" style "my_style" | 699 widget_class "GtkWindow.*.GtkMenuBar" style "my_style" |
681 widget_class "*GtkMenuBar" style "my_style" | 700 widget_class "*GtkMenuBar" style "my_style" |
683 widget "*box*menubar" style "my_style" | 702 widget "*box*menubar" style "my_style" |
684 widget "*menubar" style "my_style" | 703 widget "*menubar" style "my_style" |
685 widget "*menu*" style "my_style" | 704 widget "*menu*" style "my_style" |
686 @end smallexample | 705 @end smallexample |
687 | 706 |
688 @node GTK names in Emacs | 707 @node GTK Names in Emacs |
689 @appendixsubsec GTK names in Emacs | 708 @appendixsubsec GTK Widget Names in Emacs |
690 @cindex GTK widget names | 709 @cindex GTK widget names |
691 @cindex GTK widget classes | 710 @cindex GTK widget classes |
692 | 711 |
693 In Emacs the top level widget for a frame is a @code{GtkWindow} that | 712 In Emacs, the top level widget for a frame is a @code{GtkWindow} |
694 contains a @code{GtkVBox}. The @code{GtkVBox} contains the | 713 that contains a @code{GtkVBox}. The @code{GtkVBox} contains the |
695 @code{GtkMenuBar} and a @code{GtkFixed} widget. | 714 @code{GtkMenuBar} and a @code{GtkFixed} widget. The vertical scroll |
696 The vertical scroll bars, @code{GtkVScrollbar}, | 715 bars, @code{GtkVScrollbar}, are contained in the @code{GtkFixed} |
697 are contained in the @code{GtkFixed} widget. | 716 widget. The text you write in Emacs is drawn in the @code{GtkFixed} |
698 The text you write in Emacs is drawn in the @code{GtkFixed} widget. | 717 widget. |
699 | 718 |
700 Dialogs in Emacs are @code{GtkDialog} widgets. The file dialog is a | 719 Dialogs in Emacs are @code{GtkDialog} widgets. The file dialog is a |
701 @code{GtkFileSelection} widget. | 720 @code{GtkFileSelection} widget. |
702 | 721 |
703 @noindent | 722 @noindent |
757 widget "*emacs-dialog*" style "my_dialog_style" | 776 widget "*emacs-dialog*" style "my_dialog_style" |
758 widget "*emacs-filedialog* style "my_file_style" | 777 widget "*emacs-filedialog* style "my_file_style" |
759 widget "*emacs-menuitem* style "my_menu_style" | 778 widget "*emacs-menuitem* style "my_menu_style" |
760 @end smallexample | 779 @end smallexample |
761 | 780 |
762 An alternative is to put customization into @file{~/.emacs.d/gtkrc}. | 781 If you specify a customization in @file{~/.emacs.d/gtkrc}, then it |
763 This file is only read by Emacs, so anything in @file{~/.emacs.d/gtkrc} | 782 automatically applies only to Emacs, since other programs don't read |
764 affects Emacs but leaves other applications unaffected. | 783 that file. For example, the drop down menu in the file dialog can not |
765 For example, the drop down menu in the file dialog can not | 784 be customized by any absolute widget name, only by an absolute class |
766 be customized by any absolute widget name, only by an absolute | 785 name. This is so because the widgets in the drop down menu do not |
767 class name. This is so because the widgets in the drop down menu does not | 786 have names and the menu is not contained in the Emacs GtkWindow. To |
768 have names and the menu is not contained in the Emacs GtkWindow. | 787 have all menus in Emacs look the same, use this in |
769 To have all menus in Emacs look the same, use this in @file{~/.emacs.d/gtkrc}: | 788 @file{~/.emacs.d/gtkrc}: |
770 | 789 |
771 @smallexample | 790 @smallexample |
772 widget_class "*Menu*" style "my_menu_style" | 791 widget_class "*Menu*" style "my_menu_style" |
773 @end smallexample | 792 @end smallexample |
774 | 793 |
775 @node GTK styles | 794 @node GTK styles |
776 @appendixsubsec GTK styles | 795 @appendixsubsec GTK styles |
777 @cindex GTK styles | 796 @cindex GTK styles |
778 | 797 |
779 In a GTK style you specify the appearance widgets shall have. You | 798 In a GTK style you specify the appearance widgets shall have. You |
780 can specify foreground and background color, background pixmap and font. | 799 can specify foreground and background color, background pixmap and |
781 The edit widget (where you edit the text) in Emacs is a GTK widget, | 800 font. The edit widget (where you edit the text) in Emacs is a GTK |
782 but trying to specify a style for the edit widget will have no effect. | 801 widget, but trying to specify a style for the edit widget will have no |
783 This is so that Emacs compiled for GTK is compatible with Emacs compiled | 802 effect. This is so that Emacs compiled for GTK is compatible with |
784 for other X toolkits. The settings for foreground, background and font | 803 Emacs compiled for other X toolkits. The settings for foreground, |
785 for the edit widget is taken from the X resources; @pxref{Resources}. | 804 background and font for the edit widget is taken from the X resources; |
786 Here is an example of two style declarations, ``default'' and ``ruler'': | 805 @pxref{Resources}. Here is an example of two style declarations, |
787 | 806 @samp{default} and @samp{ruler}: |
788 @smallexample | 807 |
789 | 808 @smallexample |
790 pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps" | 809 pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps" |
791 | 810 |
792 style "default" | 811 style "default" |
793 @{ | 812 @{ |
794 font_name = "helvetica 12" | 813 font_name = "helvetica 12" |
819 font_name = "helvetica 8" | 838 font_name = "helvetica 8" |
820 @} | 839 @} |
821 | 840 |
822 @end smallexample | 841 @end smallexample |
823 | 842 |
824 The style ``ruler'' inherits from ``default''. This way you can build | 843 The style @samp{ruler} inherits from @samp{default}. This way you can build |
825 on existing styles. The syntax for fonts and colors is described below. | 844 on existing styles. The syntax for fonts and colors is described below. |
826 | 845 |
827 As this example shows, it is possible to specify several values | 846 As this example shows, it is possible to specify several values for |
828 for foreground and background depending on which state the widget has. | 847 foreground and background depending on the widget's @dfn{state}. The |
829 The possible states are | 848 possible states are: |
849 | |
830 @table @code | 850 @table @code |
831 @item NORMAL | 851 @item NORMAL |
832 This is the default state for widgets. | 852 This is the default state for widgets. |
833 @item ACTIVE | 853 @item ACTIVE |
834 This is the state for a widget that is ready to do something. It is | 854 This is the state for a widget that is ready to do something. It is |
844 This is the state when some data has been selected by the user. It can | 864 This is the state when some data has been selected by the user. It can |
845 be selected text or items selected in a list. | 865 be selected text or items selected in a list. |
846 There is no place in Emacs where this setting has any effect. | 866 There is no place in Emacs where this setting has any effect. |
847 @item INSENSITIVE | 867 @item INSENSITIVE |
848 This is the state for widgets that are visible, but they can not be | 868 This is the state for widgets that are visible, but they can not be |
849 manipulated like they normally can. For example, buttons that can't be | 869 manipulated in the usual way---for example, buttons that can't be |
850 pressed and menu items that can't be selected. | 870 pressed, and disabled menu items. To display disabled menu items in |
851 Text for menu items that are not available can be set to yellow with | 871 yellow, use @code{fg[INSENSITIVE] = "yellow"}. |
852 @code{fg[INSENSITIVE] = "yellow"}. | |
853 @end table | 872 @end table |
854 | 873 |
855 Here are the things that can go in a style declaration: | 874 Here are the things that can go in a style declaration: |
856 | 875 |
857 @table @code | 876 @table @code |
858 @item bg[@var{state}] = @var{color} | 877 @item bg[@var{state}] = @var{color} |
859 This is the background color widgets use. This background is not used for | 878 This specifies the background color for the widget. Note that |
860 editable text, use @code{base} for that. | 879 editable text doesn't use @code{bg}; it uses @code{base} instead. |
861 | 880 |
862 @item base[@var{state}] = @var{color} | 881 @item base[@var{state}] = @var{color} |
863 This is the background color for editable text. | 882 This specifies the background color for editable text. In Emacs, this |
864 In Emacs, this color is used for the background of the text fields in the | 883 color is used for the background of the text fields in the file |
865 file dialog. | 884 dialog. |
866 | 885 |
867 @item bg_pixmap[@var{state}] = "@var{pixmap}" | 886 @item bg_pixmap[@var{state}] = "@var{pixmap}" |
868 You can specify a pixmap to be used instead of the background color. | 887 This specifies an image background (instead of a background color). |
869 @var{pixmap} is a file name. GTK can use a number of file formats, | 888 @var{pixmap} should be the image file name. GTK can use a number of |
870 including XPM, XBM, GIF, JPEG and PNG. If you want a widget to use the same | 889 image file formats, including XPM, XBM, GIF, JPEG and PNG. If you |
871 pixmap as its parent, use @samp{<parent>}. If you don't want any | 890 want a widget to use the same image as its parent, use |
872 pixmap use @samp{<none>}. Using @samp{<none>} can be useful | 891 @samp{<parent>}. If you don't want any image, use @samp{<none>}. |
873 if your style inherits a style that does specify a pixmap. | 892 @samp{<none>} is the way to cancel a background image inherited from a |
874 | 893 parent style. |
875 GTK looks for the pixmap in directories specified in @code{pixmap_path}. | 894 |
876 It is not possible to refer to a file by its absolute path name. | 895 You can't specify the file by its absolute file name. GTK looks for |
877 @code{pixmap_path} is a colon-separated list of directories within double | 896 the pixmap file in directories specified in @code{pixmap_path}. |
878 quotes, specified at the top level in a @file{gtkrc} file (i.e. not inside | 897 @code{pixmap_path} is a colon-separated list of directories within |
879 a style definition; see example above): | 898 double quotes, specified at the top level in a @file{gtkrc} file |
899 (i.e. not inside a style definition; see example above): | |
880 | 900 |
881 @smallexample | 901 @smallexample |
882 pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps" | 902 pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps" |
883 @end smallexample | 903 @end smallexample |
884 | 904 |
885 @item fg[@var{state}] = @var{color} | 905 @item fg[@var{state}] = @var{color} |
886 This is the foreground color widgets use. This is the color | 906 This specifies the foreground color for widgets to use. It is the |
887 of text in menus and buttons. It is also the color for the arrows in the | 907 color of text in menus and buttons, and the color for the arrows in |
888 scroll bar. For editable text, use @code{text}. | 908 the scroll bar. For editable text, use @code{text}. |
889 | 909 |
890 @item text[@var{state}] = @var{color} | 910 @item text[@var{state}] = @var{color} |
891 This is the color for editable text. In Emacs, this color is used for the | 911 This is the color for editable text. In Emacs, this color is used for the |
892 text fields in the file dialog. | 912 text fields in the file dialog. |
893 | 913 |
894 @item font_name = "@var{font}" | 914 @item font_name = "@var{font}" |
895 This is the font a widget shall use. @var{font} is a Pango font name, | 915 This specifies the the font for text in the widget. @var{font} is a |
896 for example ``Sans Italic 10'', ``Helvetica Bold 12'', ``Courier 14'', | 916 Pango font name, for example @samp{Sans Italic 10}, @samp{Helvetica |
897 ``Times 18''. See below for exact syntax. The names are case insensitive. | 917 Bold 12}, @samp{Courier 14}, @samp{Times 18}. See below for exact |
918 syntax. The names are case insensitive. | |
898 @end table | 919 @end table |
899 | 920 |
900 Colors are specified in three ways, a name, a hexadecimal form or | 921 There are three ways to specify a color: by name, in hexadecimal |
901 an RGB triplet. | 922 form, and with an RGB triplet. |
902 | 923 |
903 @noindent | 924 @noindent |
904 A color name is written within double quotes, for example @code{"red"}. | 925 A color name is written within double quotes, for example @code{"red"}. |
905 | 926 |
906 @noindent | 927 @noindent |
907 A hexadecimal form is written within double quotes. There are four forms, | 928 Hexadecimal form is the same as in X: |
908 @code{#rrrrggggbbbb}, @code{#rrrgggbbb}, | 929 @code{#@var{rrrr}@var{gggg}@var{bbbb}}, where all three color specs |
909 @code{#rrggbb}, or @code{#rgb}. In each of these r, g and b are hex digits. | 930 must have the same number of hex digits (1, 2, 3 or 4). |
910 | 931 |
911 @noindent | 932 @noindent |
912 An RGB triplet looks like @code{@{ r, g, b @}}, where r, g and b are either | 933 An RGB triplet looks like @code{@{ @var{r}, @var{g}, @var{b} @}}, |
913 integers in the range 0-65535 or floats in the range 0.0-1.0. | 934 where @var{r}, @var{g} and @var{b} are either integers in the range |
935 0-65535 or floats in the range 0.0-1.0. | |
914 | 936 |
915 Pango font names have the form ``@var{family-list} @var{style-options} | 937 Pango font names have the form ``@var{family-list} @var{style-options} |
916 @var{size}''. | 938 @var{size}''. |
917 @cindex Pango font name | 939 @cindex Pango font name |
918 @noindent | 940 @noindent |
933 is a style, variant, weight, or stretch. The default value for all of | 955 is a style, variant, weight, or stretch. The default value for all of |
934 these is @code{normal}. | 956 these is @code{normal}. |
935 | 957 |
936 @noindent | 958 @noindent |
937 A `style' corresponds to the fourth part of an X font name. In X font | 959 A `style' corresponds to the fourth part of an X font name. In X font |
938 names it is the character ``r'', ``i'' or ``o''; in Pango font names the | 960 names it is the character @samp{r}, @samp{i} or @samp{o}; in Pango |
939 corresponding values are @code{normal}, @code{italic}, or @code{oblique}. | 961 font names the corresponding values are @code{normal}, @code{italic}, |
962 or @code{oblique}. | |
940 | 963 |
941 @noindent | 964 @noindent |
942 A `variant' is either @code{normal} or @code{small-caps}. | 965 A `variant' is either @code{normal} or @code{small-caps}. |
943 Small caps is a font with the lower case characters replaced by | 966 Small caps is a font with the lower case characters replaced by |
944 smaller variants of the capital characters. | 967 smaller variants of the capital characters. |