diff man/xemacs/custom.texi @ 2681:f15523a6da7a

[xemacs-hg @ 2005-03-24 12:17:51 by aidan] Move to XEmacs for X11 app class, frame name.
author aidan
date Thu, 24 Mar 2005 12:18:02 +0000
parents f43f9ca6c7d9
children 40dc584fce16
line wrap: on
line diff
--- a/man/xemacs/custom.texi	Thu Mar 24 00:27:40 2005 +0000
+++ b/man/xemacs/custom.texi	Thu Mar 24 12:18:02 2005 +0000
@@ -2145,42 +2145,54 @@
 @cindex X resources
 @findex x-create-frame
 
-Historically, XEmacs has used the X resource application class @samp{Emacs}
+Historically, XEmacs used the X resource application class @samp{Emacs}
 for its resources.  Unfortunately, GNU Emacs uses the same application
 class, and resources are not compatible between the two Emacsen.  This
-sharing of the application class often leads to trouble if you want to
+sharing of the application class often led to trouble if you wanted to
 run both variants.
 
-Starting with XEmacs 21, XEmacs uses the class @samp{XEmacs} if it finds
-any XEmacs resources in the resource database when the X connection is
-initialized.  Otherwise, it will use the class @samp{Emacs} for
-backwards compatibility.  The variable @code{x-emacs-application-class}
-may be consulted to determine the application class being used.
-
-The examples in this section assume the application class is @samp{Emacs}.
-
-The Emacs resources are generally set per-frame. Each Emacs frame can have
-its own name or the same name as another, depending on the name passed to the
-@code{make-frame} function.
+XEmacs now uses the X resource application class @samp{XEmacs}.
+Versions since 21.5.21 normally do this without any acrobatics of code,
+but previous versions checked the X resource database for resources
+starting in @samp{XEmacs}, and if none were found, they used
+@samp{Emacs}, for greater backward compatibility.  Currently, we advise
+moving your X resources to using the @samp{XEmacs} class, but if, in the
+short term, you want to stay with the old behavior, you can start XEmacs
+with the environment variable @b{USE_EMACS_AS_DEFAULT_APPLICATION_CLASS}
+set to some value; this will restore the pre-21.5.21 behavior.
+
+The examples in this section assume the application class is
+@samp{XEmacs}. From Lisp, you can examine the
+@code{x-emacs-application-class} variable to determine which is being
+used in the running application. 
+
+XEmacs' resources are generally set per-frame. Each XEmacs frame can
+have its own name or the same name as another, depending on the name
+passed to the @code{make-frame} function.  Up until 21.5.21, the default
+frame name was @samp{emacs}; since then, it has been @samp{XEmacs}, but
+in the short term the old default can be restored by the
+@b{USE_EMACS_AS_DEFAULT_APPLICATION_CLASS} environment variable
+mentioned above. See the docstring for the Lisp variable
+`default-frame-name'.
 
 You can specify resources for all frames with the syntax:
 
 @example
-Emacs*parameter: value
+XEmacs*parameter: value
 @end example
 @noindent
 
 or
 
 @example
-Emacs*EmacsFrame.parameter:value
+XEmacs*EmacsFrame.parameter:value
 @end example
 @noindent
 
 You can specify resources for a particular frame with the syntax:
 
 @example
-Emacs*FRAME-NAME.parameter: value
+XEmacs*FRAME-NAME.parameter: value
 @end example
 @noindent
 
@@ -2196,58 +2208,58 @@
 @node Geometry Resources
 @subsection Geometry Resources
 
-To make the default size of all Emacs frames be 80 columns by 55 lines,
+To make the default size of all XEmacs frames be 80 columns by 55 lines,
 do this:
 
 @example
-Emacs*EmacsFrame.geometry: 80x55
+XEmacs*EmacsFrame.geometry: 80x55
 @end example
 @noindent
 
 To set the geometry of a particular frame named @samp{fred}, do this:
 
 @example
-Emacs*fred.geometry: 80x55
+XEmacs*fred.geometry: 80x55
 @end example
 @noindent
 
 Important! Do not use the following syntax:
 
 @example
-Emacs*geometry: 80x55
+XEmacs*geometry: 80x55
 @end example
 @noindent
 
 You should never use @code{*geometry} with any X application. It does
-not say "make the geometry of Emacs be 80 columns by 55 lines."  It
-really says, "make Emacs and all subwindows thereof be 80x55 in whatever
+not say "make the geometry of XEmacs be 80 columns by 55 lines."  It
+really says, "make XEmacs and all subwindows thereof be 80x55 in whatever
 units they care to measure in."  In particular, that is both telling the
-Emacs text pane to be 80x55 in characters, and telling the menubar pane
+XEmacs text pane to be 80x55 in characters, and telling the menubar pane
 to be 80x55 pixels, which is surely not what you want.
 
 As a special case, this geometry specification also works (and sets the
-default size of all Emacs frames to 80 columns by 55 lines):
+default size of all XEmacs frames to 80 columns by 55 lines):
 
 @example
-Emacs.geometry: 80x55
+XEmacs.geometry: 80x55
 @end example
 @noindent
 
 since that is the syntax used with most other applications (since most
-other applications have only one top-level window, unlike Emacs).  In
+other applications have only one top-level window, unlike XEmacs).  In
 general, however, the top-level shell (the unmapped ApplicationShell
-widget named @samp{Emacs} that is the parent of the shell widgets that
+widget named @samp{XEmacs} that is the parent of the shell widgets that
 actually manage the individual frames) does not have any interesting
 resources on it, and you should set the resources on the frames instead.
 
 The @code{-geometry} command-line argument sets only the geometry of the
-initial frame created by Emacs.
+initial frame created by XEmacs.
 
 A more complete explanation of geometry-handling is
 
 @itemize @bullet
 @item
-The @code{-geometry} command-line option sets the @code{Emacs.geometry}
+The @code{-geometry} command-line option sets the @code{XEmacs.geometry}
 resource, that is, the geometry of the ApplicationShell.
 
 @item
@@ -2261,7 +2273,7 @@
 
 @item
 For the first frame created, the position of the frame is taken from the
-ApplicationShell (@code{Emacs.geometry}) if it is specified, otherwise
+ApplicationShell (@code{XEmacs.geometry}) if it is specified, otherwise
 from the geometry of the frame.
 
 @item
@@ -2277,15 +2289,15 @@
 @subsection Iconic Resources
 
 Analogous to @code{-geometry}, the @code{-iconic} command-line option
-sets the iconic flag of the ApplicationShell (@code{Emacs.iconic}) and
+sets the iconic flag of the ApplicationShell (@code{XEmacs.iconic}) and
 always applies to the first frame created regardless of its name.
 However, it is possible to set the iconic flag on particular frames (by
-name) by using the @code{Emacs*FRAME-NAME.iconic} resource.
+name) by using the @code{XEmacs*FRAME-NAME.iconic} resource.
 
 @node Resource List
 @subsection Resource List
 
-Emacs frames accept the following resources:
+XEmacs frames accept the following resources:
 
 @table @asis
 @item @code{geometry} (class @code{Geometry}): string
@@ -2382,7 +2394,7 @@
 such as a modem connection.
 @end table
 
-Emacs devices accept the following resources:
+XEmacs devices accept the following resources:
 
 @table @asis
 @item @code{textPointer} (class @code{Cursor}): cursor-name
@@ -2425,14 +2437,14 @@
 The attributes of faces are also per-frame. They can be specified as:
 
 @example
-Emacs.FACE_NAME.parameter: value
+XEmacs.FACE_NAME.parameter: value
 @end example
 @noindent
 
 or
 
 @example
-Emacs*FRAME_NAME.FACE_NAME.parameter: value
+XEmacs*FRAME_NAME.FACE_NAME.parameter: value
 @end example
 @noindent
 
@@ -2447,7 +2459,7 @@
 The foreground and background colors of this face.
 
 @item @code{attributeBackgroundPixmap} (class @code{AttributeBackgroundPixmap}): file-name
-The name of an @sc{xbm} file (or @sc{xpm} file, if your version of Emacs
+The name of an @sc{xbm} file (or @sc{xpm} file, if your version of XEmacs
 supports @sc{xpm}), to use as a background stipple.
 
 @item @code{attributeUnderline} (class @code{AttributeUnderline}): boolean
@@ -2456,8 +2468,8 @@
 
 All text is displayed in some face, defaulting to the face named
 @code{default}.  To set the font of normal text, use
-@code{Emacs*default.attributeFont}. To set it in the frame named
-@code{fred}, use @code{Emacs*fred.default.attributeFont}.
+@code{XEmacs*default.attributeFont}. To set it in the frame named
+@code{fred}, use @code{XEmacs*fred.default.attributeFont}.
 
 These are the names of the predefined faces:
 
@@ -2466,15 +2478,15 @@
 Everything inherits from this.
 
 @item bold
-If this is not specified in the resource database, Emacs tries to find a
+If this is not specified in the resource database, XEmacs tries to find a
 bold version of the font of the default face.
 
 @item italic
-If this is not specified in the resource database, Emacs tries to find
+If this is not specified in the resource database, XEmacs tries to find
 an italic version of the font of the default face.
 
 @item bold-italic
-If this is not specified in the resource database, Emacs tries to find a
+If this is not specified in the resource database, XEmacs tries to find a
 bold-italic version of the font of the default face.
 
 @item modeline
@@ -2569,11 +2581,11 @@
 colors: It uses whatever resources are appropriate to the type of widget
 which is used to implement it.
 
-If Emacs was compiled to use only the Lucid Motif-lookalike menu widgets,
+If XEmacs was compiled to use only the Lucid Motif-lookalike menu widgets,
 then one way to specify the font of the menubar would be
 
 @example
-Emacs*menubar*font: *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
+XEmacs*menubar*font: *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
 @end example
 
 If both the Lucid Motif-lookalike menu widgets and X Font Sets are
@@ -2593,7 +2605,7 @@
 If the Motif library is being used, then one would have to use
 
 @example
-Emacs*menubar*fontList: *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
+XEmacs*menubar*fontList: *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
 @end example
 
 because the Motif library uses the @code{fontList} resource name instead