/[emacs]/emacs/man/xresources.texi
ViewVC logotype

Diff of /emacs/man/xresources.texi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by rms, Tue Nov 6 04:53:41 2001 UTC revision 1.5 by rms, Thu Nov 22 11:36:36 2001 UTC
# Line 2  Line 2 
2  @c Copyright (C) 1987,93,94,95,1997,2001 Free Software Foundation, Inc.  @c Copyright (C) 1987,93,94,95,1997,2001 Free Software Foundation, Inc.
3  @c See file emacs.texi for copying conditions.  @c See file emacs.texi for copying conditions.
4  @node X Resources, Antinews, Command Arguments, Top  @node X Resources, Antinews, Command Arguments, Top
5  @appendix X Resources  @appendix X Options and Resources
6    
7    Some aspects of Emacs behavior can be customized using X resources,    You can customize some X-related aspects of Emacs behavior using X
8  as is usual for programs that use X.  X resources are the only way to  resources, as is usual for programs that use X.  X resources are the
9  customize tooltip windows and LessTif menus, since the libraries that  only way to customize tooltip windows and LessTif menus, since the
10  implement them don't provide for customization through Emacs.  This  libraries that implement them don't provide for customization through
11  appendix describes the X resources that Emacs recognizes and what they  Emacs.  This appendix describes the X resources that Emacs recognizes
12  mean.  and how to use them.
   
   One way to experiment with the effect of different resource settings  
 is to use the @code{editres} program.  Select @samp{Get Tree} from the  
 @samp{Commands} menu, then click on an Emacs frame.  This will display  
 a tree showing the structure of X toolkit widgets used in an Emacs  
 frame.  Select one of them, such as @samp{menubar}, then select  
 @samp{Show Resource Box} from the @samp{Commands} menu.  This displays  
 a list of all the meaningful X resources and allows you to edit them.  
 Changes take effect immediately if you click on the @samp{Apply} button.  
13    
14  @menu  @menu
15  * Display X::           Changing the default display and using remote login.  * Resources::           Using X resources with Emacs (in general).
16  * Font X::              Choosing a font for text, under X.  * Table of Resources::  Table of specific X resources that affect Emacs.
17  * Colors X::            Choosing colors, under X.  * Face Resources::      X resources for customizing faces.
 * Window Size X::       Start-up window size, under X.  
 * Borders X::           Internal and external borders, under X.  
 * Title X::             Specifying the initial frame's title.  
 * Icons X::             Choosing what sort of icon to use, under X.  
 * Resources X::         Advanced use of classes and resources, under X.  
