Next: Lucid Resources, Previous: Icons X, Up: Command Arguments
Programs running under the X Window System organize their user options under a hierarchy of classes and resources. You can specify default values for these options in your X resources file, usually named ~/.Xdefaults.
Each line in the file specifies a value for one option or for a collection of related options, for one program or for several programs (optionally even for all programs).
MS-Windows systems don't support ~/.Xdefaults files, but Emacs compiled for Windows looks for X resources in the Windows Registry, under the keys `HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs' and `HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs'.
Programs define named resources with particular meanings. They also define how to group resources into named classes. For instance, in Emacs, the `internalBorder' resource controls the width of the internal border, and the `borderWidth' resource controls the width of the external border. Both of these resources are part of the `BorderWidth' class. Case distinctions are significant in these names.
In ~/.Xdefaults, you can specify a value for a single resource on one line, like this:
emacs.borderWidth: 2
Or you can use a class name to specify the same value for all resources in that class. Here's an example:
emacs.BorderWidth: 2
If you specify a value for a class, it becomes the default for all resources in that class. You can specify values for individual resources as well; these override the class value, for those particular resources. Thus, this example specifies 2 as the default width for all borders, but overrides this value with 4 for the external border:
emacs.BorderWidth: 2 emacs.borderWidth: 4
The order in which the lines appear in the file does not matter. Also, command-line options always override the X resources file.
The string `emacs' in the examples above is also a resource name. It actually represents the name of the executable file that you invoke to run Emacs. If Emacs is installed under a different name, it looks for resources under that name instead of `emacs'.
If you don't specify this option, the default is to use the Emacs
executable's name as the resource name.
For consistency, `-name' also specifies the name to use for other resource values that do not belong to any particular frame.
The resources that name Emacs invocations also belong to a class; its name is `Emacs'. If you write `Emacs' instead of `emacs', the resource applies to all frames in all Emacs jobs, regardless of frame titles and regardless of the name of the executable file. Here is an example:
Emacs.BorderWidth: 2 Emacs.borderWidth: 4
You can specify a string of additional resource values for Emacs to use with the command line option `-xrm resources'. The text resources should have the same format that you would use inside a file of X resources. To include multiple resource specifications in resources, put a newline between them, just as you would in a file. You can also use `#include "filename"' to include a file full of resource specifications. Resource values specified with `-xrm' take precedence over all other resource specifications.
The following table lists the resource names that designate options for Emacs, each with the class that it belongs to:
background
(class Background
)bitmapIcon
(class BitmapIcon
)borderColor
(class BorderColor
)borderWidth
(class BorderWidth
)cursorColor
(class Foreground
)font
(class Font
)foreground
(class Foreground
)geometry
(class Geometry
)If this resource specifies a position, that position applies only to the
initial Emacs frame (or, in the case of a resource for a specific frame
name, only that frame). However, the size, if specified here, applies to
all frames.
iconName
(class Title
)internalBorder
(class BorderWidth
)lineSpacing
(class LineSpacing
)menuBar
(class MenuBar
)toolBar
(class ToolBar
)auto-resize-tool-bars
is non-nil
, the tool bar's size
will be changed automatically so that all tool bar items are visible.
minibuffer
(class Minibuffer
)paneFont
(class Font
)pointerColor
(class Foreground
)reverseVideo
(class ReverseVideo
)screenGamma
(class ScreenGamma
)screen-gamma
.
selectionFont
(class Font
)synchronous
(class Synchronous
)title
(class Title
)verticalScrollBars
(class ScrollBars
)Here are resources for controlling the appearance of particular faces (see Faces):
.attributeFont
.attributeForeground
.attributeBackground
.attributeUnderline
.attributeFamily
.attributeWidth
ultra-condensed
, extra-condensed
,
condensed
, semi-condensed
, normal
,
semi-expanded
, expanded
, extra-expanded
, or
ultra-expanded
.
.attributeHeight
.attributeWeight
ultra-bold
, extra-bold
, bold
,
semi-bold
, normal
, semi-light
, light
,
extra-light
, ultra-light
.
.attributeSlant
italic
, oblique
, normal
,
reverse-italic
, or reverse-oblique
.
.attributeStrikeThrough
.attributeOverline
.attributeBox
.attributeInverse
.attributeStipple
false
to not use stipple for the face face.
.attributeBackgroundPixmap
false
.
.attributeBold
.attributeItalic