+@lisp
+(add-hook 'text-mode-hook 'turn-on-filladapt-mode)
+@end lisp
+
+You can customize filling and adaptive filling with Customize.
+Select from the @code{Options} menu
+@code{Advanced (Customize)->Emacs->Editing->Fill->Fill...}
+or type @kbd{M-x customize @key{RET} fill @key{RET}}.
+
+Note that well-behaving text-lookalike modes will run
+@code{text-mode-hook} by default (e.g. that's what Message does). For
+the nasty ones, you'll have to provide the @code{add-hook}s yourself.
+
+Please note that the @code{fa-extras} package is no longer useful.
+
+@node Q3.2.5, Q3.3.1, Q3.2.4, Editing
+@unnumberedsubsec Q3.2.5: How can I get XEmacs to come up in text/auto-fill mode by default?
+
+Try the following lisp in your @file{init.el}:
+
+@lisp
+(setq default-major-mode 'text-mode)
+(add-hook 'text-mode-hook 'turn-on-auto-fill)
+@end lisp
+
+@strong{WARNING}: note that changing the value of
+@code{default-major-mode} from @code{fundamental-mode} can break a large
+amount of built-in code that expects newly created buffers to be in
+@code{fundamental-mode}. (Changing from @code{fundamental-mode} to
+@code{text-mode} might not wreak too much havoc, but changing to
+something more exotic like a lisp-mode would break many Emacs packages).
+
+Note that Emacs by default starts up in buffer @code{*scratch*} in
+@code{initial-major-mode}, which defaults to
+@code{lisp-interaction-mode}. Thus adding the following form to your
+Emacs init file will cause the initial @code{*scratch*} buffer to be put
+into auto-fill'ed @code{text-mode}:
+
+@lisp
+(setq initial-major-mode
+ (lambda ()
+ (text-mode)
+ (turn-on-auto-fill)))
+@end lisp
+
+Note that after your init file is loaded, if
+@code{inhibit-startup-message} is @code{nil} (the default) and the
+startup buffer is @code{*scratch*} then the startup message will be
+inserted into @code{*scratch*}; it will be removed after a timeout by
+erasing the entire @code{*scratch*} buffer. Keep in mind this default
+usage of @code{*scratch*} if you desire any prior manipulation of
+@code{*scratch*} from within your Emacs init file. In particular,
+anything you insert into @code{*scratch*} from your init file will be
+later erased. Also, if you change the mode of the @code{*scratch*}
+buffer, be sure that this will not interfere with possible later
+insertion of the startup message (e.g. if you put @code{*scratch*} into
+a nonstandard mode that has automatic font lock rules, then the startup
+message might get fontified in a strange foreign manner, e.g. as code in
+some programming language).
+
+@unnumberedsec 3.3: Text Selections
+
+@node Q3.3.1, Q3.3.2, Q3.2.5, Editing
+@unnumberedsubsec Q3.3.1: How do I select a rectangular region?
+
+Just select the region normally, then use the rectangle commands (e.g.
+@code{kill-rectangle} on it. The region does not highlight as a
+rectangle, but the commands work just fine.
+
+To actually sweep out rectangular regions with the mouse you can use
+@code{mouse-track-do-rectangle} which is assigned to @kbd{M-button1}.
+Then use rectangle commands.
+
+You can also do the following to change default behavior to sweep out
+rectangular regions:
+
+@lisp
+(setq mouse-track-rectangle-p t)
+@end lisp
+
+You can also change this with Customize.
+Select from the @code{Options} menu
+@code{Advanced (Customize)->Emacs->Editing->Mouse->Track Rectangle...} or type
+@kbd{M-x customize @key{RET} mouse @key{RET}}.
+
+
+@example
+ mouse-track-do-rectangle: (event)
+ -- an interactive compiled Lisp function.
+ Like `mouse-track' but selects rectangles instead of regions.
+@end example
+
+@node Q3.3.2, Q3.3.3, Q3.3.1, Editing
+@unnumberedsubsec Q3.3.2: How can I turn off or change highlighted selections?
+
+The @code{zmacs} mode allows for what some might call gratuitous
+highlighting for selected regions (either by setting mark or by using
+the mouse). This is the default behavior. To turn off, add the
+following line to your @file{init.el} file:
+
+@lisp
+(setq zmacs-regions nil)
+@end lisp
+
+You can also change this with Customize. Select from the
+@code{Options} menu
+@code{Advanced (Customize)->Emacs->Editing->Basics->Zmacs Regions}
+or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
+
+To change the face for selection, look at @code{Options->Advanced (Customize)}
+on the menubar.
+
+@node Q3.3.3, Q3.3.4, Q3.3.2, Editing
+@unnumberedsubsec Q3.3.3: How do I cause typing on an active region to remove it?
+
+I want to change things so that if I select some text and start typing,
+the typed text replaces the selected text, similar to Motif.
+
+You want to use something called @dfn{pending delete}. Pending delete
+is what happens when you select a region (with the mouse or keyboard)
+and you press a key to replace the selected region by the key you typed.
+Usually backspace kills the selected region.
+
+To get this behavior, ensure that you have the @file{pc} package
+installed, and add the following lines to your
+@file{init.el}:
+
+@lisp
+(cond
+ ((fboundp 'turn-on-pending-delete)
+ (turn-on-pending-delete))
+ ((fboundp 'pending-delete-on)
+ (pending-delete-on t)))
+@end lisp
+
+Note that this will work with both Backspace and Delete. This code is a
+tad more complicated than it has to be for XEmacs in order to make it
+more portable.
+
+@node Q3.3.4, Q3.3.5, Q3.3.3, Editing
+@unnumberedsubsec Q3.3.4: Can I turn off the highlight during isearch?
+
+I do not like my text highlighted while I am doing isearch as I am not
+able to see what's underneath. How do I turn it off?
+
+Put the following in your @file{init.el}:
+
+@lisp
+(setq isearch-highlight nil)
+@end lisp
+
+You can also change this with Customize. Type
+@kbd{M-x customize-variable @key{RET} isearch-highlight @key{RET}}.
+
+Note also that isearch-highlight affects query-replace and ispell.
+Instead of disabling isearch-highlight you may find that a better
+solution consists of customizing the @code{isearch} face.
+
+@node Q3.3.5, Q3.3.6, Q3.3.4, Editing
+@unnumberedsubsec Q3.3.5: Why is killing so slow?
+
+This actually is an X Windows question, although you'll notice it with
+keyboard operations as well as while using the GUI. Basically, there
+are four ways to communicate interprogram via the X server:
+
+@table @strong
+@item Primary selection
+a transient selection that gets replaced every time a new selection is made
+
+@item Secondary selection
+for "exchanging" with the primary selection
+
+@item Cut buffers
+a clipboard internal to the X server (deprecated)
+
+@item Clipboard selection
+a selection with a notification protocol that allows a separate app to
+manage the clipboard
+@end table
+
+The cut buffers are deprecated because managing them is even more
+inefficient than the clipboard notification protocol. The primary
+selection works fine for many users and applications, but is not very
+robust under intensive or sophisticated use.
+
+In Motif and MS Windows, a clipboard has become the primary means for
+managing cut and paste. These means that "modern" applications tend to
+be oriented toward a true clipboard, rather than the primary selection.
+(On Windows, there is nothing equivalent to the primary selection.)
+It's not that XEmacs doesn't support the simple primary selection
+method, it's that more and more other applications don't.
+
+So the slowdown occurs because XEmacs now engages in the clipboard
+notification protocol on @emph{every} kill. This is especially slow on
+Motif.
+
+With most people running most clients and server on the same host, and
+many of the rest working over very fast communication, you may expect
+that the situation is not going to improve.
+
+There are a number of workarounds. The most effective is to use a
+special command to do selection ownership only when you intend to paste
+to another application. Useful commands are @code{kill-primary-selection}
+and @code{copy-primary-selection}. These work only on text selected
+with the mouse (probably; experiment), and are bound by default to the
+@kbd{Cut} and @kbd{Copy}, respectively, buttons on the toolbar.
+@code{copy-primary-selection} is also bound to @kbd{C-Insert}. You can
+yank the clipboard contents with @code{yank-primary-selection}, bound to
+the @kbd{Paste} toolbar button and @kbd{Sh-Insert}.
+
+If you are communicating by cut and paste with applications that use the
+primary selection, then you can customize
+@code{interprogram-cut-function} to @code{nil}, restoring the XEmacs
+version 20 behavior. How can you tell if a program will support this?
+Motifly-correct programs require the clipboard; you lose. For others,
+only by trying it. You also need to customize the complementary
+@code{interprogram-paste-function} to @code{nil}. (Otherwise
+XEmacs-to-XEmacs pastes will not work correctly.)
+
+You may get some relief on Motif by setting
+@code{x-selection-strict-motif-ownership} to nil, but this means you will
+only intermittently be able to paste XEmacs kills to Motif applications.
+
+Thanks to Jeff Mincy and Glynn Clements for corrections.
+
+@node Q3.3.6, Q3.4.1, Q3.3.5, Editing
+@unnumberedsubsec Q3.3.6: Why does @kbd{M-w} take so long?
+
+It actually doesn't. It leaves the region visible for a second so that
+you can see what area is being yanked. If you start working, though, it
+will immediately complete its operation. In other words, it will only
+delay for a second if you let it.
+
+@unnumberedsec 3.4: Editing Source Code
+
+@node Q3.4.1, Q3.4.2, Q3.3.6, Editing
+@unnumberedsubsec Q3.4.1: I do not like cc-mode. How do I use the old c-mode?
+
+Well, first off, consider if you really want to do this. cc-mode is
+much more powerful than the old c-mode. If you're having trouble
+getting your old offsets to work, try using @code{c-set-offset} instead.
+You might also consider using the package @code{cc-compat}.
+
+But, if you still insist, add the following lines to your @file{init.el}:
+
+@lisp
+(fmakunbound 'c-mode)
+(makunbound 'c-mode-map)
+(fmakunbound 'c++-mode)
+(makunbound 'c++-mode-map)
+(makunbound 'c-style-alist)
+(load-library "old-c-mode")
+(load-library "old-c++-mode")
+@end lisp
+
+This must be done before any other reference is made to either c-mode or
+c++-mode.
+
+@node Q3.4.2, , Q3.4.1, Editing
+@unnumberedsubsec Q3.4.2: How do you make XEmacs indent CL if-clauses correctly?
+
+I'd like XEmacs to indent all the clauses of a Common Lisp @code{if} the
+same amount instead of indenting the 3rd clause differently from the
+first two.
+
+The package @code{cl-indent} that comes with XEmacs sets up this kind
+of indentation by default. @code{cl-indent} also knows about many
+other CL-specific forms. To use @code{cl-indent}, one can do this:
+
+@lisp
+(setq lisp-indent-function 'common-lisp-indent-function)
+@end lisp
+
+One can also customize @file{cl-indent.el} so it mimics the default
+@code{if} indentation @code{then} indented more than the @code{else}.
+Here's how:
+
+@lisp
+(put 'if 'common-lisp-indent-function '(nil nil &body))
+@end lisp
+
+@node Display, External Subsystems, Editing, Top
+@unnumbered 4 Display Functions
+
+This is part 4 of the XEmacs Frequently Asked Questions list. This
+section is devoted to the display-related capabilities of XEmacs
+(fonts, colors, modeline, menubar, toolbar, scrollbar, etc.) and how
+to customize them.
+
+@menu
+4.0: Textual Fonts and Colors
+* Q4.0.1:: How do I specify a font?
+* Q4.0.2:: How do I set the text, menu and modeline fonts?
+* Q4.0.3:: How can I set color options from @file{init.el}?
+* Q4.0.4:: How can I set the colors when highlighting a region?
+* Q4.0.5:: How can I limit color map usage?
+* Q4.0.6:: My tty supports color, but XEmacs doesn't use them.
+* Q4.0.7:: Can I have pixmap backgrounds in XEmacs?
+* Q4.0.8:: How do I display non-ASCII characters?
+* Q4.0.9:: Font selections in don't get saved after @code{Save Options}.
+
+4.1: Syntax Highlighting (Font Lock)
+* Q4.1.1:: How can I do source code highlighting using font-lock?
+* Q4.1.2:: How do I get @samp{More} Syntax Highlighting on by default?
+
+4.2: The Modeline
+* Q4.2.1:: How can I make the modeline go away?
+* Q4.2.2:: How do you have XEmacs display the line number in the modeline?
+* Q4.2.3:: How do I get XEmacs to put the time of day on the modeline?
+* Q4.2.4:: How can I change the modeline color based on the mode used?
+
+4.3: The Cursor
+* Q4.3.1:: Is there a way to make the bar cursor thicker?
+* Q4.3.2:: Is there a way to get back the block cursor?
+* Q4.3.3:: Can I make the cursor blink?
+
+4.4: The Menubar
+* Q4.4.1:: How do I get rid of the menubar?
+* Q4.4.2:: How can I customize the menubar?
+* Q4.4.3:: How do I enable use of the keyboard (@kbd{Alt}) to access menu items?
+* Q4.4.4:: How do I control how many buffers are listed in the menu @code{Buffers List}?
+* Q4.4.5:: Resources like @code{Emacs*menubar*font} are not working?
+
+4.5: The Toolbar
+* Q4.5.1:: How do I get rid of the toolbar?
+* Q4.5.2:: How can I customize the toolbar?
+* Q4.5.3:: How can I bind a key to a function to toggle the toolbar?
+* Q4.5.4:: @samp{Can't instantiate image error...} in toolbar
+
+4.6: Scrollbars and Scrolling
+* Q4.6.1:: How can I disable the scrollbar?
+* Q4.6.2:: How can I change the scrollbar width?
+* Q4.6.3:: How can I use resources to change scrollbar colors?
+* Q4.6.4:: Moving the scrollbar can move the point; can I disable this?
+* Q4.6.5:: Scrolling one line at a time.
+* Q4.6.6:: How can I turn off automatic horizontal scrolling in specific modes?
+* Q4.6.7:: I find auto-show-mode disconcerting. How do I turn it off?
+
+4.7: The Gutter Tabs, The Progress Bar, Widgets
+* Q4.7.1:: How can I disable the gutter tabs?
+* Q4.7.2:: How can I disable the progress bar?
+* Q4.7.3:: There are bugs in the gutter or widgets.
+* Q4.7.4:: How can I customize the gutter or gutter tabs?
+@end menu
+
+@unnumberedsec 4.0: Textual Fonts and Colors
+
+@node Q4.0.1, Q4.0.2, Display, Display
+@unnumberedsubsec Q4.0.1: How do I specify a font?
+
+#### Update me.
+
+In 21.4 and above, you can use the @samp{Options} menu to change the font.
+You can also do it in your init file, e.g. like this (for MS Windows):
+
+@display
+ (set-face-font 'default "Lucida Console:Regular:10")
+ (set-face-font 'modeline "MS Sans Serif:Regular:10")
+@end display
+
+@node Q4.0.2, Q4.0.3, Q4.0.1, Display
+@unnumberedsubsec Q4.0.2: How do I set the text, menu and modeline fonts?
+
+#### Update me.
+
+Note that you should use @samp{Emacs.} and not @samp{Emacs*} when
+setting face values.
+
+In @file{.Xresources}:
+
+@example
+Emacs.default.attributeFont: -*-*-medium-r-*-*-*-120-*-*-m-*-*-*
+Emacs*menubar*font: fixed
+Emacs.modeline.attributeFont: fixed
+@end example
+
+This is confusing because @samp{default} and @samp{modeline} are face
+names, and can be found listed with all faces in the current mode by
+using @kbd{M-x set-face-font (enter) ?}. They use the face-specific
+resource @samp{attributeFont}.
+
+On the other hand, @samp{menubar} is a normal X thing that uses the
+resource @samp{font}. With Motif it @emph{may be} necessary to use
+@samp{fontList} @emph{instead of} @samp{font}. In @emph{non-Motif}
+configurations with Mule it @emph{is} necessary to use @samp{fontSet}
+instead of @samp{font}. (Sorry, there just is no simple recipe here.)
+
+@node Q4.0.3, Q4.0.4, Q4.0.2, Display
+@unnumberedsubsec Q4.0.3: How can I set color options from @file{init.el}?
+
+How can I set the most commonly used color options from my
+@file{init.el} instead of from my @file{.Xresources}?
+
+Like this:
+
+@lisp
+(set-face-background 'default "bisque") ; frame background
+(set-face-foreground 'default "black") ; normal text
+(set-face-background 'zmacs-region "red") ; When selecting w/
+ ; mouse
+(set-face-foreground 'zmacs-region "yellow")
+(set-face-font 'default "*courier-bold-r*120-100-100*")
+(set-face-background 'highlight "blue") ; Ie when selecting
+ ; buffers
+(set-face-foreground 'highlight "yellow")
+(set-face-background 'modeline "blue") ; Line at bottom
+ ; of buffer
+(set-face-foreground 'modeline "white")
+(set-face-font 'modeline "*bold-r-normal*140-100-100*")
+(set-face-background 'isearch "yellow") ; When highlighting
+ ; while searching
+(set-face-foreground 'isearch "red")
+(setq x-pointer-foreground-color "black") ; Adds to bg color,
+ ; so keep black
+(setq x-pointer-background-color "blue") ; This is color
+ ; you really
+ ; want ptr/crsr
+@end lisp
+
+@node Q4.0.4, Q4.0.5, Q4.0.3, Display
+@unnumberedsubsec Q4.0.4: How can I set the colors when highlighting a region?
+
+How can I set the background/foreground colors when highlighting a
+region?
+
+You can change the face @code{zmacs-region} either in your
+@file{.Xresources}:
+
+@example
+Emacs.zmacs-region.attributeForeground: firebrick
+Emacs.zmacs-region.attributeBackground: lightseagreen
+@end example
+
+or in your @file{init.el}:
+
+@lisp
+(set-face-background 'zmacs-region "red")
+(set-face-foreground 'zmacs-region "yellow")
+@end lisp
+
+@node Q4.0.5, Q4.0.6, Q4.0.4, Display
+@unnumberedsubsec Q4.0.5: How can I limit color map usage?
+
+I'm using Netscape (or another color grabber like XEmacs);
+is there any way to limit the number of available colors in the color map?
+
+Answer: No, but you can start Netscape before XEmacs, and it will use
+the closest available color if the colormap is full. You can also limit
+the number of colors Netscape uses, using the flags -mono, -ncols <#> or
+-install (for mono, limiting to <#> colors, or for using a private color
+map).
+
+If you have the money, another solution would be to use a truecolor or
+direct color video.
+
+@node Q4.0.6, Q4.0.7, Q4.0.5, Display
+@unnumberedsubsec Q4.0.6: My tty supports color, but XEmacs doesn't use them.
+
+XEmacs tries to automatically determine whether your tty supports color,
+but sometimes guesses wrong. In that case, you can make XEmacs Do The
+Right Thing using this Lisp code:
+
+@lisp
+(if (eq 'tty (device-type))
+ (set-device-class nil 'color))
+@end lisp
+
+@node Q4.0.7, Q4.0.8, Q4.0.6, Display
+@unnumberedsubsec Q4.0.7: Can I have pixmap backgrounds in XEmacs?
+@c New
+@email{jvillaci@@wahnsinnig.extreme.indiana.edu, Juan Villacis} writes:
+
+@quotation
+There are several ways to do it. For example, you could specify a
+default pixmap image to use in your @file{~/.Xresources}, e.g.,
+
+
+@example
+ Emacs*EmacsFrame.default.attributeBackgroundPixmap: /path/to/image.xpm
+@end example
+
+
+and then reload ~/.Xresources and restart XEmacs. Alternatively,
+since each face can have its own pixmap background, a better way
+would be to set a face's pixmap within your XEmacs init file, e.g.,
+
+@lisp
+ (set-face-background-pixmap 'default "/path/to/image.xpm")
+ (set-face-background-pixmap 'bold "/path/to/another_image.xpm")
+@end lisp
+
+and so on. You can also do this interactively via @kbd{M-x edit-faces}.
+
+@end quotation
+
+@node Q4.0.8, Q4.0.9, Q4.0.7, Display
+@unnumberedsubsec Q4.0.8: How do I display non-ASCII characters?
+@c New
+
+If you're using a Mule-enabled XEmacs, then display is automatic. If
+you're not seeing the characters you expect, either (1) you don't have
+appropriate fonts available or (2) XEmacs did not correctly detect the
+coding system (@pxref{Recognize Coding, , , xemacs}). In case (1),
+install fonts as is customary for your platform. In case (2), you
+need to tell XEmacs explicitly what coding systems you're using.
+@ref{Specify Coding, , , xemacs}.
+
+If your XEmacs is not Mule-enabled, and for some reason getting a
+Mule-enabled XEmacs seems like the wrong thing to do, all is not lost.
+You can arrange it by brute force. In @file{event-Xt.c} (suppress the
+urge to look in this file---play Doom instead, because you'll survive
+longer), it is written:
+
+@quotation
+In a non-Mule world, a user can still have a multi-lingual editor, by
+doing @code{(set-face-font "-*-iso8859-2" (current-buffer))} for all
+their Latin-2 buffers, etc.
+@end quotation
+
+For the related problem of @emph{inputting} non-ASCII characters in a
+non-Mule XEmacs, @xref{Q3.0.6, How can you type in special characters
+in XEmacs?}.
+
+@node Q4.0.9, Q4.1.1, Q4.0.8, Display
+@unnumberedsubsec Q4.0.9: Font selections in don't get saved after @code{Save Options}.
+
+@email{mannj@@ll.mit.edu, John Mann} writes:
+
+@quotation
+You have to go to @samp{Options->Menubars} and unselect
+@samp{Frame-Local Font Menu}. If this option is selected, font changes
+are only applied to the @emph{current} frame and do @emph{not} get saved
+when you save options.
+@end quotation
+
+Also, set the following in your @file{init.el}:
+
+@lisp
+(setq options-save-faces t)
+@end lisp
+
+@unnumberedsec 4.1: Syntax Highlighting (Font Lock)
+
+@node Q4.1.1, Q4.1.2, Q4.0.9, Display
+@unnumberedsubsec Q4.1.1: How can I do source code highlighting using font-lock?
+
+For most modes, font-lock is already set up and just needs to be turned
+on. This can be done by adding the line:
+
+@lisp
+(require 'font-lock)
+@end lisp
+
+to your @file{init.el}. (You can turn it on for the
+current buffer and session only by @kbd{M-x font-lock-mode}.) See the
+file @file{etc/sample.init.el} (@file{etc/sample.emacs} in XEmacs
+versions prior to 21.4) for more information.
+
+@c the old way:
+@c (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)
+@c (add-hook 'dired-mode-hook 'turn-on-font-lock)
+
+See also @code{Syntax Highlighting} from the @code{Options} menu.
+Remember to save options.
+
+@node Q4.1.2, Q4.2.1, Q4.1.1, Display
+@unnumberedsubsec Q4.1.2: How do I get @samp{More} Syntax Highlighting on by default?
+
+Use the following code in your @file{init.el}:
+
+@lisp
+(setq-default font-lock-maximum-decoration t)
+@end lisp
+
+See also @code{Syntax Highlighting} from the @code{Options} menu.
+Remember to save options.
+
+@unnumberedsec 4.2: The Modeline
+
+@node Q4.2.1, Q4.2.2, Q4.1.2, Display
+@unnumberedsubsec Q4.2.1: How can I make the modeline go away?
+
+@lisp
+(set-specifier has-modeline-p nil)
+@end lisp
+
+@node Q4.2.2, Q4.2.3, Q4.2.1, Display
+@unnumberedsubsec Q4.2.2: How do you have XEmacs display the line number in the modeline?
+
+Add the following line to your @file{init.el} file to
+display the line number:
+
+@lisp
+(line-number-mode 1)
+@end lisp
+
+Use the following to display the column number:
+
+@lisp
+(column-number-mode 1)
+@end lisp
+
+Or select from the @code{Options} menu
+@iftex
+@*
+@end iftex
+@code{Advanced (Customize)->Emacs->Editing->Basics->Line Number Mode}
+and/or
+@iftex
+@*
+@end iftex
+@code{Advanced (Customize)->Emacs->Editing->Basics->Column Number Mode}
+
+Or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
+
+@node Q4.2.3, Q4.2.4, Q4.2.2, Display
+@unnumberedsubsec Q4.2.3: How do I get XEmacs to put the time of day on the modeline?
+
+Add the following line to your @file{init.el} file to
+display the time:
+
+@lisp
+(display-time)
+@end lisp
+
+See @code{Customize} from the @code{Options} menu for customization.
+
+@node Q4.2.4, Q4.3.1, Q4.2.3, Display
+@unnumberedsubsec Q4.2.4: How can I change the modeline color based on the mode used?
+
+You can use something like the following:
+
+@lisp
+(add-hook 'lisp-mode-hook
+ (lambda ()
+ (set-face-background 'modeline "red" (current-buffer))))
+@end lisp
+
+Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline
+colors change from the default set in your @file{init.el}.
+The change will only be made in the buffer you just entered (which
+contains the Lisp file you are editing) and will not affect the modeline
+colors anywhere else.
+
+Notes:
+
+@itemize @bullet
+
+@item The hook is the mode name plus @code{-hook}. eg. c-mode-hook,
+c++-mode-hook, emacs-lisp-mode-hook (used for your
+@file{init.el} or a @file{xx.el} file),
+lisp-interaction-mode-hook (the @samp{*scratch*} buffer),
+text-mode-hook, etc.
+
+@item
+Be sure to use @code{add-hook}, not @code{(setq c-mode-hook xxxx)},
+otherwise you will erase anything that anybody has already put on the
+hook.
+
+@item
+You can also do @code{(set-face-font 'modeline @var{font})},
+eg. @code{(set-face-font 'modeline "*bold-r-normal*140-100-100*"
+(current-buffer))} if you wish the modeline font to vary based on the
+current mode.
+@end itemize
+
+There are additional modeline faces, @code{modeline-buffer-id},
+@code{modeline-mousable}, and @code{modeline-mousable-minor-mode}, which
+you may want to customize.
+
+@unnumberedsec 4.3: The Cursor
+
+@node Q4.3.1, Q4.3.2, Q4.2.4, Display
+@unnumberedsubsec Q4.3.1: Is there a way to make the bar cursor thicker?
+
+I'd like to have the bar cursor a little thicker, as I tend to "lose" it
+often.
+
+For a 1 pixel bar cursor, use:
+
+@lisp
+(setq bar-cursor t)
+@end lisp
+
+For a 2 pixel bar cursor, use:
+
+@lisp
+(setq bar-cursor 'anything-else)
+@end lisp
+
+You can also change these with Customize.
+Select from the @code{Options} menu
+@code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
+@kbd{M-x customize @key{RET} display @key{RET}}.
+
+You can use a color to make it stand out better:
+
+@example
+Emacs*cursorColor: Red
+@end example
+
+@node Q4.3.2, Q4.3.3, Q4.3.1, Display
+@unnumberedsubsec Q4.3.2: Is there a way to get back the block cursor?
+
+@lisp
+(setq bar-cursor nil)
+@end lisp
+
+You can also change this with Customize.
+Select from the @code{Options} menu
+@code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
+@kbd{M-x customize @key{RET} display @key{RET}}.
+
+@node Q4.3.3, Q4.4.1, Q4.3.2, Display
+@unnumberedsubsec Q4.3.3: Can I make the cursor blink?
+
+Yes, like this:
+
+@lisp
+(blink-cursor-mode)
+@end lisp
+
+This function toggles between a steady cursor and a blinking cursor.
+You may also set this mode from the menu bar by selecting
+@samp{Options->Display->Blinking Cursor}. Remember to save options.
+
+@unnumberedsec 4.4: The Menubar
+
+@node Q4.4.1, Q4.4.2, Q4.3.3, Display
+@unnumberedsubsec Q4.4.1: How do I get rid of the menubar?
+
+@lisp
+(set-specifier menubar-visible-p nil)
+@end lisp
+
+@node Q4.4.2, Q4.4.3, Q4.4.1, Display
+@unnumberedsubsec Q4.4.2: How can I customize the menubar?
+
+For an extensive menubar, add this line to your @file{init.el}:
+
+@lisp
+(load "big-menubar")
+@end lisp
+
+If you'd like to write your own, this file provides as good a set of
+examples as any to start from. The file is located in edit-utils
+package.
+
+@node Q4.4.3, Q4.4.4, Q4.4.2, Display
+@unnumberedsubsec Q4.4.3: How do I enable use of the keyboard (@kbd{Alt}) to access menu items?
+
+#### Write me.
+
+@node Q4.4.4, Q4.4.5, Q4.4.3, Display
+@unnumberedsubsec Q4.4.4: How do I control how many buffers are listed in the menu @code{Buffers List}?
+
+Add the following to your @file{init.el} (suit to fit):
+
+@lisp
+(setq buffers-menu-max-size 20)
+@end lisp
+
+For no limit, use an argument of @samp{nil}.
+
+You can also change this with Customize. Select from the
+@code{Options} menu
+@code{Advanced (Customize)->Emacs->Environment->Menu->Buffers Menu->Max Size...}
+or type @kbd{M-x customize @key{RET} buffers-menu @key{RET}}.
+
+@node Q4.4.5, Q4.5.1, Q4.4.4, Display
+@unnumberedsubsec Q4.4.5: Resources like @code{Emacs*menubar*font} are not working?
+
+I am trying to use a resource like @code{Emacs*menubar*font} to set the
+font of the menubar but it's not working.
+
+In Motif, the use of @samp{font} resources is obsoleted in order to
+support internationalization. If you are using the real Motif menubar,
+this resource is not recognized at all; you have to say:
+
+@example
+Emacs*menubar*fontList: FONT
+@end example
+
+If you are using the Lucid menubar, for backward compatibility with
+existing user configurations, the @samp{font} resource is recognized.
+Since this is not supported by Motif itself, the code is a kludge and
+the @samp{font} resource will be recognized only if the @samp{fontList}
+resource resource is unset. This means that the resource
+
+@example
+*fontList: FONT
+@end example
+
+will override
+
+@example
+Emacs*menubar*font: FONT
+@end example
+
+even though the latter is more specific.
+
+In non-Motif configurations using @samp{--with-mule} and
+@samp{--with-xfs} it @emph{is} necessary to use the @code{fontSet}
+resource @emph{instead of} the @code{font} resource. The backward
+compatibility kludge was never implemented for non-Motif builds.
+Example:
+
+@example
+*fontSet: FONT
+@end example
+
+@unnumberedsec 4.5: The Toolbar
+
+@node Q4.5.1, Q4.5.2, Q4.4.5, Display
+@unnumberedsubsec Q4.5.1: How do I get rid of the toolbar?
+
+#### Write me.
+
+@node Q4.5.2, Q4.5.3, Q4.5.1, Display
+@unnumberedsubsec Q4.5.2: How can I customize the toolbar?
+
+#### Write me.
+
+@node Q4.5.3, Q4.5.4, Q4.5.2, Display
+@unnumberedsubsec Q4.5.3: How can I bind a key to a function to toggle the toolbar?
+
+Try something like:
+
+@lisp
+(defun my-toggle-toolbar ()
+ (interactive)
+ (set-specifier default-toolbar-visible-p
+ (not (specifier-instance default-toolbar-visible-p))))
+(global-set-key "\C-xT" 'my-toggle-toolbar)
+@end lisp
+
+@ignore
+@c Probably not relevant any more
+There are redisplay bugs in 19.14 that may make the preceding result in
+a messed-up display, especially for frames with multiple windows. You
+may need to resize the frame before XEmacs completely realizes the
+toolbar is really gone.
+@end ignore
+
+Thanks to @email{martin@@xemacs.org, Martin Buchholz} for the correct
+code.
+
+@node Q4.5.4, Q4.6.1, Q4.5.3, Display
+@unnumberedsubsec Q4.5.4: @samp{Can't instantiate image error...} in toolbar
+
+@email{expt@@alanine.ram.org, Dr. Ram Samudrala} writes:
+
+I just installed the XEmacs (20.4-2) RPMS that I downloaded from
+@uref{http://www.xemacs.org/}. Everything works fine, except that when
+I place my mouse over the toolbar, it beeps and gives me this message:
+
+@example
+ Can't instantiate image (probably cached):
+ [xbm :mask-file "/usr/include/X11/bitmaps/leftptrmsk :mask-data
+ (16 16 <strange control characters> ...
+@end example
+
+@email{kyle_jones@@wonderworks.com, Kyle Jones} writes:
+@quotation
+This is problem specific to some Chips and Technologies video
+chips, when running XFree86. Putting
+
+@code{Option "sw_cursor"}