18  * Lucid Resources::     X resources for Lucid menus.  * Lucid Resources::     X resources for Lucid menus.
19  * LessTif Resources::   X resources for LessTif and Motif menus.  * LessTif Resources::   X resources for LessTif and Motif menus.
20  @end menu  @end menu
21    
 @node Display X  
 @appendixsec Specifying the Display Name  
 @cindex display name (X Window System)  
 @cindex @env{DISPLAY} environment variable  
   
   The environment variable @env{DISPLAY} tells all X clients, including  
 Emacs, where to display their windows.  Its value is set by default  
 in ordinary circumstances, when you start an X server and run jobs  
 locally.  Occasionally you may need to specify the display yourself; for  
 example, if you do a remote login and want to run a client program  
 remotely, displaying on your local screen.  
   
   With Emacs, the main reason people change the default display is to  
 let them log into another system, run Emacs on that system, but have the  
 window displayed at their local terminal.  You might need to log in  
 to another system because the files you want to edit are there, or  
 because the Emacs executable file you want to run is there.  
   
   The syntax of the @env{DISPLAY} environment variable is  
 @samp{@var{host}:@var{display}.@var{screen}}, where @var{host} is the  
 host name of the X Window System server machine, @var{display} is an  
 arbitrarily-assigned number that distinguishes your server (X terminal)  
 from other servers on the same machine, and @var{screen} is a  
 rarely-used field that allows an X server to control multiple terminal  
 screens.  The period and the @var{screen} field are optional.  If  
 included, @var{screen} is usually zero.  
   
   For example, if your host is named @samp{glasperle} and your server is  
 the first (or perhaps the only) server listed in the configuration, your  
 @env{DISPLAY} is @samp{glasperle:0.0}.  
   
   You can specify the display name explicitly when you run Emacs, either  
 by changing the @env{DISPLAY} variable, or with the option @samp{-d  
 @var{display}} or @samp{--display=@var{display}}.  Here is an example:  
   
 @smallexample  
 emacs --display=glasperle:0 &  
 @end smallexample  
   
   You can inhibit the direct use of the window system and GUI with the  
 @samp{-nw} option.  It tells Emacs to display using ordinary ASCII on  
 its controlling terminal.  This is also an initial option.  
   
   Sometimes, security arrangements prevent a program on a remote system  
 from displaying on your local system.  In this case, trying to run Emacs  
 produces messages like this:  
   
 @smallexample  
 Xlib:  connection to "glasperle:0.0" refused by server  
 @end smallexample  
   
 @noindent  
 You might be able to overcome this problem by using the @code{xhost}  
 command on the local system to give permission for access from your  
 remote machine.  
   
 @node Font X  
 @appendixsec Font Specification Options  
 @cindex font name (X Window System)  
   
   By default, Emacs displays text in the font named @samp{9x15}, which  
 makes each character nine pixels wide and fifteen pixels high.  You can  
 specify a different font on your command line through the option  
 @samp{-fn @var{name}} (or @samp{--font}, which is an alias for  
 @samp{-fn}).  
   
 @table @samp  
 @item -fn @var{name}  
 @opindex -fn  
 @itemx --font=@var{name}  
 @opindex --font  
 @cindex specify default font from the command line  
 Use font @var{name} as the default font.  
 @end table  
   
   Under X, each font has a long name which consists of eleven words or  
 numbers, separated by dashes.  Some fonts also have shorter  
 nicknames---@samp{9x15} is such a nickname.  You can use either kind of  
 name.  You can use wildcard patterns for the font name; then Emacs lets  
 X choose one of the fonts that match the pattern.  Here is an example,  
 which happens to specify the font whose nickname is @samp{6x13}:  
   
 @smallexample  
 emacs -fn "-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1" &  
 @end smallexample  
   
 @noindent  
 You can also specify the font in your @file{.Xdefaults} file:  
   
 @smallexample  
 emacs.font: -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1  
 @end smallexample  
   
   A long font name has the following form:  
   
 @smallexample  
 -@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{}  
 @dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{charset}  
 @end smallexample  
   
 @table @var  
 @item maker  
 This is the name of the font manufacturer.  
 @item family  
 This is the name of the font family---for example, @samp{courier}.  
 @item weight  
 This is normally @samp{bold}, @samp{medium} or @samp{light}.  Other  
 words may appear here in some font names.  
 @item slant  
 This is @samp{r} (roman), @samp{i} (italic), @samp{o} (oblique),  
 @samp{ri} (reverse italic), or @samp{ot} (other).  
 @item widthtype  
 This is normally @samp{condensed}, @samp{extended}, @samp{semicondensed}  
 or @samp{normal}.  Other words may appear here in some font names.  
 @item style  
 This is an optional additional style name.  Usually it is empty---most  
 long font names have two hyphens in a row at this point.  
 @item pixels  
 This is the font height, in pixels.  
 @item height  
 This is the font height on the screen, measured in tenths of a printer's  
 point---approximately 1/720 of an inch.  In other words, it is the point  
 size of the font, times ten.  For a given vertical resolution,  
 @var{height} and @var{pixels} are proportional; therefore, it is common  
 to specify just one of them and use @samp{*} for the other.  
 @item horiz  
 This is the horizontal resolution, in pixels per inch, of the screen for  
 which the font is intended.  
 @item vert  
 This is the vertical resolution, in pixels per inch, of the screen for  
 which the font is intended.  Normally the resolution of the fonts on  
 your system is the right value for your screen; therefore, you normally  
 specify @samp{*} for this and @var{horiz}.  
 @item spacing  
 This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c}  
 (character cell).  
 @item width  
 This is the average character width, in pixels, multiplied by ten.  
 @item charset  
 This is the character set that the font depicts.  
 Normally you should use @samp{iso8859-1}.  
 @end table  
   
 @cindex listing system fonts  
   You will probably want to use a fixed-width default font---that is,  
 a font in which all characters have the same width.  Any font with  
 @samp{m} or @samp{c} in the @var{spacing} field of the long name is a  
 fixed-width font.  Here's how to use the @code{xlsfonts} program to  
 list all the fixed-width fonts available on your system:  
   
 @example  
 xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+"  
 xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*'  
 xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'  
 @end example  
   
 @noindent  
 To see what a particular font looks like, use the @code{xfd} command.  
 For example:  
   
 @example  
 xfd -fn 6x13  
 @end example  
   
 @noindent  
 displays the entire font @samp{6x13}.  
   
   While running Emacs, you can set the font of the current frame  
 (@pxref{Frame Parameters}) or for a specific kind of text  
 (@pxref{Faces}).  
   
 @node Colors X  
 @appendixsec Window Color Options  
 @cindex color of window  
 @cindex text colors, from command line  
   
 @findex list-colors-display  
 @cindex available colors  
   On a color display, you can specify which color to use for various  
 parts of the Emacs display.  To find out what colors are available on  
 your system, type @kbd{M-x list-colors-display}, or press  
 @kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu.  
 If you do not specify colors, on windowed displays the default for the  
 background is white and the default for all other colors is black.  On a  
 monochrome display, the foreground is black, the background is white,  
 and the border is gray if the display supports that.  On terminals, the  
 background is usually black and the foreground is white.  
   
   Here is a list of the command-line options for specifying colors:  
   
 @table @samp  
 @item -fg @var{color}  
 @opindex -fg  
 @itemx --foreground-color=@var{color}  
 @opindex --foreground-color  
 @cindex foreground color, command-line argument  
 Specify the foreground color.  @var{color} should be a standard color  
 name, or a numeric specification of the color's red, green, and blue  
 components as in @samp{#4682B4} or @samp{RGB:46/82/B4}.  
 @item -bg @var{color}  
 @opindex -bg  
 @itemx --background-color=@var{color}  
 @opindex --background-color  
 @cindex background color, command-line argument  
 Specify the background color.  
 @item -bd @var{color}  
 @opindex -bd  
 @itemx --border-color=@var{color}  
 @opindex --border-color  
 @cindex border color, command-line argument  
 Specify the color of the border of the X window.  
 @item -cr @var{color}  
 @opindex -cr  
 @itemx --cursor-color=@var{color}  
 @opindex --cursor-color  
 @cindex cursor color, command-line argument  
 Specify the color of the Emacs cursor which indicates where point is.  
 @item -ms @var{color}  
 @opindex -ms  
 @itemx --mouse-color=@var{color}  
 @opindex --mouse-color  
 @cindex mouse pointer color, command-line argument  
 Specify the color for the mouse cursor when the mouse is in the Emacs window.  
 @item -r  
 @opindex -r  
 @itemx -rv  
 @opindex -rv  
 @itemx --reverse-video  
 @opindex --reverse-video  
 @cindex reverse video, command-line argument  
 Reverse video---swap the foreground and background colors.  
 @end table  
   
   For example, to use a coral mouse cursor and a slate blue text cursor,  
 enter:  
   
 @example  
 emacs -ms coral -cr 'slate blue' &  
 @end example  
   
   You can reverse the foreground and background colors through the  
 @samp{-rv} option or with the X resource @samp{reverseVideo}.  
   
   The @samp{-fg}, @samp{-bg}, and @samp{-rv} options function on  
 text-only terminals as well as on window systems.  
   
 @node Window Size X  
 @appendixsec Options for Window Geometry  
 @cindex geometry of Emacs window  
 @cindex position and size of Emacs frame  
 @cindex width and height of Emacs frame  
   
   The @samp{--geometry} option controls the size and position of the  
 initial Emacs frame.  Here is the format for specifying the window  
 geometry:  
   
 @table @samp  
 @item -g @var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]}  
 @opindex -g  
 Specify window size @var{width} and @var{height} (measured in character  
 columns and lines), and positions @var{xoffset} and @var{yoffset}  
 (measured in pixels).  
   
 @item --geometry=@var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]}  
 @opindex --geometry  
 This is another way of writing the same thing.  
 @end table  
   
 @noindent  
 @code{@r{@{}+-@r{@}}} means either a plus sign or a minus sign.  A plus  
 sign before @var{xoffset} means it is the distance from the left side of  
 the screen; a minus sign means it counts from the right side.  A plus  
 sign before @var{yoffset} means it is the distance from the top of the  
 screen, and a minus sign there indicates the distance from the bottom.  
 The values @var{xoffset} and @var{yoffset} may themselves be positive or  
 negative, but that doesn't change their meaning, only their direction.  
   
   Emacs uses the same units as @code{xterm} does to interpret the geometry.  
 The @var{width} and @var{height} are measured in characters, so a large font  
 creates a larger frame than a small font.  (If you specify a proportional  
 font, Emacs uses its maximum bounds width as the width unit.)  The  
 @var{xoffset} and @var{yoffset} are measured in pixels.  
   
   Since the mode line and the echo area occupy the last 2 lines of the  
 frame, the height of the initial text window is 2 less than the height  
 specified in your geometry.  In non-X-toolkit versions of Emacs, the  
 menu bar also takes one line of the specified number.  But in the X  
 toolkit version, the menu bar is additional and does not count against  
 the specified height.  The tool bar, if present, is also additional.  
   
   You do not have to specify all of the fields in the geometry  
 specification.  
   
   If you omit both @var{xoffset} and @var{yoffset}, the window manager  
 decides where to put the Emacs frame, possibly by letting you place  
 it with the mouse.  For example, @samp{164x55} specifies a window 164  
 columns wide, enough for two ordinary width windows side by side, and 55  
 lines tall.  
   
   The default width for Emacs is 80 characters and the default height is  
 40 lines.  You can omit either the width or the height or both.  If  
 you start the geometry with an integer, Emacs interprets it as the  
 width.  If you start with an @samp{x} followed by an integer, Emacs  
 interprets it as the height.  Thus, @samp{81} specifies just the width;  
 @samp{x45} specifies just the height.  
   
   If you start with @samp{+} or @samp{-}, that introduces an offset,  
 which means both sizes are omitted.  Thus, @samp{-3} specifies the  
 @var{xoffset} only.  (If you give just one offset, it is always  
 @var{xoffset}.)  @samp{+3-3} specifies both the @var{xoffset} and the  
 @var{yoffset}, placing the frame near the bottom left of the screen.  
   
   You can specify a default for any or all of the fields in  
 @file{.Xdefaults} file, and then override selected fields with a  
 @samp{--geometry} option.  
   
 @node Borders X  
 @appendixsec Internal and External Borders  
 @cindex borders (X Window System)  
   
   An Emacs frame has an internal border and an external border.  The  
 internal border is an extra strip of the background color around the  
 text portion of the frame.  Emacs itself draws the internal border.  
 The external border is added by the window manager outside the frame;  
 depending on the window manager you use, it may contain various boxes  
 you can click on to move or iconify the window.  
   
 @table @samp  
 @item -ib @var{width}  
 @opindex -ib  
 @itemx --internal-border=@var{width}  
 @opindex --internal-border  
 @cindex border width, command-line argument  
 Specify @var{width} as the width of the internal border, in pixels.  
   
 @item -bw @var{width}  
 @opindex -bw  
 @itemx --border-width=@var{width}  
 @opindex --border-width  
 Specify @var{width} as the width of the main border, in pixels.  
 @end table  
   
   When you specify the size of the frame, that does not count the  
 borders.  The frame's position is measured from the outside edge of the  
 external border.  
   
   Use the @samp{-ib @var{n}} option to specify an internal border  
 @var{n} pixels wide.  The default is 1.  Use @samp{-bw @var{n}} to  
 specify the width of the external border (though the window manager may  
 not pay attention to what you specify).  The default width of the  
 external border is 2.  
   
 @node Title X  
 @appendixsec Frame Titles  
   
   An Emacs frame may or may not have a specified title.  The frame  
 title, if specified, appears in window decorations and icons as the  
 name of the frame.  If an Emacs frame has no specified title, the  
 default title has the form @samp{@var{invocation-name}@@@var{machine}}  
 (if there is only one frame) or the selected window's buffer name (if  
 there is more than one frame).  
   
   You can specify a title for the initial Emacs frame with a command  
 line option:  
   
 @table @samp  
 @item -title @var{title}  
 @opindex --title  
 @itemx --title=@var{title}  
 @itemx -T @var{title}  
 @opindex -T  
 @cindex frame title, command-line argument  
 Specify @var{title} as the title for the initial Emacs frame.  
 @end table  
   
   The @samp{--name} option (@pxref{Resources X}) also specifies the title  
 for the initial Emacs frame.  
   
 @node Icons X  
 @appendixsec Icons  
 @cindex icons (X Window System)  
   
   Most window managers allow the user to ``iconify'' a frame, removing  
 it from sight, and leaving a small, distinctive ``icon'' window in its  
 place.  Clicking on the icon window makes the frame itself appear again.  
 If you have many clients running at once, you can avoid cluttering up  
 the screen by iconifying most of the clients.  
   
 @table @samp  
 @item -i  
 @opindex -i  
 @itemx --icon-type  
 @opindex --icon-type  
 @cindex Emacs icon, a gnu  
 Use a picture of a gnu as the Emacs icon.  
   
 @item -iconic  
 @opindex --iconic  
 @itemx --iconic  
 @cindex start iconified, command-line argument  
 Start Emacs in iconified state.  
 @end table  
   
   The @samp{-i} or @samp{--icon-type} option tells Emacs to use an icon  
 window containing a picture of the GNU gnu.  If omitted, Emacs lets the  
 window manager choose what sort of icon to use---usually just a small  
 rectangle containing the frame's title.  
   
   The @samp{-iconic} option tells Emacs to begin running as an icon,  
 rather than showing a frame right away.  In this situation, the icon  
 is the only indication that Emacs has started; the text frame doesn't  
 appear until you deiconify it.  
   
