diff options
| author | Eli Zaretskii | 2001-10-31 18:28:11 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2001-10-31 18:28:11 +0000 |
| commit | 05b6e46ca62a8d82fcdf42bbc9b36bd912d9e0c3 (patch) | |
| tree | 32c4c42dd9dbceea2dea80c3015204ed3ea0b2fe | |
| parent | 02f7be414d2e76d3569e6be29ce92f16d309bd72 (diff) | |
| download | emacs-05b6e46ca62a8d82fcdf42bbc9b36bd912d9e0c3.tar.gz emacs-05b6e46ca62a8d82fcdf42bbc9b36bd912d9e0c3.zip | |
Remove the nodes which were moved to xresources.texi.
| -rw-r--r-- | man/cmdargs.texi | 888 |
1 files changed, 0 insertions, 888 deletions
diff --git a/man/cmdargs.texi b/man/cmdargs.texi index f4759e7d578..846dd130975 100644 --- a/man/cmdargs.texi +++ b/man/cmdargs.texi | |||
| @@ -538,891 +538,3 @@ actually used. | |||
| 538 | @item WINDOW_GFX | 538 | @item WINDOW_GFX |
| 539 | Used when initializing the Sun windows system. | 539 | Used when initializing the Sun windows system. |
| 540 | @end table | 540 | @end table |
| 541 | |||
| 542 | @node X Resources, Antinews, Command Arguments, Top | ||
| 543 | @appendix X Resources | ||
| 544 | |||
| 545 | Some aspects of Emacs behavior can be customized using X resources, | ||
| 546 | as with other programs that use X. A few things, relating to toolkit | ||
| 547 | menus and tooltip windows, can only be customized this way, since they | ||
| 548 | are handled by libraries that are already set up to get their | ||
| 549 | customizations thus. | ||
| 550 | |||
| 551 | @node Display X | ||
| 552 | @appendixsec Specifying the Display Name | ||
| 553 | @cindex display name (X Window System) | ||
| 554 | @cindex @env{DISPLAY} environment variable | ||
| 555 | |||
| 556 | The environment variable @env{DISPLAY} tells all X clients, including | ||
| 557 | Emacs, where to display their windows. Its value is set by default | ||
| 558 | in ordinary circumstances, when you start an X server and run jobs | ||
| 559 | locally. Occasionally you may need to specify the display yourself; for | ||
| 560 | example, if you do a remote login and want to run a client program | ||
| 561 | remotely, displaying on your local screen. | ||
| 562 | |||
| 563 | With Emacs, the main reason people change the default display is to | ||
| 564 | let them log into another system, run Emacs on that system, but have the | ||
| 565 | window displayed at their local terminal. You might need to log in | ||
| 566 | to another system because the files you want to edit are there, or | ||
| 567 | because the Emacs executable file you want to run is there. | ||
| 568 | |||
| 569 | The syntax of the @env{DISPLAY} environment variable is | ||
| 570 | @samp{@var{host}:@var{display}.@var{screen}}, where @var{host} is the | ||
| 571 | host name of the X Window System server machine, @var{display} is an | ||
| 572 | arbitrarily-assigned number that distinguishes your server (X terminal) | ||
| 573 | from other servers on the same machine, and @var{screen} is a | ||
| 574 | rarely-used field that allows an X server to control multiple terminal | ||
| 575 | screens. The period and the @var{screen} field are optional. If | ||
| 576 | included, @var{screen} is usually zero. | ||
| 577 | |||
| 578 | For example, if your host is named @samp{glasperle} and your server is | ||
| 579 | the first (or perhaps the only) server listed in the configuration, your | ||
| 580 | @env{DISPLAY} is @samp{glasperle:0.0}. | ||
| 581 | |||
| 582 | You can specify the display name explicitly when you run Emacs, either | ||
| 583 | by changing the @env{DISPLAY} variable, or with the option @samp{-d | ||
| 584 | @var{display}} or @samp{--display=@var{display}}. Here is an example: | ||
| 585 | |||
| 586 | @smallexample | ||
| 587 | emacs --display=glasperle:0 & | ||
| 588 | @end smallexample | ||
| 589 | |||
| 590 | You can inhibit the direct use of the window system and GUI with the | ||
| 591 | @samp{-nw} option. It tells Emacs to display using ordinary ASCII on | ||
| 592 | its controlling terminal. This is also an initial option. | ||
| 593 | |||
| 594 | Sometimes, security arrangements prevent a program on a remote system | ||
| 595 | from displaying on your local system. In this case, trying to run Emacs | ||
| 596 | produces messages like this: | ||
| 597 | |||
| 598 | @smallexample | ||
| 599 | Xlib: connection to "glasperle:0.0" refused by server | ||
| 600 | @end smallexample | ||
| 601 | |||
| 602 | @noindent | ||
| 603 | You might be able to overcome this problem by using the @code{xhost} | ||
| 604 | command on the local system to give permission for access from your | ||
| 605 | remote machine. | ||
| 606 | |||
| 607 | @node Font X | ||
| 608 | @appendixsec Font Specification Options | ||
| 609 | @cindex font name (X Window System) | ||
| 610 | |||
| 611 | By default, Emacs displays text in the font named @samp{9x15}, which | ||
| 612 | makes each character nine pixels wide and fifteen pixels high. You can | ||
| 613 | specify a different font on your command line through the option | ||
| 614 | @samp{-fn @var{name}} (or @samp{--font}, which is an alias for | ||
| 615 | @samp{-fn}). | ||
| 616 | |||
| 617 | @table @samp | ||
| 618 | @item -fn @var{name} | ||
| 619 | @opindex -fn | ||
| 620 | @itemx --font=@var{name} | ||
| 621 | @opindex --font | ||
| 622 | @cindex specify default font from the command line | ||
| 623 | Use font @var{name} as the default font. | ||
| 624 | @end table | ||
| 625 | |||
| 626 | Under X, each font has a long name which consists of eleven words or | ||
| 627 | numbers, separated by dashes. Some fonts also have shorter | ||
| 628 | nicknames---@samp{9x15} is such a nickname. You can use either kind of | ||
| 629 | name. You can use wildcard patterns for the font name; then Emacs lets | ||
| 630 | X choose one of the fonts that match the pattern. Here is an example, | ||
| 631 | which happens to specify the font whose nickname is @samp{6x13}: | ||
| 632 | |||
| 633 | @smallexample | ||
| 634 | emacs -fn "-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1" & | ||
| 635 | @end smallexample | ||
| 636 | |||
| 637 | @noindent | ||
| 638 | You can also specify the font in your @file{.Xdefaults} file: | ||
| 639 | |||
| 640 | @smallexample | ||
| 641 | emacs.font: -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 | ||
| 642 | @end smallexample | ||
| 643 | |||
| 644 | A long font name has the following form: | ||
| 645 | |||
| 646 | @smallexample | ||
| 647 | -@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{} | ||
| 648 | @dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{charset} | ||
| 649 | @end smallexample | ||
| 650 | |||
| 651 | @table @var | ||
| 652 | @item maker | ||
| 653 | This is the name of the font manufacturer. | ||
| 654 | @item family | ||
| 655 | This is the name of the font family---for example, @samp{courier}. | ||
| 656 | @item weight | ||
| 657 | This is normally @samp{bold}, @samp{medium} or @samp{light}. Other | ||
| 658 | words may appear here in some font names. | ||
| 659 | @item slant | ||
| 660 | This is @samp{r} (roman), @samp{i} (italic), @samp{o} (oblique), | ||
| 661 | @samp{ri} (reverse italic), or @samp{ot} (other). | ||
| 662 | @item widthtype | ||
| 663 | This is normally @samp{condensed}, @samp{extended}, @samp{semicondensed} | ||
| 664 | or @samp{normal}. Other words may appear here in some font names. | ||
| 665 | @item style | ||
| 666 | This is an optional additional style name. Usually it is empty---most | ||
| 667 | long font names have two hyphens in a row at this point. | ||
| 668 | @item pixels | ||
| 669 | This is the font height, in pixels. | ||
| 670 | @item height | ||
| 671 | This is the font height on the screen, measured in tenths of a printer's | ||
| 672 | point---approximately 1/720 of an inch. In other words, it is the point | ||
| 673 | size of the font, times ten. For a given vertical resolution, | ||
| 674 | @var{height} and @var{pixels} are proportional; therefore, it is common | ||
| 675 | to specify just one of them and use @samp{*} for the other. | ||
| 676 | @item horiz | ||
| 677 | This is the horizontal resolution, in pixels per inch, of the screen for | ||
| 678 | which the font is intended. | ||
| 679 | @item vert | ||
| 680 | This is the vertical resolution, in pixels per inch, of the screen for | ||
| 681 | which the font is intended. Normally the resolution of the fonts on | ||
| 682 | your system is the right value for your screen; therefore, you normally | ||
| 683 | specify @samp{*} for this and @var{horiz}. | ||
| 684 | @item spacing | ||
| 685 | This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c} | ||
| 686 | (character cell). | ||
| 687 | @item width | ||
| 688 | This is the average character width, in pixels, multiplied by ten. | ||
| 689 | @item charset | ||
| 690 | This is the character set that the font depicts. | ||
| 691 | Normally you should use @samp{iso8859-1}. | ||
| 692 | @end table | ||
| 693 | |||
| 694 | @cindex listing system fonts | ||
| 695 | You will probably want to use a fixed-width default font---that is, | ||
| 696 | a font in which all characters have the same width. Any font with | ||
| 697 | @samp{m} or @samp{c} in the @var{spacing} field of the long name is a | ||
| 698 | fixed-width font. Here's how to use the @code{xlsfonts} program to | ||
| 699 | list all the fixed-width fonts available on your system: | ||
| 700 | |||
| 701 | @example | ||
| 702 | xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+" | ||
| 703 | xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*' | ||
| 704 | xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*' | ||
| 705 | @end example | ||
| 706 | |||
| 707 | @noindent | ||
| 708 | To see what a particular font looks like, use the @code{xfd} command. | ||
| 709 | For example: | ||
| 710 | |||
| 711 | @example | ||
| 712 | xfd -fn 6x13 | ||
| 713 | @end example | ||
| 714 | |||
| 715 | @noindent | ||
| 716 | displays the entire font @samp{6x13}. | ||
| 717 | |||
| 718 | While running Emacs, you can set the font of the current frame | ||
| 719 | (@pxref{Frame Parameters}) or for a specific kind of text | ||
| 720 | (@pxref{Faces}). | ||
| 721 | |||
| 722 | @node Colors X | ||
| 723 | @appendixsec Window Color Options | ||
| 724 | @cindex color of window | ||
| 725 | @cindex text colors, from command line | ||
| 726 | |||
| 727 | @findex list-colors-display | ||
| 728 | @cindex available colors | ||
| 729 | On a color display, you can specify which color to use for various | ||
| 730 | parts of the Emacs display. To find out what colors are available on | ||
| 731 | your system, type @kbd{M-x list-colors-display}, or press | ||
| 732 | @kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu. | ||
| 733 | If you do not specify colors, on windowed displays the default for the | ||
| 734 | background is white and the default for all other colors is black. On a | ||
| 735 | monochrome display, the foreground is black, the background is white, | ||
| 736 | and the border is gray if the display supports that. On terminals, the | ||
| 737 | background is usually black and the foreground is white. | ||
| 738 | |||
| 739 | Here is a list of the command-line options for specifying colors: | ||
| 740 | |||
| 741 | @table @samp | ||
| 742 | @item -fg @var{color} | ||
| 743 | @opindex -fg | ||
| 744 | @itemx --foreground-color=@var{color} | ||
| 745 | @opindex --foreground-color | ||
| 746 | @cindex foreground color, command-line argument | ||
| 747 | Specify the foreground color. @var{color} should be a standard color | ||
| 748 | name, or a numeric specification of the color's red, green, and blue | ||
| 749 | components as in @samp{#4682B4} or @samp{RGB:46/82/B4}. | ||
| 750 | @item -bg @var{color} | ||
| 751 | @opindex -bg | ||
| 752 | @itemx --background-color=@var{color} | ||
| 753 | @opindex --background-color | ||
| 754 | @cindex background color, command-line argument | ||
| 755 | Specify the background color. | ||
| 756 | @item -bd @var{color} | ||
| 757 | @opindex -bd | ||
| 758 | @itemx --border-color=@var{color} | ||
| 759 | @opindex --border-color | ||
| 760 | @cindex border color, command-line argument | ||
| 761 | Specify the color of the border of the X window. | ||
| 762 | @item -cr @var{color} | ||
| 763 | @opindex -cr | ||
| 764 | @itemx --cursor-color=@var{color} | ||
| 765 | @opindex --cursor-color | ||
| 766 | @cindex cursor color, command-line argument | ||
| 767 | Specify the color of the Emacs cursor which indicates where point is. | ||
| 768 | @item -ms @var{color} | ||
| 769 | @opindex -ms | ||
| 770 | @itemx --mouse-color=@var{color} | ||
| 771 | @opindex --mouse-color | ||
| 772 | @cindex mouse pointer color, command-line argument | ||
| 773 | Specify the color for the mouse cursor when the mouse is in the Emacs window. | ||
| 774 | @item -r | ||
| 775 | @opindex -r | ||
| 776 | @itemx -rv | ||
| 777 | @opindex -rv | ||
| 778 | @itemx --reverse-video | ||
| 779 | @opindex --reverse-video | ||
| 780 | @cindex reverse video, command-line argument | ||
| 781 | Reverse video---swap the foreground and background colors. | ||
| 782 | @end table | ||
| 783 | |||
| 784 | For example, to use a coral mouse cursor and a slate blue text cursor, | ||
| 785 | enter: | ||
| 786 | |||
| 787 | @example | ||
| 788 | emacs -ms coral -cr 'slate blue' & | ||
| 789 | @end example | ||
| 790 | |||
| 791 | You can reverse the foreground and background colors through the | ||
| 792 | @samp{-rv} option or with the X resource @samp{reverseVideo}. | ||
| 793 | |||
| 794 | The @samp{-fg}, @samp{-bg}, and @samp{-rv} options function on | ||
| 795 | text-only terminals as well as on window systems. | ||
| 796 | |||
| 797 | @node Window Size X | ||
| 798 | @appendixsec Options for Window Geometry | ||
| 799 | @cindex geometry of Emacs window | ||
| 800 | @cindex position and size of Emacs frame | ||
| 801 | @cindex width and height of Emacs frame | ||
| 802 | |||
| 803 | The @samp{--geometry} option controls the size and position of the | ||
| 804 | initial Emacs frame. Here is the format for specifying the window | ||
| 805 | geometry: | ||
| 806 | |||
| 807 | @table @samp | ||
| 808 | @item -g @var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]} | ||
| 809 | @opindex -g | ||
| 810 | Specify window size @var{width} and @var{height} (measured in character | ||
| 811 | columns and lines), and positions @var{xoffset} and @var{yoffset} | ||
| 812 | (measured in pixels). | ||
| 813 | |||
| 814 | @item --geometry=@var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]} | ||
| 815 | @opindex --geometry | ||
| 816 | This is another way of writing the same thing. | ||
| 817 | @end table | ||
| 818 | |||
| 819 | @noindent | ||
| 820 | @code{@r{@{}+-@r{@}}} means either a plus sign or a minus sign. A plus | ||
| 821 | sign before @var{xoffset} means it is the distance from the left side of | ||
| 822 | the screen; a minus sign means it counts from the right side. A plus | ||
| 823 | sign before @var{yoffset} means it is the distance from the top of the | ||
| 824 | screen, and a minus sign there indicates the distance from the bottom. | ||
| 825 | The values @var{xoffset} and @var{yoffset} may themselves be positive or | ||
| 826 | negative, but that doesn't change their meaning, only their direction. | ||
| 827 | |||
| 828 | Emacs uses the same units as @code{xterm} does to interpret the geometry. | ||
| 829 | The @var{width} and @var{height} are measured in characters, so a large font | ||
| 830 | creates a larger frame than a small font. (If you specify a proportional | ||
| 831 | font, Emacs uses its maximum bounds width as the width unit.) The | ||
| 832 | @var{xoffset} and @var{yoffset} are measured in pixels. | ||
| 833 | |||
| 834 | Since the mode line and the echo area occupy the last 2 lines of the | ||
| 835 | frame, the height of the initial text window is 2 less than the height | ||
| 836 | specified in your geometry. In non-X-toolkit versions of Emacs, the | ||
| 837 | menu bar also takes one line of the specified number. But in the X | ||
| 838 | toolkit version, the menu bar is additional and does not count against | ||
| 839 | the specified height. The tool bar, if present, is also additional. | ||
| 840 | |||
| 841 | You do not have to specify all of the fields in the geometry | ||
| 842 | specification. | ||
| 843 | |||
| 844 | If you omit both @var{xoffset} and @var{yoffset}, the window manager | ||
| 845 | decides where to put the Emacs frame, possibly by letting you place | ||
| 846 | it with the mouse. For example, @samp{164x55} specifies a window 164 | ||
| 847 | columns wide, enough for two ordinary width windows side by side, and 55 | ||
| 848 | lines tall. | ||
| 849 | |||
| 850 | The default width for Emacs is 80 characters and the default height is | ||
| 851 | 40 lines. You can omit either the width or the height or both. If | ||
| 852 | you start the geometry with an integer, Emacs interprets it as the | ||
| 853 | width. If you start with an @samp{x} followed by an integer, Emacs | ||
| 854 | interprets it as the height. Thus, @samp{81} specifies just the width; | ||
| 855 | @samp{x45} specifies just the height. | ||
| 856 | |||
| 857 | If you start with @samp{+} or @samp{-}, that introduces an offset, | ||
| 858 | which means both sizes are omitted. Thus, @samp{-3} specifies the | ||
| 859 | @var{xoffset} only. (If you give just one offset, it is always | ||
| 860 | @var{xoffset}.) @samp{+3-3} specifies both the @var{xoffset} and the | ||
| 861 | @var{yoffset}, placing the frame near the bottom left of the screen. | ||
| 862 | |||
| 863 | You can specify a default for any or all of the fields in | ||
| 864 | @file{.Xdefaults} file, and then override selected fields with a | ||
| 865 | @samp{--geometry} option. | ||
| 866 | |||
| 867 | @node Borders X | ||
| 868 | @appendixsec Internal and External Borders | ||
| 869 | @cindex borders (X Window System) | ||
| 870 | |||
| 871 | An Emacs frame has an internal border and an external border. The | ||
| 872 | internal border is an extra strip of the background color around the | ||
| 873 | text portion of the frame. Emacs itself draws the internal border. | ||
| 874 | The external border is added by the window manager outside the frame; | ||
| 875 | depending on the window manager you use, it may contain various boxes | ||
| 876 | you can click on to move or iconify the window. | ||
| 877 | |||
| 878 | @table @samp | ||
| 879 | @item -ib @var{width} | ||
| 880 | @opindex -ib | ||
| 881 | @itemx --internal-border=@var{width} | ||
| 882 | @opindex --internal-border | ||
| 883 | @cindex border width, command-line argument | ||
| 884 | Specify @var{width} as the width of the internal border, in pixels. | ||
| 885 | |||
| 886 | @item -bw @var{width} | ||
| 887 | @opindex -bw | ||
| 888 | @itemx --border-width=@var{width} | ||
| 889 | @opindex --border-width | ||
| 890 | Specify @var{width} as the width of the main border, in pixels. | ||
| 891 | @end table | ||
| 892 | |||
| 893 | When you specify the size of the frame, that does not count the | ||
| 894 | borders. The frame's position is measured from the outside edge of the | ||
| 895 | external border. | ||
| 896 | |||
| 897 | Use the @samp{-ib @var{n}} option to specify an internal border | ||
| 898 | @var{n} pixels wide. The default is 1. Use @samp{-bw @var{n}} to | ||
| 899 | specify the width of the external border (though the window manager may | ||
| 900 | not pay attention to what you specify). The default width of the | ||
| 901 | external border is 2. | ||
| 902 | |||
| 903 | @node Title X | ||
| 904 | @appendixsec Frame Titles | ||
| 905 | |||
| 906 | An Emacs frame may or may not have a specified title. The frame | ||
| 907 | title, if specified, appears in window decorations and icons as the | ||
| 908 | name of the frame. If an Emacs frame has no specified title, the | ||
| 909 | default title has the form @samp{@var{invocation-name}@@@var{machine}} | ||
| 910 | (if there is only one frame) or the selected window's buffer name (if | ||
| 911 | there is more than one frame). | ||
| 912 | |||
| 913 | You can specify a title for the initial Emacs frame with a command | ||
| 914 | line option: | ||
| 915 | |||
| 916 | @table @samp | ||
| 917 | @item -title @var{title} | ||
| 918 | @opindex --title | ||
| 919 | @itemx --title=@var{title} | ||
| 920 | @itemx -T @var{title} | ||
| 921 | @opindex -T | ||
| 922 | @cindex frame title, command-line argument | ||
| 923 | Specify @var{title} as the title for the initial Emacs frame. | ||
| 924 | @end table | ||
| 925 | |||
| 926 | The @samp{--name} option (@pxref{Resources X}) also specifies the title | ||
| 927 | for the initial Emacs frame. | ||
| 928 | |||
| 929 | @node Icons X | ||
| 930 | @appendixsec Icons | ||
| 931 | @cindex icons (X Window System) | ||
| 932 | |||
| 933 | Most window managers allow the user to ``iconify'' a frame, removing | ||
| 934 | it from sight, and leaving a small, distinctive ``icon'' window in its | ||
| 935 | place. Clicking on the icon window makes the frame itself appear again. | ||
| 936 | If you have many clients running at once, you can avoid cluttering up | ||
| 937 | the screen by iconifying most of the clients. | ||
| 938 | |||
| 939 | @table @samp | ||
| 940 | @item -i | ||
| 941 | @opindex -i | ||
| 942 | @itemx --icon-type | ||
| 943 | @opindex --icon-type | ||
| 944 | @cindex Emacs icon, a gnu | ||
| 945 | Use a picture of a gnu as the Emacs icon. | ||
| 946 | |||
| 947 | @item -iconic | ||
| 948 | @opindex --iconic | ||
| 949 | @itemx --iconic | ||
| 950 | @cindex start iconified, command-line argument | ||
| 951 | Start Emacs in iconified state. | ||
| 952 | @end table | ||
| 953 | |||
| 954 | The @samp{-i} or @samp{--icon-type} option tells Emacs to use an icon | ||
| 955 | window containing a picture of the GNU gnu. If omitted, Emacs lets the | ||
| 956 | window manager choose what sort of icon to use---usually just a small | ||
| 957 | rectangle containing the frame's title. | ||
| 958 | |||
| 959 | The @samp{-iconic} option tells Emacs to begin running as an icon, | ||
| 960 | rather than showing a frame right away. In this situation, the icon | ||
| 961 | is the only indication that Emacs has started; the text frame doesn't | ||
| 962 | appear until you deiconify it. | ||
| 963 | |||
| 964 | @node Resources X | ||
| 965 | @appendixsec X Resources | ||
| 966 | @cindex resources | ||
| 967 | |||
| 968 | @cindex X resources, @file{~/.Xdefaults} file | ||
| 969 | Programs running under the X Window System organize their user options | ||
| 970 | under a hierarchy of classes and resources. You can specify default | ||
| 971 | values for these options in your X resources file, usually named | ||
| 972 | @file{~/.Xdefaults}. | ||
| 973 | |||
| 974 | Each line in the file specifies a value for one option or for a | ||
| 975 | collection of related options, for one program or for several programs | ||
| 976 | (optionally even for all programs). | ||
| 977 | |||
| 978 | @cindex Registry (MS-Windows) | ||
| 979 | @cindex @file{.Xdefaults} file, and MS-Windows | ||
| 980 | MS-Windows systems don't support @file{~/.Xdefaults} files, but | ||
| 981 | Emacs compiled for Windows looks for X resources in the Windows | ||
| 982 | Registry, under the keys @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs} | ||
| 983 | and @samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}. | ||
| 984 | |||
| 985 | Programs define named resources with particular meanings. They also | ||
| 986 | define how to group resources into named classes. For instance, in | ||
| 987 | Emacs, the @samp{internalBorder} resource controls the width of the | ||
| 988 | internal border, and the @samp{borderWidth} resource controls the width | ||
| 989 | of the external border. Both of these resources are part of the | ||
| 990 | @samp{BorderWidth} class. Case distinctions are significant in these | ||
| 991 | names. | ||
| 992 | |||
| 993 | In @file{~/.Xdefaults}, you can specify a value for a single resource | ||
| 994 | on one line, like this: | ||
| 995 | |||
| 996 | @example | ||
| 997 | emacs.borderWidth: 2 | ||
| 998 | @end example | ||
| 999 | |||
| 1000 | @noindent | ||
| 1001 | Or you can use a class name to specify the same value for all resources | ||
| 1002 | in that class. Here's an example: | ||
| 1003 | |||
| 1004 | @example | ||
| 1005 | emacs.BorderWidth: 2 | ||
| 1006 | @end example | ||
| 1007 | |||
| 1008 | If you specify a value for a class, it becomes the default for all | ||
| 1009 | resources in that class. You can specify values for individual | ||
| 1010 | resources as well; these override the class value, for those particular | ||
| 1011 | resources. Thus, this example specifies 2 as the default width for all | ||
| 1012 | borders, but overrides this value with 4 for the external border: | ||
| 1013 | |||
| 1014 | @example | ||
| 1015 | emacs.BorderWidth: 2 | ||
| 1016 | emacs.borderWidth: 4 | ||
| 1017 | @end example | ||
| 1018 | |||
| 1019 | The order in which the lines appear in the file does not matter. | ||
| 1020 | Also, command-line options always override the X resources file. | ||
| 1021 | |||
| 1022 | The string @samp{emacs} in the examples above is also a resource | ||
| 1023 | name. It actually represents the name of the executable file that you | ||
| 1024 | invoke to run Emacs. If Emacs is installed under a different name, it | ||
| 1025 | looks for resources under that name instead of @samp{emacs}. | ||
| 1026 | |||
| 1027 | @table @samp | ||
| 1028 | @item -name @var{name} | ||
| 1029 | @opindex --name | ||
| 1030 | @itemx --name=@var{name} | ||
| 1031 | @cindex resource name, command-line argument | ||
| 1032 | Use @var{name} as the resource name (and the title) for the initial | ||
| 1033 | Emacs frame. This option does not affect subsequent frames, but Lisp | ||
| 1034 | programs can specify frame names when they create frames. | ||
| 1035 | |||
| 1036 | If you don't specify this option, the default is to use the Emacs | ||
| 1037 | executable's name as the resource name. | ||
| 1038 | |||
| 1039 | @item -xrm @var{resource-values} | ||
| 1040 | @opindex --xrm | ||
| 1041 | @itemx --xrm=@var{resource-values} | ||
| 1042 | @cindex resource values, command-line argument | ||
| 1043 | Specify X resource values for this Emacs job (see below). | ||
| 1044 | @end table | ||
| 1045 | |||
| 1046 | For consistency, @samp{-name} also specifies the name to use for | ||
| 1047 | other resource values that do not belong to any particular frame. | ||
| 1048 | |||
| 1049 | The resources that name Emacs invocations also belong to a class; its | ||
| 1050 | name is @samp{Emacs}. If you write @samp{Emacs} instead of | ||
| 1051 | @samp{emacs}, the resource applies to all frames in all Emacs jobs, | ||
| 1052 | regardless of frame titles and regardless of the name of the executable | ||
| 1053 | file. Here is an example: | ||
| 1054 | |||
| 1055 | @example | ||
| 1056 | Emacs.BorderWidth: 2 | ||
| 1057 | Emacs.borderWidth: 4 | ||
| 1058 | @end example | ||
| 1059 | |||
| 1060 | You can specify a string of additional resource values for Emacs to | ||
| 1061 | use with the command line option @samp{-xrm @var{resources}}. The text | ||
| 1062 | @var{resources} should have the same format that you would use inside a file | ||
| 1063 | of X resources. To include multiple resource specifications in | ||
| 1064 | @var{resources}, put a newline between them, just as you would in a file. | ||
| 1065 | You can also use @samp{#include "@var{filename}"} to include a file full | ||
| 1066 | of resource specifications. Resource values specified with @samp{-xrm} | ||
| 1067 | take precedence over all other resource specifications. | ||
| 1068 | |||
| 1069 | The following table lists the resource names that designate options | ||
| 1070 | for Emacs, each with the class that it belongs to: | ||
| 1071 | |||
| 1072 | @table @asis | ||
| 1073 | @item @code{background} (class @code{Background}) | ||
| 1074 | Background color name. | ||
| 1075 | |||
| 1076 | @item @code{bitmapIcon} (class @code{BitmapIcon}) | ||
| 1077 | Use a bitmap icon (a picture of a gnu) if @samp{on}, let the window | ||
| 1078 | manager choose an icon if @samp{off}. | ||
| 1079 | |||
| 1080 | @item @code{borderColor} (class @code{BorderColor}) | ||
| 1081 | Color name for the external border. | ||
| 1082 | |||
| 1083 | @item @code{borderWidth} (class @code{BorderWidth}) | ||
| 1084 | Width in pixels of the external border. | ||
| 1085 | |||
| 1086 | @item @code{cursorColor} (class @code{Foreground}) | ||
| 1087 | Color name for text cursor (point). | ||
| 1088 | |||
| 1089 | @item @code{font} (class @code{Font}) | ||
| 1090 | Font name for text (or fontset name, @pxref{Fontsets}). | ||
| 1091 | |||
| 1092 | @item @code{foreground} (class @code{Foreground}) | ||
| 1093 | Color name for text. | ||
| 1094 | |||
| 1095 | @item @code{geometry} (class @code{Geometry}) | ||
| 1096 | Window size and position. Be careful not to specify this resource as | ||
| 1097 | @samp{emacs*geometry}, because that may affect individual menus as well | ||
| 1098 | as the Emacs frame itself. | ||
| 1099 | |||
| 1100 | If this resource specifies a position, that position applies only to the | ||
| 1101 | initial Emacs frame (or, in the case of a resource for a specific frame | ||
| 1102 | name, only that frame). However, the size, if specified here, applies to | ||
| 1103 | all frames. | ||
| 1104 | |||
| 1105 | @item @code{iconName} (class @code{Title}) | ||
| 1106 | Name to display in the icon. | ||
| 1107 | |||
| 1108 | @item @code{internalBorder} (class @code{BorderWidth}) | ||
| 1109 | Width in pixels of the internal border. | ||
| 1110 | |||
| 1111 | @item @code{lineSpacing} (class @code{LineSpacing}) | ||
| 1112 | @cindex line spacing | ||
| 1113 | @cindex leading | ||
| 1114 | Additional space (@dfn{leading}) between lines, in pixels. | ||
| 1115 | |||
| 1116 | @item @code{menuBar} (class @code{MenuBar}) | ||
| 1117 | Give frames menu bars if @samp{on}; don't have menu bars if @samp{off}. | ||
| 1118 | |||
| 1119 | @item @code{toolBar} (class @code{ToolBar}) | ||
| 1120 | Number of lines to reserve for the tool bar. A zero value suppresses | ||
| 1121 | the tool bar. If the value is non-zero and | ||
| 1122 | @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's size | ||
| 1123 | will be changed automatically so that all tool bar items are visible. | ||
| 1124 | |||
| 1125 | @item @code{minibuffer} (class @code{Minibuffer}) | ||
| 1126 | If @samp{none}, don't make a minibuffer in this frame. | ||
| 1127 | It will use a separate minibuffer frame instead. | ||
| 1128 | |||
| 1129 | @item @code{paneFont} (class @code{Font}) | ||
| 1130 | @cindex font for menus | ||
| 1131 | Font name for menu pane titles, in non-toolkit versions of Emacs. | ||
| 1132 | |||
| 1133 | @item @code{pointerColor} (class @code{Foreground}) | ||
| 1134 | Color of the mouse cursor. | ||
| 1135 | |||
| 1136 | @ignore | ||
| 1137 | @item @code{privateColormap} (class @code{PrivateColormap}) | ||
| 1138 | If @samp{on}, use a private color map, in the case where the ``default | ||
| 1139 | visual'' of class PseudoColor and Emacs is using it. | ||
| 1140 | @end ignore | ||
| 1141 | |||
| 1142 | @item @code{reverseVideo} (class @code{ReverseVideo}) | ||
| 1143 | Switch foreground and background default colors if @samp{on}, use colors as | ||
| 1144 | specified if @samp{off}. | ||
| 1145 | |||
| 1146 | @item @code{screenGamma} (class @code{ScreenGamma}) | ||
| 1147 | @cindex gamma correction | ||
| 1148 | Gamma correction for colors, equivalent to the frame parameter | ||
| 1149 | @code{screen-gamma}. | ||
| 1150 | |||
| 1151 | @item @code{selectionFont} (class @code{Font}) | ||
| 1152 | Font name for pop-up menu items, in non-toolkit versions of Emacs. (For | ||
| 1153 | toolkit versions, see @ref{Lucid Resources}, also see @ref{LessTif | ||
| 1154 | Resources}.) | ||
| 1155 | |||
| 1156 | @item @code{synchronous} (class @code{Synchronous}) | ||
| 1157 | @cindex debugging X problems | ||
| 1158 | @cindex synchronous X mode | ||
| 1159 | Run Emacs in synchronous mode if @samp{on}. Synchronous mode is | ||
| 1160 | useful for debugging X problems. | ||
| 1161 | |||
| 1162 | @item @code{title} (class @code{Title}) | ||
| 1163 | Name to display in the title bar of the initial Emacs frame. | ||
| 1164 | |||
| 1165 | @item @code{verticalScrollBars} (class @code{ScrollBars}) | ||
| 1166 | Give frames scroll bars if @samp{on}; don't have scroll bars if | ||
| 1167 | @samp{off}. | ||
| 1168 | @end table | ||
| 1169 | |||
| 1170 | Here are resources for controlling the appearance of particular faces | ||
| 1171 | (@pxref{Faces}): | ||
| 1172 | |||
| 1173 | @table @code | ||
| 1174 | @item @var{face}.attributeFont | ||
| 1175 | Font for face @var{face}. | ||
| 1176 | @item @var{face}.attributeForeground | ||
| 1177 | Foreground color for face @var{face}. | ||
| 1178 | @item @var{face}.attributeBackground | ||
| 1179 | Background color for face @var{face}. | ||
| 1180 | @item @var{face}.attributeUnderline | ||
| 1181 | Underline flag for face @var{face}. Use @samp{on} or @samp{true} for | ||
| 1182 | yes. | ||
| 1183 | @item @var{face}.attributeFamily | ||
| 1184 | Font family for face @var{face}. | ||
| 1185 | @item @var{face}.attributeWidth | ||
| 1186 | Relative proportional width of the font to use for face @var{face}. | ||
| 1187 | It should be one of @code{ultra-condensed}, @code{extra-condensed}, | ||
| 1188 | @code{condensed}, @code{semi-condensed}, @code{normal}, | ||
| 1189 | @code{semi-expanded}, @code{expanded}, @code{extra-expanded}, or | ||
| 1190 | @code{ultra-expanded}. | ||
| 1191 | @item @var{face}.attributeHeight | ||
| 1192 | Height of the font to use for face @var{face}: either an integer | ||
| 1193 | specifying the height in units of 1/10@dmn{pt}, or a floating point | ||
| 1194 | number that specifies a scale factor to scale the underlying face's | ||
| 1195 | default font, or a function to be called with the default height which | ||
| 1196 | will return a new height. | ||
| 1197 | @item @var{face}.attributeWeight | ||
| 1198 | A weight to use for the face @var{face}. It must be one of | ||
| 1199 | @code{ultra-bold}, @code{extra-bold}, @code{bold}, | ||
| 1200 | @code{semi-bold}, @code{normal}, @code{semi-light}, @code{light}, | ||
| 1201 | @code{extra-light}, @code{ultra-light}. | ||
| 1202 | @item @var{face}.attributeSlant | ||
| 1203 | The slant to use for the font of face @var{face}. It must be one of | ||
| 1204 | @code{italic}, @code{oblique}, @code{normal}, | ||
| 1205 | @code{reverse-italic}, or @code{reverse-oblique}. | ||
| 1206 | @item @var{face}.attributeStrikeThrough | ||
| 1207 | Whether the face @var{face} should be drawn with a line striking | ||
| 1208 | through the characters. | ||
| 1209 | @item @var{face}.attributeOverline | ||
| 1210 | Whether the characters in the face @var{face} should be overlined. | ||
| 1211 | @item @var{face}.attributeBox | ||
| 1212 | Whether to draw a box around the characters in face @var{face}. | ||
| 1213 | @item @var{face}.attributeInverse | ||
| 1214 | Whether to display the characters in face @var{face} in inverse | ||
| 1215 | video. | ||
| 1216 | @item @var{face}.attributeStipple | ||
| 1217 | The name of a pixmap data file to use for the stipple pattern, or | ||
| 1218 | @code{false} to not use stipple for the face @var{face}. | ||
| 1219 | @item @var{face}.attributeBackgroundPixmap | ||
| 1220 | The background pixmap for the face @var{face}. Should be a name of a | ||
| 1221 | pixmap file or @code{false}. | ||
| 1222 | @item @var{face}.attributeBold | ||
| 1223 | Whether to draw the characters in the face @var{face} as bold. | ||
| 1224 | @item @var{face}.attributeItalic | ||
| 1225 | Whether to draw the characters in the face @var{face} as italic. | ||
| 1226 | @end table | ||
| 1227 | |||
| 1228 | @node Lucid Resources | ||
| 1229 | @appendixsec Lucid Menu X Resources | ||
| 1230 | @cindex Menu X Resources (Lucid widgets) | ||
| 1231 | @cindex Lucid Widget X Resources | ||
| 1232 | |||
| 1233 | If the Emacs installed at your site was built to use the X toolkit | ||
| 1234 | with the Lucid menu widgets, then the menu bar is a separate widget and | ||
| 1235 | has its own resources. The resource names contain @samp{pane.menubar} | ||
| 1236 | (following, as always, the name of the Emacs invocation, or @samp{Emacs}, | ||
| 1237 | which stands for all Emacs invocations). Specify them like this: | ||
| 1238 | |||
| 1239 | @example | ||
| 1240 | Emacs.pane.menubar.@var{resource}: @var{value} | ||
| 1241 | @end example | ||
| 1242 | |||
| 1243 | @noindent | ||
| 1244 | For example, to specify the font @samp{8x16} for the menu-bar items, | ||
| 1245 | write this: | ||
| 1246 | |||
| 1247 | @example | ||
| 1248 | Emacs.pane.menubar.font: 8x16 | ||
| 1249 | @end example | ||
| 1250 | |||
| 1251 | @noindent | ||
| 1252 | Resources for @emph{non-menubar} toolkit pop-up menus have | ||
| 1253 | @samp{menu*}, in like fashion. For example, to specify the font | ||
| 1254 | @samp{8x16} for the pop-up menu items, write this: | ||
| 1255 | |||
| 1256 | @example | ||
| 1257 | Emacs.menu*.font: 8x16 | ||
| 1258 | @end example | ||
| 1259 | |||
| 1260 | @noindent | ||
| 1261 | For dialog boxes, use @samp{dialog} instead of @samp{menu}: | ||
| 1262 | |||
| 1263 | @example | ||
| 1264 | Emacs.dialog*.font: 8x16 | ||
| 1265 | @end example | ||
| 1266 | |||
| 1267 | @noindent | ||
| 1268 | Experience shows that on some systems you may need to add | ||
| 1269 | @samp{shell.}@: before the @samp{pane.menubar} or @samp{menu*}. On | ||
| 1270 | some other systems, you must not add @samp{shell.}. | ||
| 1271 | |||
| 1272 | Here is a list of the specific resources for menu bars and pop-up menus: | ||
| 1273 | |||
| 1274 | @table @code | ||
| 1275 | @item font | ||
| 1276 | Font for menu item text. | ||
| 1277 | @item foreground | ||
| 1278 | Color of the foreground. | ||
| 1279 | @item background | ||
| 1280 | Color of the background. | ||
| 1281 | @item buttonForeground | ||
| 1282 | In the menu bar, the color of the foreground for a selected item. | ||
| 1283 | @item horizontalSpacing | ||
| 1284 | Horizontal spacing in pixels between items. Default is 3. | ||
| 1285 | @item verticalSpacing | ||
| 1286 | Vertical spacing in pixels between items. Default is 1. | ||
| 1287 | @item arrowSpacing | ||
| 1288 | Horizontal spacing between the arrow (which indicates a submenu) and | ||
| 1289 | the associated text. Default is 10. | ||
| 1290 | @item shadowThickness | ||
| 1291 | Thickness of shadow line around the widget. | ||
| 1292 | @item margin | ||
| 1293 | The margin of the menu bar, in characters. The default of 4 makes the | ||
| 1294 | menu bar appear like the LessTif/Motif one. | ||
| 1295 | @end table | ||
| 1296 | |||
| 1297 | @node LessTif Resources | ||
| 1298 | @appendixsec LessTif Menu X Resources | ||
| 1299 | @cindex Menu X Resources (LessTif widgets) | ||
| 1300 | @cindex LessTif Widget X Resources | ||
| 1301 | |||
| 1302 | If the Emacs installed at your site was built to use the X toolkit | ||
| 1303 | with the LessTif or Motif widgets, then the menu bar, the dialog | ||
| 1304 | boxes, the pop-up menus, and the file-selection box are separate | ||
| 1305 | widgets and have their own resources. | ||
| 1306 | |||
| 1307 | The resource names for the menu bar contain @samp{pane.menubar} | ||
| 1308 | (following, as always, the name of the Emacs invocation, or | ||
| 1309 | @samp{Emacs}, which stands for all Emacs invocations). Specify them | ||
| 1310 | like this: | ||
| 1311 | |||
| 1312 | @smallexample | ||
| 1313 | Emacs.pane.menubar.@var{subwidget}.@var{resource}: @var{value} | ||
| 1314 | @end smallexample | ||
| 1315 | |||
| 1316 | Each individual string in the menu bar is a subwidget; the subwidget's | ||
| 1317 | name is the same as the menu item string. For example, the word | ||
| 1318 | @samp{File} in the menu bar is part of a subwidget named | ||
| 1319 | @samp{emacs.pane.menubar.File}. Most likely, you want to specify the | ||
| 1320 | same resources for the whole menu bar. To do this, use @samp{*} instead | ||
| 1321 | of a specific subwidget name. For example, to specify the font | ||
| 1322 | @samp{8x16} for the menu-bar items, write this: | ||
| 1323 | |||
| 1324 | @smallexample | ||
| 1325 | Emacs.pane.menubar.*.fontList: 8x16 | ||
| 1326 | @end smallexample | ||
| 1327 | |||
| 1328 | @noindent | ||
| 1329 | This also specifies the resource value for submenus. | ||
| 1330 | |||
| 1331 | Each item in a submenu in the menu bar also has its own name for X | ||
| 1332 | resources; for example, the @samp{File} submenu has an item named | ||
| 1333 | @samp{Save (current buffer)}. A resource specification for a submenu | ||
| 1334 | item looks like this: | ||
| 1335 | |||
| 1336 | @smallexample | ||
| 1337 | Emacs.pane.menubar.popup_*.@var{menu}.@var{item}.@var{resource}: @var{value} | ||
| 1338 | @end smallexample | ||
| 1339 | |||
| 1340 | @noindent | ||
| 1341 | For example, here's how to specify the font for the @samp{Save (current | ||
| 1342 | buffer)} item: | ||
| 1343 | |||
| 1344 | @smallexample | ||
| 1345 | Emacs.pane.menubar.popup_*.File.Save (current buffer).fontList: 8x16 | ||
| 1346 | @end smallexample | ||
| 1347 | |||
| 1348 | @noindent | ||
| 1349 | For an item in a second-level submenu, such as @samp{Complete Word} | ||
| 1350 | under @samp{Spell Checking} under @samp{Tools}, the resource fits this | ||
| 1351 | template: | ||
| 1352 | |||
| 1353 | @smallexample | ||
| 1354 | Emacs.pane.menubar.popup_*.popup_*.@var{menu}.@var{resource}: @var{value} | ||
| 1355 | @end smallexample | ||
| 1356 | |||
| 1357 | @noindent | ||
| 1358 | For example, | ||
| 1359 | |||
| 1360 | @smallexample | ||
| 1361 | Emacs.pane.menubar.popup_*.popup_*.Spell Checking.Complete Word: @var{value} | ||
| 1362 | @end smallexample | ||
| 1363 | |||
| 1364 | @noindent | ||
| 1365 | (This should be one long line.) | ||
| 1366 | |||
| 1367 | It's impossible to specify a resource for all the menu-bar items | ||
| 1368 | without also specifying it for the submenus as well. So if you want the | ||
| 1369 | submenu items to look different from the menu bar itself, you must ask | ||
| 1370 | for that in two steps. First, specify the resource for all of them; | ||
| 1371 | then, override the value for submenus alone. Here is an example: | ||
| 1372 | |||
| 1373 | @smallexample | ||
| 1374 | Emacs.pane.menubar.*.fontList: 8x16 | ||
| 1375 | Emacs.pane.menubar.popup_*.fontList: 8x16 | ||
| 1376 | @end smallexample | ||
| 1377 | |||
| 1378 | @noindent | ||
| 1379 | For LessTif pop-up menus, use @samp{menu*} instead of | ||
| 1380 | @samp{pane.menubar}. For example, to specify the font @samp{8x16} for | ||
| 1381 | the pop-up menu items, write this: | ||
| 1382 | |||
| 1383 | @smallexample | ||
| 1384 | Emacs.menu*.fontList: 8x16 | ||
| 1385 | @end smallexample | ||
| 1386 | |||
| 1387 | @noindent | ||
| 1388 | For LessTif dialog boxes, use @samp{dialog} instead of @samp{menu}: | ||
| 1389 | |||
| 1390 | @example | ||
| 1391 | Emacs.dialog*.fontList: 8x16 | ||
| 1392 | Emacs.dialog*.foreground: hotpink | ||
| 1393 | @end example | ||
| 1394 | |||
| 1395 | To specify resources for the LessTif file-selection box, use | ||
| 1396 | @samp{fsb*}, like this: | ||
| 1397 | |||
| 1398 | @example | ||
| 1399 | Emacs.fsb*.fontList: 8x16 | ||
| 1400 | @end example | ||
| 1401 | |||
| 1402 | @iftex | ||
| 1403 | @medbreak | ||
| 1404 | @end iftex | ||
| 1405 | Here is a list of the specific resources for LessTif menu bars and | ||
| 1406 | pop-up menus: | ||
| 1407 | |||
| 1408 | @table @code | ||
| 1409 | @item armColor | ||
| 1410 | The color to show in an armed button. | ||
| 1411 | @item fontList | ||
| 1412 | The font to use. | ||
| 1413 | @item marginBottom | ||
| 1414 | @itemx marginHeight | ||
| 1415 | @itemx marginLeft | ||
| 1416 | @itemx marginRight | ||
| 1417 | @itemx marginTop | ||
| 1418 | @itemx marginWidth | ||
| 1419 | Amount of space to leave around the item, within the border. | ||
| 1420 | @item borderWidth | ||
| 1421 | The width of the border around the menu item, on all sides. | ||
| 1422 | @item shadowThickness | ||
| 1423 | The width of the border shadow. | ||
| 1424 | @item bottomShadowColor | ||
| 1425 | The color for the border shadow, on the bottom and the right. | ||
| 1426 | @item topShadowColor | ||
| 1427 | The color for the border shadow, on the top and the left. | ||
| 1428 | @end table | ||