+OLWM grabs the @kbd{help} key, and retransmits it to the appropriate
+client using
+@iftex
+@*
+@end iftex
+@code{XSendEvent}. Allowing Emacs to react to synthetic
+events is a security hole, so this is turned off by default. You can
+enable it by setting the variable @code{x-allow-sendevents} to t. You
+can also cause fix this by telling OLWM to not grab the help key, with
+the null binding @code{OpenWindows.KeyboardCommand.Help:}.
+
+@node Q3.0.6, Q3.0.7, Q3.0.5, Editing
+@unnumberedsubsec Q3.0.6: How can you type in special characters in XEmacs?
+One way is to use the package @code{x-compose}. Then you can use
+sequences like @kbd{Compose " a} to get ä, etc.
+
+Another way is to use the @code{iso-insert} package. Then you can use
+sequences like @kbd{C-x 8 " a} to get ä, etc.
+
+@email{glynn@@sensei.co.uk, Glynn Clements} writes:
+
+@quotation
+It depends upon your X server.
+
+Generally, the simplest way is to define a key as Multi_key with
+xmodmap, e.g.
+@c hey, show some respect, willya -- there's xkeycaps, isn't there? --
+@c chr ;)
+@example
+ xmodmap -e 'keycode 0xff20 = Multi_key'
+@end example
+
+You will need to pick an appropriate keycode. Use xev to find out the
+keycodes for each key.
+
+[NB: On a `Windows' keyboard, recent versions of XFree86 automatically
+define the right `Windows' key as Multi_key'.]
+
+Once you have Multi_key defined, you can use e.g.
+@example
+ Multi a ' => á
+ Multi e " => ë
+ Multi c , => ç
+@end example
+
+etc.
+
+Also, recent versions of XFree86 define various AltGr-<key>
+combinations as dead keys, i.e.
+@example
+ AltGr [ => dead_diaeresis
+ AltGr ] => dead_tilde
+ AltGr ; => dead_acute
+@end example
+etc.
+
+Running @samp{xmodmap -pk} will list all of the defined keysyms.
+@end quotation
+
+For the related problem of @emph{displaying} non-ASCII characters in a
+non-Mule XEmacs, @xref{Q4.0.8, How do I display non-ASCII characters?}.
+
+@node Q3.0.7, Q3.0.8, Q3.0.6, Editing
+@unnumberedsubsec Q3.0.7: Can I turn on @dfn{sticky} modifier keys?
+
+Yes, with @code{(setq modifier-keys-are-sticky t)}. This will give the
+effect of being able to press and release Shift and have the next
+character typed come out in upper case. This will affect all the other
+modifier keys like Control and Meta as well.
+
+@email{ben@@xemacs.org, Ben Wing} writes:
+
+@quotation
+One thing about the sticky modifiers is that if you move the mouse out
+of the frame and back in, it cancels all currently ``stuck'' modifiers.
+@end quotation
+
+@node Q3.0.8, Q3.0.9, Q3.0.7, Editing
+@unnumberedsubsec Q3.0.8: How do I map the arrow keys?
+@c New
+Say you want to map @kbd{C-@key{right}} to forward-word:
+
+@email{sds@@usa.net, Sam Steingold} writes:
+
+@quotation
+@lisp
+; both XEmacs and Emacs
+(define-key global-map [(control right)] 'forward-word)
+@end lisp
+or
+@lisp
+; Emacs only
+(define-key global-map [C-right] 'forward-word)
+@end lisp
+or
+@lisp
+; ver > 20, both
+(define-key global-map (kbd "C-<right>") 'forward-word)
+@end lisp
+@end quotation
+
+@node Q3.0.9, Q3.0.10, Q3.0.8, Editing
+@unnumberedsubsec Q3.0.9: HP Alt key as Meta.
+
+How can I make XEmacs recognize the Alt key of my HP workstation as a
+Meta key?
+
+Put the following line into a file and load it with xmodmap(1) before
+starting XEmacs:
+
+@example
+remove Mod1 = Mode_switch
+@end example
+
+@node Q3.0.10, Q3.0.11, Q3.0.9, Editing
+@unnumberedsubsec Q3.0.10: Why does edt emulation not work?
+
+We don't know, but you can use tpu-edt emulation instead, which works
+fine and is a little fancier than the standard edt emulation. To do
+this, add the following line to your @file{init.el}:
+
+@lisp
+(tpu-edt)
+@end lisp
+
+If you don't want it to replace @kbd{C-h} with an edt-style help menu
+add this as well:
+
+@lisp
+(global-set-key [(control h)] 'help-for-help)
+@end lisp
+
+@node Q3.0.11, Q3.1.1, Q3.0.10, Editing
+@unnumberedsubsec Q3.0.11: How can I emulate VI and use it as my default mode?
+
+Our recommended VI emulator is viper. To make viper-mode the default,
+add this to your @file{init.el}:
+
+@lisp
+(viper-mode)
+@end lisp
+
+@email{kifer@@CS.SunySB.EDU, Michael Kifer} writes:
+
+@quotation
+This should be added as close to the top of @file{init.el} as you can get
+it, otherwise some minor modes may not get viper-ized.
+@end quotation
+
+@unnumberedsec 3.1: The Mouse
+
+@node Q3.1.1, Q3.1.2, Q3.0.11, Editing
+@unnumberedsubsec Q3.1.1: How can I turn off Mouse pasting?
+
+I keep hitting the middle mouse button by accident and getting stuff
+pasted into my buffer so how can I turn this off?
+
+Here is an alternative binding, whereby the middle mouse button selects
+(but does not cut) the expression under the mouse. Clicking middle on a
+left or right paren will select to the matching one. Note that you can
+use @code{define-key} or @code{global-set-key}.
+
+@lisp
+(defun mouse-set-point-and-select (event)
+ "Sets the point at the mouse location, then marks following form"
+ (interactive "@@e")
+ (mouse-set-point event)
+ (mark-sexp 1))
+(define-key global-map [button2] 'mouse-set-point-and-select)
+@end lisp
+
+@node Q3.1.2, Q3.1.3, Q3.1.1, Editing
+@unnumberedsubsec Q3.1.2: How do I set control/meta/etc modifiers on mouse buttons?
+
+Use, for instance, @code{[(meta button1)]}. For example, here is a common
+setting for Common Lisp programmers who use the bundled @code{ilisp}
+package, whereby meta-button1 on a function name will find the file where
+the function name was defined, and put you at that location in the source
+file.
+
+[Inside a function that gets called by the lisp-mode-hook and
+ilisp-mode-hook]
+
+@lisp
+(local-set-key [(meta button1)] 'edit-definitions-lisp)
+@end lisp
+
+@node Q3.1.3, Q3.1.4, Q3.1.2, Editing
+@unnumberedsubsec Q3.1.3: Clicking the left button does not do anything in buffer list.
+
+I do @kbd{C-x C-b} to get a list of buffers and the entries get
+highlighted when I move the mouse over them but clicking the left mouse
+does not do anything.
+
+Use the middle mouse button.
+
+@node Q3.1.4, Q3.1.5, Q3.1.3, Editing
+@unnumberedsubsec Q3.1.4: How can I get a list of buffers when I hit mouse button 3?
+
+The following code will replace the default popup on button3:
+
+@lisp
+(global-set-key [button3] 'popup-buffer-menu)
+@end lisp
+
+@node Q3.1.5, Q3.2.1, Q3.1.4, Editing
+@unnumberedsubsec Q3.1.5: How can I set XEmacs up so that it pastes where the text cursor is?
+
+By default XEmacs pastes X selections where the mouse pointer is. How
+do I disable this?
+
+Examine the function @code{mouse-yank}, by typing @kbd{C-h f mouse-yank
+@key{RET}}.
+
+To get XEmacs to paste at the text cursor, add this your @file{init.el}:
+
+@lisp
+(setq mouse-yank-at-point t)
+@end lisp
+
+You can also change this with Customize. Select from the
+@code{Options} menu @code{Advanced
+(Customize)->Emacs->Editing->Mouse->Yank At Point...} or type @kbd{M-x
+customize @key{RET} mouse @key{RET}}.
+
+@unnumberedsec 3.2: Buffers, Text Editing
+
+@node Q3.2.1, Q3.2.2, Q3.1.5, Editing
+@unnumberedsubsec Q3.2.1: Can I have the end of the buffer delimited in some way?
+
+Say, with: @samp{[END]}?
+
+Try this:
+
+@lisp
+(let ((ext (make-extent (point-min) (point-max))))
+ (set-extent-property ext 'start-closed t)
+ (set-extent-property ext 'end-closed t)
+ (set-extent-property ext 'detachable nil)
+ (set-extent-end-glyph ext (make-glyph [string :data "[END]"])))
+@end lisp
+
+Since this is XEmacs, you can specify an icon to be shown on
+window-system devices. To do so, change the @code{make-glyph} call to
+something like this:
+
+@lisp
+(make-glyph '([xpm :file "~/something.xpm"]
+ [string :data "[END]"]))
+@end lisp
+
+You can inline the @sc{xpm} definition yourself by specifying
+@code{:data} instead of @code{:file}. Here is such a full-featured
+version that works on both X and TTY devices:
+
+@lisp
+(let ((ext (make-extent (point-min) (point-max))))
+ (set-extent-property ext 'start-closed t)
+ (set-extent-property ext 'end-closed t)
+ (set-extent-property ext 'detachable nil)
+ (set-extent-end-glyph ext (make-glyph '([xpm :data "\
+/* XPM */
+static char* eye = @{
+\"20 11 7 2\",
+\"__ c None\"
+\"_` c #7f7f7f\",
+\"_a c #fefefe\",
+\"_b c #7f0000\",
+\"_c c #fefe00\",
+\"_d c #fe0000\",
+\"_e c #bfbfbf\",
+\"___________`_`_`___b_b_b_b_________`____\",
+\"_________`_`_`___b_c_c_c_b_b____________\",
+\"_____`_`_`_e___b_b_c_c_c___b___b_______`\",
+\"___`_`_e_a___b_b_d___b___b___b___b______\",
+\"_`_`_e_a_e___b_b_d_b___b___b___b___b____\",
+\"_`_`_a_e_a___b_b_d___b___b___b___b___b__\",
+\"_`_`_e_a_e___b_b_d_b___b___b___b___b_b__\",
+\"___`_`_e_a___b_b_b_d_c___b___b___d_b____\",
+\"_____`_`_e_e___b_b_b_d_c___b_b_d_b______\",
+\"_`_____`_`_`_`___b_b_b_d_d_d_d_b________\",
+\"___`_____`_`_`_`___b_b_b_b_b_b__________\",
+@} ;"]
+ [string :data "[END]"]))))
+@end lisp
+
+Note that you might want to make this a function, and put it to a hook.
+We leave that as an exercise for the reader.
+
+@node Q3.2.2, Q3.2.3, Q3.2.1, Editing
+@unnumberedsubsec Q3.2.2: How do I insert today's date into a buffer?
+
+Like this:
+
+@lisp
+(insert (current-time-string))
+@end lisp
+
+@node Q3.2.3, Q3.2.4, Q3.2.2, Editing
+@unnumberedsubsec Q3.2.3: How do I get a single minibuffer frame?
+
+@email{acs@@acm.org, Vin Shelton} writes:
+
+@lisp
+(setq initial-frame-plist '(minibuffer nil))
+(setq default-frame-plist '(minibuffer nil))
+(setq default-minibuffer-frame
+ (make-frame
+ '(minibuffer only
+ width 86
+ height 1
+ menubar-visible-p nil
+ default-toolbar-visible-p nil
+ name "minibuffer"
+ top -2
+ left -2
+ has-modeline-p nil)))
+(frame-notice-user-settings)
+@end lisp
+
+@strong{Please note:} The single minibuffer frame may not be to everyone's
+taste, and there any number of other XEmacs options settings that may
+make it difficult or inconvenient to use.
+
+@node Q3.2.4, Q3.2.5, Q3.2.3, Editing
+@unnumberedsubsec Q3.2.4: How can I enable auto-indent and/or Filladapt?
+
+Put the following line in your @file{init.el}:
+
+@lisp
+(setq indent-line-function 'indent-relative-maybe)
+@end lisp
+
+If you want to get fancy, try the @code{filladapt} package available
+standard with XEmacs. Put this into your @file{init.el}:
+
+@lisp
+(require 'filladapt)
+(setq-default filladapt-mode t)
+(add-hook 'c-mode-hook 'turn-off-filladapt-mode)
+@end lisp
+
+This will enable Filladapt for all modes except C mode, where it doesn't
+work well. To turn Filladapt on only in particular major modes, remove
+the @code{(setq-default ...)} line and use
+@code{turn-on-filladapt-mode}, like this:
+
+@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.,