22  @node Resources X  @node Resources X
23  @appendixsec X Resources  @appendixsec X Resources
24  @cindex resources  @cindex resources
# Line 551  You can also use @samp{#include "@var{fi Line 124  You can also use @samp{#include "@var{fi
124  of resource specifications.  Resource values specified with @samp{-xrm}  of resource specifications.  Resource values specified with @samp{-xrm}
125  take precedence over all other resource specifications.  take precedence over all other resource specifications.
126    
127    The following table lists the resource names that designate options    One way to experiment with the effect of different resource settings
128  for Emacs, each with the class that it belongs to:  is to use the @code{editres} program.  Select @samp{Get Tree} from the
129    @samp{Commands} menu, then click on an Emacs frame.  This will display
130    a tree showing the structure of X toolkit widgets used in an Emacs
131    frame.  Select one of them, such as @samp{menubar}, then select
132    @samp{Show Resource Box} from the @samp{Commands} menu.  This displays
133    a list of all the meaningful X resources and allows you to edit them.
134    Changes take effect immediately if you click on the @samp{Apply} button.
135    
136    @node Table of Resources
137    @appendixsec Table of X Resources for Emacs
138    
139      This table lists the resource names that designate options for
140    Emacs, each with the class that it belongs to:
141    
142  @table @asis  @table @asis
143  @item @code{background} (class @code{Background})  @item @code{background} (class @code{Background})
# Line 652  Give frames scroll bars if @samp{on}; do Line 237  Give frames scroll bars if @samp{on}; do
237  @samp{off}.  @samp{off}.
238  @end table  @end table
239    
240    Here are resources for controlling the appearance of particular faces  @node Face Resources
241  (@pxref{Faces}):  @appendixsec X Resources for Faces
242    
243      You can also use resources to customize the appearance of particular
244    faces (@pxref{Faces}):
245    
246  @table @code  @table @code
247  @item @var{face}.attributeFont  @item @var{face}.attributeFont

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26