| 1 |
@c This is part of the Emacs manual. |
|---|
| 2 |
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, |
|---|
| 3 |
@c 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
|---|
| 4 |
@c See file emacs.texi for copying conditions. |
|---|
| 5 |
@node Emacs Invocation, X Resources, GNU Free Documentation License, Top |
|---|
| 6 |
@appendix Command Line Arguments for Emacs Invocation |
|---|
| 7 |
@cindex command line arguments |
|---|
| 8 |
@cindex arguments (command line) |
|---|
| 9 |
@cindex options (command line) |
|---|
| 10 |
@cindex switches (command line) |
|---|
| 11 |
@cindex startup (command line arguments) |
|---|
| 12 |
@cindex invocation (command line arguments) |
|---|
| 13 |
|
|---|
| 14 |
GNU Emacs supports command line arguments to request various actions |
|---|
| 15 |
when invoking Emacs. These are for compatibility with other editors and |
|---|
| 16 |
for sophisticated activities. We don't recommend using them for |
|---|
| 17 |
ordinary editing. |
|---|
| 18 |
|
|---|
| 19 |
Arguments starting with @samp{-} are @dfn{options}, and so is |
|---|
| 20 |
@samp{+@var{linenum}}. All other arguments specify files to visit. |
|---|
| 21 |
Emacs visits the specified files while it starts up. The last file |
|---|
| 22 |
name on your command line becomes the current buffer; the other files |
|---|
| 23 |
are also visited in other buffers. If there are two files, they are |
|---|
| 24 |
both displayed; otherwise the last file is displayed along with a |
|---|
| 25 |
buffer list that shows what other buffers there are. As with most |
|---|
| 26 |
programs, the special argument @samp{--} says that all subsequent |
|---|
| 27 |
arguments are file names, not options, even if they start with |
|---|
| 28 |
@samp{-}. |
|---|
| 29 |
|
|---|
| 30 |
Emacs command options can specify many things, such as the size and |
|---|
| 31 |
position of the X window Emacs uses, its colors, and so on. A few |
|---|
| 32 |
options support advanced usage, such as running Lisp functions on files |
|---|
| 33 |
in batch mode. The sections of this chapter describe the available |
|---|
| 34 |
options, arranged according to their purpose. |
|---|
| 35 |
|
|---|
| 36 |
There are two ways of writing options: the short forms that start with |
|---|
| 37 |
a single @samp{-}, and the long forms that start with @samp{--}. For |
|---|
| 38 |
example, @samp{-d} is a short form and @samp{--display} is the |
|---|
| 39 |
corresponding long form. |
|---|
| 40 |
|
|---|
| 41 |
The long forms with @samp{--} are easier to remember, but longer to |
|---|
| 42 |
type. However, you don't have to spell out the whole option name; any |
|---|
| 43 |
unambiguous abbreviation is enough. When a long option takes an |
|---|
| 44 |
argument, you can use either a space or an equal sign to separate the |
|---|
| 45 |
option name and the argument. Thus, you can write either |
|---|
| 46 |
@samp{--display sugar-bombs:0.0} or @samp{--display=sugar-bombs:0.0}. |
|---|
| 47 |
We recommend an equal sign because it makes the relationship clearer, |
|---|
| 48 |
and the tables below always show an equal sign. |
|---|
| 49 |
|
|---|
| 50 |
@cindex initial options (command line) |
|---|
| 51 |
@cindex action options (command line) |
|---|
| 52 |
@vindex command-line-args |
|---|
| 53 |
Most options specify how to initialize Emacs, or set parameters for |
|---|
| 54 |
the Emacs session. We call them @dfn{initial options}. A few options |
|---|
| 55 |
specify things to do: for example, load libraries, call functions, or |
|---|
| 56 |
terminate Emacs. These are called @dfn{action options}. These and file |
|---|
| 57 |
names together are called @dfn{action arguments}. Emacs processes all |
|---|
| 58 |
the action arguments in the order they are written. The @file{.emacs} file |
|---|
| 59 |
can access the values of the action arguments as the elements of a list in |
|---|
| 60 |
the variable @code{command-line-args}. |
|---|
| 61 |
|
|---|
| 62 |
|
|---|
| 63 |
|
|---|
| 64 |
@menu |
|---|
| 65 |
* Action Arguments:: Arguments to visit files, load libraries, |
|---|
| 66 |
and call functions. |
|---|
| 67 |
* Initial Options:: Arguments that take effect while starting Emacs. |
|---|
| 68 |
* Command Example:: Examples of using command line arguments. |
|---|
| 69 |
* Resume Arguments:: Specifying arguments when you resume a running Emacs. |
|---|
| 70 |
* Environment:: Environment variables that Emacs uses. |
|---|
| 71 |
* Display X:: Changing the default display and using remote login. |
|---|
| 72 |
* Font X:: Choosing a font for text, under X. |
|---|
| 73 |
* Colors:: Choosing display colors. |
|---|
| 74 |
* Window Size X:: Start-up window size, under X. |
|---|
| 75 |
* Borders X:: Internal and external borders, under X. |
|---|
| 76 |
* Title X:: Specifying the initial frame's title. |
|---|
| 77 |
* Icons X:: Choosing what sort of icon to use, under X. |
|---|
| 78 |
* Misc X:: Other display options. |
|---|
| 79 |
@end menu |
|---|
| 80 |
|
|---|
| 81 |
@node Action Arguments |
|---|
| 82 |
@appendixsec Action Arguments |
|---|
| 83 |
|
|---|
| 84 |
Here is a table of the action arguments and options: |
|---|
| 85 |
|
|---|
| 86 |
@table @samp |
|---|
| 87 |
@item @var{file} |
|---|
| 88 |
@opindex --file |
|---|
| 89 |
@itemx --file=@var{file} |
|---|
| 90 |
@opindex --find-file |
|---|
| 91 |
@itemx --find-file=@var{file} |
|---|
| 92 |
@opindex --visit |
|---|
| 93 |
@itemx --visit=@var{file} |
|---|
| 94 |
@cindex visiting files, command-line argument |
|---|
| 95 |
@vindex inhibit-startup-buffer-menu |
|---|
| 96 |
Visit @var{file} using @code{find-file}. @xref{Visiting}. |
|---|
| 97 |
If you visit several files at startup in this way, Emacs |
|---|
| 98 |
also displays a Buffer Menu buffer to show you what files it |
|---|
| 99 |
has visited. You can inhibit that by setting @code{inhibit-startup-buffer-menu} to @code{t}. |
|---|
| 100 |
|
|---|
| 101 |
@item +@var{linenum} @var{file} |
|---|
| 102 |
@opindex +@var{linenum} |
|---|
| 103 |
Visit @var{file} using @code{find-file}, then go to line number |
|---|
| 104 |
@var{linenum} in it. |
|---|
| 105 |
|
|---|
| 106 |
@item +@var{linenum}:@var{columnnum} @var{file} |
|---|
| 107 |
Visit @var{file} using @code{find-file}, then go to line number |
|---|
| 108 |
@var{linenum} and put point at column number @var{columnnum}. |
|---|
| 109 |
|
|---|
| 110 |
@need 3000 |
|---|
| 111 |
@item -l @var{file} |
|---|
| 112 |
@opindex -l |
|---|
| 113 |
@itemx --load=@var{file} |
|---|
| 114 |
@opindex --load |
|---|
| 115 |
@cindex loading Lisp libraries, command-line argument |
|---|
| 116 |
Load a Lisp library named @var{file} with the function @code{load}. |
|---|
| 117 |
@xref{Lisp Libraries}. If @var{file} is not an absolute file name, |
|---|
| 118 |
the library can be found either in the current directory, or in the |
|---|
| 119 |
Emacs library search path as specified with @env{EMACSLOADPATH} |
|---|
| 120 |
(@pxref{General Variables}). |
|---|
| 121 |
|
|---|
| 122 |
@strong{Warning:} If previous command-line arguments have visited |
|---|
| 123 |
files, the current directory is the directory of the last file |
|---|
| 124 |
visited. |
|---|
| 125 |
|
|---|
| 126 |
@item -L @var{dir} |
|---|
| 127 |
@opindex -L |
|---|
| 128 |
@itemx --directory=@var{dir} |
|---|
| 129 |
@opindex --directory |
|---|
| 130 |
Add directory @var{dir} to the variable @code{load-path}. |
|---|
| 131 |
|
|---|
| 132 |
@item -f @var{function} |
|---|
| 133 |
@opindex -f |
|---|
| 134 |
@itemx --funcall=@var{function} |
|---|
| 135 |
@opindex --funcall |
|---|
| 136 |
@cindex call Lisp functions, command-line argument |
|---|
| 137 |
Call Lisp function @var{function}. If it is an interactive function |
|---|
| 138 |
(a command), it reads the arguments interactively just as if you had |
|---|
| 139 |
called the same function with a key sequence. Otherwise, it calls the |
|---|
| 140 |
function with no arguments. |
|---|
| 141 |
|
|---|
| 142 |
@item --eval=@var{expression} |
|---|
| 143 |
@opindex --eval |
|---|
| 144 |
@itemx --execute=@var{expression} |
|---|
| 145 |
@opindex --execute |
|---|
| 146 |
@cindex evaluate expression, command-line argument |
|---|
| 147 |
Evaluate Lisp expression @var{expression}. |
|---|
| 148 |
|
|---|
| 149 |
@item --insert=@var{file} |
|---|
| 150 |
@opindex --insert |
|---|
| 151 |
@cindex insert file contents, command-line argument |
|---|
| 152 |
Insert the contents of @var{file} into the current buffer. This is like |
|---|
| 153 |
what @kbd{M-x insert-file} does. @xref{Misc File Ops}. |
|---|
| 154 |
|
|---|
| 155 |
@item --kill |
|---|
| 156 |
@opindex --kill |
|---|
| 157 |
Exit from Emacs without asking for confirmation. |
|---|
| 158 |
|
|---|
| 159 |
@item --help |
|---|
| 160 |
@opindex --help |
|---|
| 161 |
Print a usage message listing all available options, then exit |
|---|
| 162 |
successfully. |
|---|
| 163 |
|
|---|
| 164 |
@item --version |
|---|
| 165 |
@opindex --version |
|---|
| 166 |
Print Emacs version, then exit successfully. |
|---|
| 167 |
@end table |
|---|
| 168 |
|
|---|
| 169 |
@node Initial Options |
|---|
| 170 |
@appendixsec Initial Options |
|---|
| 171 |
|
|---|
| 172 |
The initial options specify parameters for the Emacs session. This |
|---|
| 173 |
section describes the more general initial options; some other options |
|---|
| 174 |
specifically related to the X Window System appear in the following |
|---|
| 175 |
sections. |
|---|
| 176 |
|
|---|
| 177 |
Some initial options affect the loading of init files. The normal |
|---|
| 178 |
actions of Emacs are to first load @file{site-start.el} if it exists, |
|---|
| 179 |
then your own init file @file{~/.emacs} if it exists, and finally |
|---|
| 180 |
@file{default.el} if it exists. @xref{Init File}. Certain options |
|---|
| 181 |
prevent loading of some of these files or substitute other files for |
|---|
| 182 |
them. |
|---|
| 183 |
|
|---|
| 184 |
@table @samp |
|---|
| 185 |
@item -t @var{device} |
|---|
| 186 |
@opindex -t |
|---|
| 187 |
@itemx --terminal=@var{device} |
|---|
| 188 |
@opindex --terminal |
|---|
| 189 |
@cindex device for Emacs terminal I/O |
|---|
| 190 |
Use @var{device} as the device for terminal input and output. |
|---|
| 191 |
@samp{--terminal} implies @samp{--no-window-system}. |
|---|
| 192 |
|
|---|
| 193 |
@item -d @var{display} |
|---|
| 194 |
@opindex -d |
|---|
| 195 |
@itemx --display=@var{display} |
|---|
| 196 |
@opindex --display |
|---|
| 197 |
@cindex display for Emacs frame |
|---|
| 198 |
Use the X Window System and use the display named @var{display} to open |
|---|
| 199 |
the initial Emacs frame. @xref{Display X}, for more details. |
|---|
| 200 |
|
|---|
| 201 |
@item -nw |
|---|
| 202 |
@opindex -nw |
|---|
| 203 |
@itemx --no-window-system |
|---|
| 204 |
@opindex --no-window-system |
|---|
| 205 |
@cindex disable window system |
|---|
| 206 |
Don't communicate directly with the window system, disregarding the |
|---|
| 207 |
@env{DISPLAY} environment variable even if it is set. This means that |
|---|
| 208 |
Emacs uses the terminal from which it was launched for all its display |
|---|
| 209 |
and input. |
|---|
| 210 |
|
|---|
| 211 |
@need 3000 |
|---|
| 212 |
@cindex batch mode |
|---|
| 213 |
@item -batch |
|---|
| 214 |
@opindex --batch |
|---|
| 215 |
@itemx --batch |
|---|
| 216 |
Run Emacs in @dfn{batch mode}. Batch mode is used for running |
|---|
| 217 |
programs written in Emacs Lisp from shell scripts, makefiles, and so |
|---|
| 218 |
on. You should also use the @samp{-l}, @samp{-f} or @samp{--eval} |
|---|
| 219 |
option, to invoke a Lisp program to do batch processing. |
|---|
| 220 |
|
|---|
| 221 |
In batch mode, Emacs does not display the text being edited, and the |
|---|
| 222 |
standard terminal interrupt characters such as @kbd{C-z} and @kbd{C-c} |
|---|
| 223 |
continue to have their normal effect. The functions @code{prin1}, |
|---|
| 224 |
@code{princ} and @code{print} output to @code{stdout} instead of the |
|---|
| 225 |
echo area, while @code{message} and error messages output to |
|---|
| 226 |
@code{stderr}. Functions that would normally read from the minibuffer |
|---|
| 227 |
take their input from @code{stdin} instead. |
|---|
| 228 |
|
|---|
| 229 |
@samp{--batch} implies @samp{-q} (do not load an init file), but |
|---|
| 230 |
@file{site-start.el} is loaded nonetheless. It also causes Emacs to |
|---|
| 231 |
exit after processing all the command options. In addition, it |
|---|
| 232 |
disables auto-saving except in buffers for which it has been |
|---|
| 233 |
explicitly requested. |
|---|
| 234 |
|
|---|
| 235 |
@item --script @var{file} |
|---|
| 236 |
@opindex --script |
|---|
| 237 |
@cindex script mode |
|---|
| 238 |
Run Emacs in batch mode, like @samp{--batch}, and then read and |
|---|
| 239 |
execute the Lisp code in @var{file}. |
|---|
| 240 |
|
|---|
| 241 |
The normal use of this option is in executable script files that run |
|---|
| 242 |
Emacs. They can start with this text on the first line |
|---|
| 243 |
|
|---|
| 244 |
@example |
|---|
| 245 |
#!/usr/bin/emacs --script |
|---|
| 246 |
@end example |
|---|
| 247 |
|
|---|
| 248 |
@noindent |
|---|
| 249 |
which will invoke Emacs with @samp{--script} and supply the name of |
|---|
| 250 |
the script file as @var{file}. Emacs Lisp then treats @samp{#!} as a |
|---|
| 251 |
comment delimiter. |
|---|
| 252 |
|
|---|
| 253 |
@item -q |
|---|
| 254 |
@opindex -q |
|---|
| 255 |
@itemx --no-init-file |
|---|
| 256 |
@opindex --no-init-file |
|---|
| 257 |
@cindex bypassing init and @file{default.el} file |
|---|
| 258 |
@cindex init file, not loading |
|---|
| 259 |
@cindex @file{default.el} file, not loading |
|---|
| 260 |
Do not load your Emacs init file @file{~/.emacs}, or @file{default.el} |
|---|
| 261 |
either. Regardless of this switch, @file{site-start.el} is still loaded. |
|---|
| 262 |
When invoked like this, Emacs does not allow saving options |
|---|
| 263 |
changed with the @kbd{M-x customize} command and its variants. |
|---|
| 264 |
@xref{Easy Customization}. |
|---|
| 265 |
|
|---|
| 266 |
@item --no-site-file |
|---|
| 267 |
@opindex --no-site-file |
|---|
| 268 |
@cindex @file{site-start.el} file, not loading |
|---|
| 269 |
Do not load @file{site-start.el}. The options @samp{-q}, @samp{-u} |
|---|
| 270 |
and @samp{--batch} have no effect on the loading of this file---this |
|---|
| 271 |
option and @samp{-Q} are the only options that block it. |
|---|
| 272 |
|
|---|
| 273 |
@item -Q |
|---|
| 274 |
@opindex -Q |
|---|
| 275 |
@itemx --quick |
|---|
| 276 |
@opindex --quick |
|---|
| 277 |
Start emacs with minimum customizations. This is like using @samp{-q} |
|---|
| 278 |
and @samp{--no-site-file}, but also disables the startup screen. |
|---|
| 279 |
|
|---|
| 280 |
@item --no-splash |
|---|
| 281 |
@opindex --no-splash |
|---|
| 282 |
@vindex inhibit-splash-screen |
|---|
| 283 |
@cindex splash screen |
|---|
| 284 |
@cindex startup message |
|---|
| 285 |
Do not display a splash screen on startup. You can also achieve this |
|---|
| 286 |
effect by setting the variable @code{inhibit-splash-screen} to |
|---|
| 287 |
non-@code{nil} in you personal init file (but @emph{not} in |
|---|
| 288 |
@file{site-start.el}). (This variable was called |
|---|
| 289 |
@code{inhibit-startup-message} in previous Emacs versions.) |
|---|
| 290 |
|
|---|
| 291 |
@item --no-desktop |
|---|
| 292 |
@opindex --no-desktop |
|---|
| 293 |
Do not reload any saved desktop. @xref{Saving Emacs Sessions}. |
|---|
| 294 |
|
|---|
| 295 |
@item -u @var{user} |
|---|
| 296 |
@opindex -u |
|---|
| 297 |
@itemx --user=@var{user} |
|---|
| 298 |
@opindex --user |
|---|
| 299 |
@cindex load init file of another user |
|---|
| 300 |
Load @var{user}'s Emacs init file @file{~@var{user}/.emacs} instead of |
|---|
| 301 |
your own@footnote{ |
|---|
| 302 |
This option has no effect on MS-Windows.}. |
|---|
| 303 |
|
|---|
| 304 |
@item --debug-init |
|---|
| 305 |
@opindex --debug-init |
|---|
| 306 |
@cindex errors in init file |
|---|
| 307 |
Enable the Emacs Lisp debugger for errors in the init file. |
|---|
| 308 |
@xref{Error Debugging,, Entering the Debugger on an Error, elisp, The |
|---|
| 309 |
GNU Emacs Lisp Reference Manual}. |
|---|
| 310 |
|
|---|
| 311 |
@item --unibyte |
|---|
| 312 |
@opindex --unibyte |
|---|
| 313 |
@itemx --no-multibyte |
|---|
| 314 |
@opindex --no-multibyte |
|---|
| 315 |
@cindex unibyte operation, command-line argument |
|---|
| 316 |
Do almost everything with single-byte buffers and strings. |
|---|
| 317 |
All buffers and strings are unibyte unless you (or a Lisp program) |
|---|
| 318 |
explicitly ask for a multibyte buffer or string. (Note that Emacs |
|---|
| 319 |
always loads Lisp files in multibyte mode, even if @samp{--unibyte} is |
|---|
| 320 |
specified; see @ref{Enabling Multibyte}.) Setting the environment |
|---|
| 321 |
variable @env{EMACS_UNIBYTE} has the same effect |
|---|
| 322 |
(@pxref{General Variables}). |
|---|
| 323 |
|
|---|
| 324 |
@item --multibyte |
|---|
| 325 |
@opindex --multibyte |
|---|
| 326 |
@itemx --no-unibyte |
|---|
| 327 |
@opindex --no-unibyte |
|---|
| 328 |
Inhibit the effect of @env{EMACS_UNIBYTE}, so that Emacs |
|---|
| 329 |
uses multibyte characters by default, as usual. |
|---|
| 330 |
@end table |
|---|
| 331 |
|
|---|
| 332 |
@node Command Example |
|---|
| 333 |
@appendixsec Command Argument Example |
|---|
| 334 |
|
|---|
| 335 |
Here is an example of using Emacs with arguments and options. It |
|---|
| 336 |
assumes you have a Lisp program file called @file{hack-c.el} which, when |
|---|
| 337 |
loaded, performs some useful operation on the current buffer, expected |
|---|
| 338 |
to be a C program. |
|---|
| 339 |
|
|---|
| 340 |
@example |
|---|
| 341 |
emacs --batch foo.c -l hack-c -f save-buffer >& log |
|---|
| 342 |
@end example |
|---|
| 343 |
|
|---|
| 344 |
@noindent |
|---|
| 345 |
This says to visit @file{foo.c}, load @file{hack-c.el} (which makes |
|---|
| 346 |
changes in the visited file), save @file{foo.c} (note that |
|---|
| 347 |
@code{save-buffer} is the function that @kbd{C-x C-s} is bound to), and |
|---|
| 348 |
then exit back to the shell (because of @samp{--batch}). @samp{--batch} |
|---|
| 349 |
also guarantees there will be no problem redirecting output to |
|---|
| 350 |
@file{log}, because Emacs will not assume that it has a display terminal |
|---|
| 351 |
to work with. |
|---|
| 352 |
|
|---|
| 353 |
@node Resume Arguments |
|---|
| 354 |
@appendixsec Resuming Emacs with Arguments |
|---|
| 355 |
|
|---|
| 356 |
You can specify action arguments for Emacs when you resume it after |
|---|
| 357 |
a suspension. To prepare for this, put the following code in your |
|---|
| 358 |
@file{.emacs} file (@pxref{Hooks}): |
|---|
| 359 |
|
|---|
| 360 |
@c `resume-suspend-hook' is correct. It is the name of a function. |
|---|
| 361 |
@example |
|---|
| 362 |
(add-hook 'suspend-hook 'resume-suspend-hook) |
|---|
| 363 |
(add-hook 'suspend-resume-hook 'resume-process-args) |
|---|
| 364 |
@end example |
|---|
| 365 |
|
|---|
| 366 |
As further preparation, you must execute the shell script |
|---|
| 367 |
@file{emacs.csh} (if you use csh as your shell) or @file{emacs.bash} |
|---|
| 368 |
(if you use bash as your shell). These scripts define an alias named |
|---|
| 369 |
@code{edit}, which will resume Emacs giving it new command line |
|---|
| 370 |
arguments such as files to visit. The scripts are found in the |
|---|
| 371 |
@file{etc} subdirectory of the Emacs distribution. |
|---|
| 372 |
|
|---|
| 373 |
Only action arguments work properly when you resume Emacs. Initial |
|---|
| 374 |
arguments are not recognized---it's too late to execute them anyway. |
|---|
| 375 |
|
|---|
| 376 |
Note that resuming Emacs (with or without arguments) must be done from |
|---|
| 377 |
within the shell that is the parent of the Emacs job. This is why |
|---|
| 378 |
@code{edit} is an alias rather than a program or a shell script. It is |
|---|
| 379 |
not possible to implement a resumption command that could be run from |
|---|
| 380 |
other subjobs of the shell; there is no way to define a command that could |
|---|
| 381 |
be made the value of @env{EDITOR}, for example. Therefore, this feature |
|---|
| 382 |
does not take the place of the Emacs Server feature (@pxref{Emacs |
|---|
| 383 |
Server}). |
|---|
| 384 |
|
|---|
| 385 |
The aliases use the Emacs Server feature if you appear to have a |
|---|
| 386 |
server Emacs running. However, they cannot determine this with complete |
|---|
| 387 |
accuracy. They may think that a server is still running when in |
|---|
| 388 |
actuality you have killed that Emacs, because the file |
|---|
| 389 |
@file{/tmp/esrv@dots{}} still exists. If this happens, find that |
|---|
| 390 |
file and delete it. |
|---|
| 391 |
|
|---|
| 392 |
@node Environment |
|---|
| 393 |
@appendixsec Environment Variables |
|---|
| 394 |
@cindex environment variables |
|---|
| 395 |
|
|---|
| 396 |
The @dfn{environment} is a feature of the operating system; it |
|---|
| 397 |
consists of a collection of variables with names and values. Each |
|---|
| 398 |
variable is called an @dfn{environment variable}; environment variable |
|---|
| 399 |
names are case-sensitive, and it is conventional to use upper case |
|---|
| 400 |
letters only. The values are all text strings. |
|---|
| 401 |
|
|---|
| 402 |
What makes the environment useful is that subprocesses inherit the |
|---|
| 403 |
environment automatically from their parent process. This means you |
|---|
| 404 |
can set up an environment variable in your login shell, and all the |
|---|
| 405 |
programs you run (including Emacs) will automatically see it. |
|---|
| 406 |
Subprocesses of Emacs (such as shells, compilers, and version-control |
|---|
| 407 |
software) inherit the environment from Emacs, too. |
|---|
| 408 |
|
|---|
| 409 |
@findex setenv |
|---|
| 410 |
@findex getenv |
|---|
| 411 |
Inside Emacs, the command @kbd{M-x getenv} gets the value of an |
|---|
| 412 |
environment variable. @kbd{M-x setenv} sets a variable in the Emacs |
|---|
| 413 |
environment. (Environment variable substitutions with @samp{$} work |
|---|
| 414 |
in the value just as in file names; see @ref{File Names with $}.) |
|---|
| 415 |
|
|---|
| 416 |
The way to set environment variables outside of Emacs depends on the |
|---|
| 417 |
operating system, and especially the shell that you are using. For |
|---|
| 418 |
example, here's how to set the environment variable @env{ORGANIZATION} |
|---|
| 419 |
to @samp{not very much} using Bash: |
|---|
| 420 |
|
|---|
| 421 |
@example |
|---|
| 422 |
export ORGANIZATION="not very much" |
|---|
| 423 |
@end example |
|---|
| 424 |
|
|---|
| 425 |
@noindent |
|---|
| 426 |
and here's how to do it in csh or tcsh: |
|---|
| 427 |
|
|---|
| 428 |
@example |
|---|
| 429 |
setenv ORGANIZATION "not very much" |
|---|
| 430 |
@end example |
|---|
| 431 |
|
|---|
| 432 |
When Emacs is using the X Window System, various environment |
|---|
| 433 |
variables that control X work for Emacs as well. See the X |
|---|
| 434 |
documentation for more information. |
|---|
| 435 |
|
|---|
| 436 |
@menu |
|---|
| 437 |
* General Variables:: Environment variables that all versions of Emacs use. |
|---|
| 438 |
* Misc Variables:: Certain system-specific variables. |
|---|
| 439 |
* MS-Windows Registry:: An alternative to the environment on MS-Windows. |
|---|
| 440 |
@end menu |
|---|
| 441 |
|
|---|
| 442 |
@node General Variables |
|---|
| 443 |
@appendixsubsec General Variables |
|---|
| 444 |
|
|---|
| 445 |
Here is an alphabetical list of specific environment variables that |
|---|
| 446 |
have special meanings in Emacs, giving the name of each variable and |
|---|
| 447 |
its meaning. Most of these variables are also used by some other |
|---|
| 448 |
programs. Emacs does not require any of these environment variables |
|---|
| 449 |
to be set, but it uses their values if they are set. |
|---|
| 450 |
|
|---|
| 451 |
@table @env |
|---|
| 452 |
@item CDPATH |
|---|
| 453 |
Used by the @code{cd} command to search for the directory you specify, |
|---|
| 454 |
when you specify a relative directory name. |
|---|
| 455 |
@item EMACS_UNIBYTE |
|---|
| 456 |
@cindex unibyte operation, environment variable |
|---|
| 457 |
Defining this environment variable with a nonempty value directs Emacs |
|---|
| 458 |
to do almost everything with single-byte buffers and strings. It is |
|---|
| 459 |
equivalent to using the @samp{--unibyte} command-line option on each |
|---|
| 460 |
invocation. @xref{Initial Options}. |
|---|
| 461 |
@item EMACSDATA |
|---|
| 462 |
Directory for the architecture-independent files that come with Emacs. |
|---|
| 463 |
This is used to initialize the Lisp variable @code{data-directory}. |
|---|
| 464 |
@item EMACSDOC |
|---|
| 465 |
Directory for the documentation string file, |
|---|
| 466 |
@file{DOC-@var{emacsversion}}. This is used to initialize the Lisp |
|---|
| 467 |
variable @code{doc-directory}. |
|---|
| 468 |
@item EMACSLOADPATH |
|---|
| 469 |
A colon-separated list of directories@footnote{ |
|---|
| 470 |
Here and below, whenever we say ``colon-separated list of directories,'' |
|---|
| 471 |
it pertains to Unix and GNU/Linux systems. On MS-DOS and MS-Windows, |
|---|
| 472 |
the directories are separated by semi-colons instead, since DOS/Windows |
|---|
| 473 |
file names might include a colon after a drive letter.} |
|---|
| 474 |
to search for Emacs Lisp files---used to initialize @code{load-path}. |
|---|
| 475 |
@item EMACSPATH |
|---|
| 476 |
A colon-separated list of directories to search for executable |
|---|
| 477 |
files---used to initialize @code{exec-path}. |
|---|
| 478 |
@item EMAIL |
|---|
| 479 |
@vindex user-mail-address@r{, initialization} |
|---|
| 480 |
Your email address; used to initialize the Lisp variable |
|---|
| 481 |
@code{user-mail-address}, which the Emacs mail interface puts into |
|---|
| 482 |
the @samp{From} header of outgoing messages (@pxref{Mail Headers}). |
|---|
| 483 |
@item ESHELL |
|---|
| 484 |
Used for shell-mode to override the @env{SHELL} environment variable. |
|---|
| 485 |
@item HISTFILE |
|---|
| 486 |
The name of the file that shell commands are saved in between logins. |
|---|
| 487 |
This variable defaults to @file{~/.bash_history} if you use Bash, to |
|---|
| 488 |
@file{~/.sh_history} if you use ksh, and to @file{~/.history} |
|---|
| 489 |
otherwise. |
|---|
| 490 |
@item HOME |
|---|
| 491 |
The location of your files in the directory tree; used for |
|---|
| 492 |
expansion of file names starting with a tilde (@file{~}). On MS-DOS, |
|---|
| 493 |
it defaults to the directory from which Emacs was started, with |
|---|
| 494 |
@samp{/bin} removed from the end if it was present. On Windows, the |
|---|
| 495 |
default value of @env{HOME} is the @file{Application Data} |
|---|
| 496 |
subdirectory of the user profile directory (normally, this is |
|---|
| 497 |
@file{C:/Documents and Settings/@var{username}/Application Data}, |
|---|
| 498 |
where @var{username} is your user name), though for backwards |
|---|
| 499 |
compatibility @file{C:/} will be used instead if a @file{.emacs} file |
|---|
| 500 |
is found there. |
|---|
| 501 |
@item HOSTNAME |
|---|
| 502 |
The name of the machine that Emacs is running on. |
|---|
| 503 |
@item INCPATH |
|---|
| 504 |
A colon-separated list of directories. Used by the @code{complete} package |
|---|
| 505 |
to search for files. |
|---|
| 506 |
@item INFOPATH |
|---|
| 507 |
A colon-separated list of directories in which to search for Info files. |
|---|
| 508 |
@item LC_ALL |
|---|
| 509 |
@itemx LC_COLLATE |
|---|
| 510 |
@itemx LC_CTYPE |
|---|
| 511 |
@itemx LC_MESSAGES |
|---|
| 512 |
@itemx LC_MONETARY |
|---|
| 513 |
@itemx LC_NUMERIC |
|---|
| 514 |
@itemx LC_TIME |
|---|
| 515 |
@itemx LANG |
|---|
| 516 |
The user's preferred locale. The locale has six categories, specified |
|---|
| 517 |
by the environment variables @env{LC_COLLATE} for sorting, |
|---|
| 518 |
@env{LC_CTYPE} for character encoding, @env{LC_MESSAGES} for system |
|---|
| 519 |
messages, @env{LC_MONETARY} for monetary formats, @env{LC_NUMERIC} for |
|---|
| 520 |
numbers, and @env{LC_TIME} for dates and times. If one of these |
|---|
| 521 |
variables is not set, the category defaults to the value of the |
|---|
| 522 |
@env{LANG} environment variable, or to the default @samp{C} locale if |
|---|
| 523 |
@env{LANG} is not set. But if @env{LC_ALL} is specified, it overrides |
|---|
| 524 |
the settings of all the other locale environment variables. |
|---|
| 525 |
|
|---|
| 526 |
On MS-Windows, if @env{LANG} is not already set in the environment |
|---|
| 527 |
when Emacs starts, Emacs sets it based on the system-wide default |
|---|
| 528 |
language, which you can set in the @samp{Regional Settings} Control Panel |
|---|
| 529 |
on some versions of MS-Windows. |
|---|
| 530 |
|
|---|
| 531 |
The value of the @env{LC_CTYPE} category is |
|---|
| 532 |
matched against entries in @code{locale-language-names}, |
|---|
| 533 |
@code{locale-charset-language-names}, and |
|---|
| 534 |
@code{locale-preferred-coding-systems}, to select a default language |
|---|
| 535 |
environment and coding system. @xref{Language Environments}. |
|---|
| 536 |
@item LOGNAME |
|---|
| 537 |
The user's login name. See also @env{USER}. |
|---|
| 538 |
@item MAIL |
|---|
| 539 |
The name of your system mail inbox. |
|---|
| 540 |
@item MH |
|---|
| 541 |
Name of setup file for the mh system. (The default is @file{~/.mh_profile}.) |
|---|
| 542 |
@item NAME |
|---|
| 543 |
Your real-world name. |
|---|
| 544 |
@item NNTPSERVER |
|---|
| 545 |
The name of the news server. Used by the mh and Gnus packages. |
|---|
| 546 |
@item ORGANIZATION |
|---|
| 547 |
The name of the organization to which you belong. Used for setting the |
|---|
| 548 |
`Organization:' header in your posts from the Gnus package. |
|---|
| 549 |
@item PATH |
|---|
| 550 |
A colon-separated list of directories in which executables reside. This |
|---|
| 551 |
is used to initialize the Emacs Lisp variable @code{exec-path}. |
|---|
| 552 |
@item PWD |
|---|
| 553 |
If set, this should be the default directory when Emacs was started. |
|---|
| 554 |
@item REPLYTO |
|---|
| 555 |
If set, this specifies an initial value for the variable |
|---|
| 556 |
@code{mail-default-reply-to}. @xref{Mail Headers}. |
|---|
| 557 |
@item SAVEDIR |
|---|
| 558 |
The name of a directory in which news articles are saved by default. |
|---|
| 559 |
Used by the Gnus package. |
|---|
| 560 |
@item SHELL |
|---|
| 561 |
The name of an interpreter used to parse and execute programs run from |
|---|
| 562 |
inside Emacs. |
|---|
| 563 |
@item SMTPSERVER |
|---|
| 564 |
The name of the outgoing mail server. Used by the SMTP library |
|---|
| 565 |
(@pxref{Top,,,smtpmail,Sending mail via SMTP}). |
|---|
| 566 |
@cindex background mode, on @command{xterm} |
|---|
| 567 |
@item TERM |
|---|
| 568 |
The type of the terminal that Emacs is using. This variable must be |
|---|
| 569 |
set unless Emacs is run in batch mode. On MS-DOS, it defaults to |
|---|
| 570 |
@samp{internal}, which specifies a built-in terminal emulation that |
|---|
| 571 |
handles the machine's own display. If the value of @env{TERM} indicates |
|---|
| 572 |
that Emacs runs in non-windowed mode from @command{xterm} or a similar |
|---|
| 573 |
terminal emulator, the background mode defaults to @samp{light}, and |
|---|
| 574 |
Emacs will choose colors that are appropriate for a light background. |
|---|
| 575 |
@item TERMCAP |
|---|
| 576 |
The name of the termcap library file describing how to program the |
|---|
| 577 |
terminal specified by the @env{TERM} variable. This defaults to |
|---|
| 578 |
@file{/etc/termcap}. |
|---|
| 579 |
@item TMPDIR |
|---|
| 580 |
Used by the Emerge package as a prefix for temporary files. |
|---|
| 581 |
@item TZ |
|---|
| 582 |
This specifies the current time zone and possibly also daylight |
|---|
| 583 |
saving time information. On MS-DOS, if @env{TZ} is not set in the |
|---|
| 584 |
environment when Emacs starts, Emacs defines a default value as |
|---|
| 585 |
appropriate for the country code returned by DOS. On MS-Windows, Emacs |
|---|
| 586 |
does not use @env{TZ} at all. |
|---|
| 587 |
@item USER |
|---|
| 588 |
The user's login name. See also @env{LOGNAME}. On MS-DOS, this |
|---|
| 589 |
defaults to @samp{root}. |
|---|
| 590 |
@item VERSION_CONTROL |
|---|
| 591 |
Used to initialize the @code{version-control} variable (@pxref{Numbered Backups}). |
|---|
| 592 |
@end table |
|---|
| 593 |
|
|---|
| 594 |
@node Misc Variables |
|---|
| 595 |
@appendixsubsec Miscellaneous Variables |
|---|
| 596 |
|
|---|
| 597 |
These variables are used only on particular configurations: |
|---|
| 598 |
|
|---|
| 599 |
@table @env |
|---|
| 600 |
@item COMSPEC |
|---|
| 601 |
On MS-DOS and MS-Windows, the name of the command interpreter to use |
|---|
| 602 |
when invoking batch files and commands internal to the shell. On MS-DOS |
|---|
| 603 |
this is also used to make a default value for the @env{SHELL} environment |
|---|
| 604 |
variable. |
|---|
| 605 |
|
|---|
| 606 |
@item NAME |
|---|
| 607 |
On MS-DOS, this variable defaults to the value of the @env{USER} |
|---|
| 608 |
variable. |
|---|
| 609 |
|
|---|
| 610 |
@item TEMP |
|---|
| 611 |
@itemx TMP |
|---|
| 612 |
On MS-DOS and MS-Windows, these specify the name of the directory for |
|---|
| 613 |
storing temporary files in. |
|---|
| 614 |
|
|---|
| 615 |
@item EMACSTEST |
|---|
| 616 |
On MS-DOS, this specifies a file to use to log the operation of the |
|---|
| 617 |
internal terminal emulator. This feature is useful for submitting bug |
|---|
| 618 |
reports. |
|---|
| 619 |
|
|---|
| 620 |
@item EMACSCOLORS |
|---|
| 621 |
On MS-DOS, this specifies the screen colors. It is useful to set them |
|---|
| 622 |
this way, since otherwise Emacs would display the default colors |
|---|
| 623 |
momentarily when it starts up. |
|---|
| 624 |
|
|---|
| 625 |
The value of this variable should be the two-character encoding of the |
|---|
| 626 |
foreground (the first character) and the background (the second |
|---|
| 627 |
character) colors of the default face. Each character should be the |
|---|
| 628 |
hexadecimal code for the desired color on a standard PC text-mode |
|---|
| 629 |
display. For example, to get blue text on a light gray background, |
|---|
| 630 |
specify @samp{EMACSCOLORS=17}, since 1 is the code of the blue color and |
|---|
| 631 |
7 is the code of the light gray color. |
|---|
| 632 |
|
|---|
| 633 |
The PC display usually supports only eight background colors. However, |
|---|
| 634 |
Emacs switches the DOS display to a mode where all 16 colors can be used |
|---|
| 635 |
for the background, so all four bits of the background color are |
|---|
| 636 |
actually used. |
|---|
| 637 |
|
|---|
| 638 |
@item WINDOW_GFX |
|---|
| 639 |
Used when initializing the Sun windows system. |
|---|
| 640 |
|
|---|
| 641 |
@item PRELOAD_WINSOCK |
|---|
| 642 |
On MS-Windows, if you set this variable, Emacs will load and initialize |
|---|
| 643 |
the network library at startup, instead of waiting until the first |
|---|
| 644 |
time it is required. |
|---|
| 645 |
|
|---|
| 646 |
@item emacs_dir |
|---|
| 647 |
On MS-Windows, @env{emacs_dir} is a special environment variable, which |
|---|
| 648 |
indicates the full path of the directory in which Emacs is installed. |
|---|
| 649 |
If Emacs is installed in the standard directory structure, it |
|---|
| 650 |
calculates this value automatically. It is not much use setting this |
|---|
| 651 |
variable yourself unless your installation is non-standard, since |
|---|
| 652 |
unlike other environment variables, it will be overridden by Emacs at |
|---|
| 653 |
startup. When setting other environment variables, such as |
|---|
| 654 |
@env{EMACSLOADPATH}, you may find it useful to use @env{emacs_dir} |
|---|
| 655 |
rather than hard-coding an absolute path. This allows multiple |
|---|
| 656 |
versions of Emacs to share the same environment variable settings, and |
|---|
| 657 |
it allows you to move the Emacs installation directory, without |
|---|
| 658 |
changing any environment or registry settings. |
|---|
| 659 |
@end table |
|---|
| 660 |
|
|---|
| 661 |
@node MS-Windows Registry |
|---|
| 662 |
@appendixsubsec The MS-Windows System Registry |
|---|
| 663 |
@pindex addpm, MS-Windows installation program |
|---|
| 664 |
@cindex registry, setting environment variables and resources on MS-Windows |
|---|
| 665 |
|
|---|
| 666 |
Under MS-Windows, the installation program @command{addpm.exe} adds |
|---|
| 667 |
values for @env{emacs_dir}, @env{EMACSLOADPATH}, @env{EMACSDATA}, |
|---|
| 668 |
@env{EMACSPATH}, @env{EMACSDOC}, @env{SHELL} and @env{TERM} to the |
|---|
| 669 |
@file{HKEY_LOCAL_MACHINE} section of the system registry, under |
|---|
| 670 |
@file{/Software/GNU/Emacs}. It does this because there is no standard |
|---|
| 671 |
place to set environment variables across different versions of |
|---|
| 672 |
Windows. Running @command{addpm.exe} is no longer strictly necessary |
|---|
| 673 |
in recent versions of Emacs, but if you are upgrading from an older |
|---|
| 674 |
version, running @command{addpm.exe} ensures that you do not have |
|---|
| 675 |
older registry entries from a previous installation, which may not be |
|---|
| 676 |
compatible with the latest version of Emacs. |
|---|
| 677 |
|
|---|
| 678 |
When Emacs starts, as well as checking the environment, it also checks |
|---|
| 679 |
the System Registry for those variables and for @env{HOME}, @env{LANG} |
|---|
| 680 |
and @env{PRELOAD_WINSOCK}. |
|---|
| 681 |
|
|---|
| 682 |
To determine the value of those variables, Emacs goes through the |
|---|
| 683 |
following procedure. First, the environment is checked. If the |
|---|
| 684 |
variable is not found there, Emacs looks for registry keys by that |
|---|
| 685 |
name under @file{/Software/GNU/Emacs}; first in the |
|---|
| 686 |
@file{HKEY_CURRENT_USER} section of the registry, and if not found |
|---|
| 687 |
there, in the @file{HKEY_LOCAL_MACHINE} section. Finally, if Emacs |
|---|
| 688 |
still cannot determine the values, compiled-in defaults are used. |
|---|
| 689 |
|
|---|
| 690 |
In addition to the environment variables above, you can also add many |
|---|
| 691 |
of the settings which on X belong in the @file{.Xdefaults} file |
|---|
| 692 |
(@pxref{X Resources}) to the @file{/Software/GNU/Emacs} registry key. |
|---|
| 693 |
Settings you add to the @file{HKEY_LOCAL_MACHINE} section will affect |
|---|
| 694 |
all users of the machine. Settings you add to the |
|---|
| 695 |
@file{HKEY_CURRENT_USER} section will only affect you, and will |
|---|
| 696 |
override machine wide settings. |
|---|
| 697 |
|
|---|
| 698 |
@node Display X |
|---|
| 699 |
@appendixsec Specifying the Display Name |
|---|
| 700 |
@cindex display name (X Window System) |
|---|
| 701 |
@cindex @env{DISPLAY} environment variable |
|---|
| 702 |
|
|---|
| 703 |
The environment variable @env{DISPLAY} tells all X clients, including |
|---|
| 704 |
Emacs, where to display their windows. Its value is set by default |
|---|
| 705 |
in ordinary circumstances, when you start an X server and run jobs |
|---|
| 706 |
locally. Occasionally you may need to specify the display yourself; for |
|---|
| 707 |
example, if you do a remote login and want to run a client program |
|---|
| 708 |
remotely, displaying on your local screen. |
|---|
| 709 |
|
|---|
| 710 |
With Emacs, the main reason people change the default display is to |
|---|
| 711 |
let them log into another system, run Emacs on that system, but have the |
|---|
| 712 |
window displayed at their local terminal. You might need to log in |
|---|
| 713 |
to another system because the files you want to edit are there, or |
|---|
| 714 |
because the Emacs executable file you want to run is there. |
|---|
| 715 |
|
|---|
| 716 |
The syntax of the @env{DISPLAY} environment variable is |
|---|
| 717 |
@samp{@var{host}:@var{display}.@var{screen}}, where @var{host} is the |
|---|
| 718 |
host name of the X Window System server machine, @var{display} is an |
|---|
| 719 |
arbitrarily-assigned number that distinguishes your server (X terminal) |
|---|
| 720 |
from other servers on the same machine, and @var{screen} is a |
|---|
| 721 |
rarely-used field that allows an X server to control multiple terminal |
|---|
| 722 |
screens. The period and the @var{screen} field are optional. If |
|---|
| 723 |
included, @var{screen} is usually zero. |
|---|
| 724 |
|
|---|
| 725 |
For example, if your host is named @samp{glasperle} and your server is |
|---|
| 726 |
the first (or perhaps the only) server listed in the configuration, your |
|---|
| 727 |
@env{DISPLAY} is @samp{glasperle:0.0}. |
|---|
| 728 |
|
|---|
| 729 |
You can specify the display name explicitly when you run Emacs, either |
|---|
| 730 |
by changing the @env{DISPLAY} variable, or with the option @samp{-d |
|---|
| 731 |
@var{display}} or @samp{--display=@var{display}}. Here is an example: |
|---|
| 732 |
|
|---|
| 733 |
@smallexample |
|---|
| 734 |
emacs --display=glasperle:0 & |
|---|
| 735 |
@end smallexample |
|---|
| 736 |
|
|---|
| 737 |
You can inhibit the direct use of the window system and GUI with the |
|---|
| 738 |
@samp{-nw} option. It tells Emacs to display using ordinary @acronym{ASCII} on |
|---|
| 739 |
its controlling terminal. This is also an initial option. |
|---|
| 740 |
|
|---|
| 741 |
Sometimes, security arrangements prevent a program on a remote system |
|---|
| 742 |
from displaying on your local system. In this case, trying to run Emacs |
|---|
| 743 |
produces messages like this: |
|---|
| 744 |
|
|---|
| 745 |
@smallexample |
|---|
| 746 |
Xlib: connection to "glasperle:0.0" refused by server |
|---|
| 747 |
@end smallexample |
|---|
| 748 |
|
|---|
| 749 |
@noindent |
|---|
| 750 |
You might be able to overcome this problem by using the @command{xhost} |
|---|
| 751 |
command on the local system to give permission for access from your |
|---|
| 752 |
remote machine. |
|---|
| 753 |
|
|---|
| 754 |
@node Font X |
|---|
| 755 |
@appendixsec Font Specification Options |
|---|
| 756 |
@cindex font name (X Window System) |
|---|
| 757 |
|
|---|
| 758 |
By default, Emacs displays text in a twelve point Courier font (when |
|---|
| 759 |
using X). You can specify a different font on your command line |
|---|
| 760 |
through the option @samp{-fn @var{name}} (or @samp{--font}, which is |
|---|
| 761 |
an alias for @samp{-fn}). |
|---|
| 762 |
|
|---|
| 763 |
@table @samp |
|---|
| 764 |
@item -fn @var{name} |
|---|
| 765 |
@opindex -fn |
|---|
| 766 |
@itemx --font=@var{name} |
|---|
| 767 |
@opindex --font |
|---|
| 768 |
@cindex specify default font from the command line |
|---|
| 769 |
Use font @var{name} as the default font. |
|---|
| 770 |
@end table |
|---|
| 771 |
|
|---|
| 772 |
Under X, each font has a long name which consists of fourteen words |
|---|
| 773 |
or numbers, separated by dashes. Some fonts also have shorter |
|---|
| 774 |
nicknames. For instance, @samp{9x15} is such a nickname. This font |
|---|
| 775 |
makes each character nine pixels wide and fifteen pixels high. You |
|---|
| 776 |
can use either kind of name. Case is insignificant in both kinds. |
|---|
| 777 |
You can use wildcard patterns for the font name; then Emacs lets X |
|---|
| 778 |
choose one of the fonts that match the pattern. The wildcard |
|---|
| 779 |
character @samp{*} matches any sequence of characters (including none) |
|---|
| 780 |
and @samp{?} matches any single character. However, matching is |
|---|
| 781 |
implementation-dependent, and can be inaccurate when wildcards match |
|---|
| 782 |
dashes in a long name. For reliable results, supply all 14 dashes and |
|---|
| 783 |
use wildcards only within a field. Here is an example, which happens |
|---|
| 784 |
to specify the font whose nickname is @samp{6x13}: |
|---|
| 785 |
|
|---|
| 786 |
@smallexample |
|---|
| 787 |
emacs -fn \ |
|---|
| 788 |
"-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1" & |
|---|
| 789 |
@end smallexample |
|---|
| 790 |
|
|---|
| 791 |
@noindent |
|---|
| 792 |
You can also specify the font in your @file{.Xdefaults} file: |
|---|
| 793 |
|
|---|
| 794 |
@smallexample |
|---|
| 795 |
emacs.font: -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 |
|---|
| 796 |
@end smallexample |
|---|
| 797 |
|
|---|
| 798 |
Note that if you use a wildcard pattern on the command line, you |
|---|
| 799 |
need to enclose it in single or double quotes, to prevent the shell |
|---|
| 800 |
from accidentally expanding it into a list of file names. On the |
|---|
| 801 |
other hand, you should not quote the name in the @file{.Xdefaults} |
|---|
| 802 |
file. |
|---|
| 803 |
|
|---|
| 804 |
The default font used by Emacs (under X) is: |
|---|
| 805 |
|
|---|
| 806 |
@smallexample |
|---|
| 807 |
-adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1 |
|---|
| 808 |
@end smallexample |
|---|
| 809 |
|
|---|
| 810 |
A long font name has the following form: |
|---|
| 811 |
|
|---|
| 812 |
@smallexample |
|---|
| 813 |
-@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{} |
|---|
| 814 |
@dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{registry}-@var{encoding} |
|---|
| 815 |
@end smallexample |
|---|
| 816 |
|
|---|
| 817 |
@table @var |
|---|
| 818 |
@item maker |
|---|
| 819 |
This is the name of the font manufacturer. |
|---|
| 820 |
@item family |
|---|
| 821 |
This is the name of the font family---for example, @samp{courier}. |
|---|
| 822 |
@item weight |
|---|
| 823 |
This is normally @samp{bold}, @samp{medium} or @samp{light}. Other |
|---|
| 824 |
words may appear here in some font names. |
|---|
| 825 |
@item slant |
|---|
| 826 |
This is @samp{r} (roman), @samp{i} (italic), @samp{o} (oblique), |
|---|
| 827 |
@samp{ri} (reverse italic), or @samp{ot} (other). |
|---|
| 828 |
@item widthtype |
|---|
| 829 |
This is normally @samp{condensed}, @samp{extended}, @samp{semicondensed} |
|---|
| 830 |
or @samp{normal}. Other words may appear here in some font names. |
|---|
| 831 |
@item style |
|---|
| 832 |
This is an optional additional style name. Usually it is empty---most |
|---|
| 833 |
long font names have two hyphens in a row at this point. |
|---|
| 834 |
@item pixels |
|---|
| 835 |
This is the font height, in pixels. |
|---|
| 836 |
@item height |
|---|
| 837 |
This is the font height on the screen, measured in tenths of a printer's |
|---|
| 838 |
point---approximately 1/720 of an inch. In other words, it is the point |
|---|
| 839 |
size of the font, times ten. For a given vertical resolution, |
|---|
| 840 |
@var{height} and @var{pixels} are proportional; therefore, it is common |
|---|
| 841 |
to specify just one of them and use @samp{*} for the other. |
|---|
| 842 |
@item horiz |
|---|
| 843 |
This is the horizontal resolution, in pixels per inch, of the screen for |
|---|
| 844 |
which the font is intended. |
|---|
| 845 |
@item vert |
|---|
| 846 |
This is the vertical resolution, in pixels per inch, of the screen for |
|---|
| 847 |
which the font is intended. Normally the resolution of the fonts on |
|---|
| 848 |
your system is the right value for your screen; therefore, you normally |
|---|
| 849 |
specify @samp{*} for this and @var{horiz}. |
|---|
| 850 |
@item spacing |
|---|
| 851 |
This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c} |
|---|
| 852 |
(character cell). |
|---|
| 853 |
@item width |
|---|
| 854 |
This is the average character width, in pixels, multiplied by ten. |
|---|
| 855 |
@item registry |
|---|
| 856 |
@itemx encoding |
|---|
| 857 |
These together make up the X font character set that the font depicts. |
|---|
| 858 |
(X font character sets are not the same as Emacs charsets, but they |
|---|
| 859 |
are solutions for the same problem.) You can use the |
|---|
| 860 |
@command{xfontsel} program to check which choices you have. However, |
|---|
| 861 |
normally you should use @samp{iso8859} for @var{registry} and @samp{1} |
|---|
| 862 |
for @var{encoding}. |
|---|
| 863 |
@end table |
|---|
| 864 |
|
|---|
| 865 |
@cindex listing system fonts |
|---|
| 866 |
You will probably want to use a fixed-width default font---that is, |
|---|
| 867 |
a font in which all characters have the same width. Any font with |
|---|
| 868 |
@samp{m} or @samp{c} in the @var{spacing} field of the long name is a |
|---|
| 869 |
fixed-width font. Here's how to use the @command{xlsfonts} program to |
|---|
| 870 |
list all the fixed-width fonts available on your system: |
|---|
| 871 |
|
|---|
| 872 |
@example |
|---|
| 873 |
xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+" |
|---|
| 874 |
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*' |
|---|
| 875 |
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*' |
|---|
| 876 |
@end example |
|---|
| 877 |
|
|---|
| 878 |
@noindent |
|---|
| 879 |
To see what a particular font looks like, use the @command{xfd} command. |
|---|
| 880 |
For example: |
|---|
| 881 |
|
|---|
| 882 |
@example |
|---|
| 883 |
xfd -fn 6x13 |
|---|
| 884 |
@end example |
|---|
| 885 |
|
|---|
| 886 |
@noindent |
|---|
| 887 |
displays the entire font @samp{6x13}. |
|---|
| 888 |
|
|---|
| 889 |
While running Emacs, you can set the font of the current frame |
|---|
| 890 |
(@pxref{Frame Parameters}) or for a specific kind of text |
|---|
| 891 |
(@pxref{Faces}). |
|---|
| 892 |
|
|---|
| 893 |
@node Colors |
|---|
| 894 |
@appendixsec Window Color Options |
|---|
| 895 |
@cindex color of window, from command line |
|---|
| 896 |
@cindex text colors, from command line |
|---|
| 897 |
|
|---|
| 898 |
@findex list-colors-display |
|---|
| 899 |
@cindex available colors |
|---|
| 900 |
On a color display, you can specify which color to use for various |
|---|
| 901 |
parts of the Emacs display. To find out what colors are available on |
|---|
| 902 |
your system, type @kbd{M-x list-colors-display}, or press |
|---|
| 903 |
@kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu. |
|---|
| 904 |
(A particular window system might support many more colors, but the |
|---|
| 905 |
list displayed by @code{list-colors-display} shows their portable |
|---|
| 906 |
subset that can be safely used on any display supported by Emacs.) |
|---|
| 907 |
If you do not specify colors, on windowed displays the default for the |
|---|
| 908 |
background is white and the default for all other colors is black. On a |
|---|
| 909 |
monochrome display, the foreground is black, the background is white, |
|---|
| 910 |
and the border is gray if the display supports that. On terminals, the |
|---|
| 911 |
background is usually black and the foreground is white. |
|---|
| 912 |
|
|---|
| 913 |
Here is a list of the command-line options for specifying colors: |
|---|
| 914 |
|
|---|
| 915 |
@table @samp |
|---|
| 916 |
@item -fg @var{color} |
|---|
| 917 |
@opindex -fg |
|---|
| 918 |
@itemx --foreground-color=@var{color} |
|---|
| 919 |
@opindex --foreground-color |
|---|
| 920 |
@cindex foreground color, command-line argument |
|---|
| 921 |
Specify the foreground color. @var{color} should be a standard color |
|---|
| 922 |
name, or a numeric specification of the color's red, green, and blue |
|---|
| 923 |
components as in @samp{#4682B4} or @samp{RGB:46/82/B4}. |
|---|
| 924 |
@item -bg @var{color} |
|---|
| 925 |
@opindex -bg |
|---|
| 926 |
@itemx --background-color=@var{color} |
|---|
| 927 |
@opindex --background-color |
|---|
| 928 |
@cindex background color, command-line argument |
|---|
| 929 |
Specify the background color. |
|---|
| 930 |
@item -bd @var{color} |
|---|
| 931 |
@opindex -bd |
|---|
| 932 |
@itemx --border-color=@var{color} |
|---|
| 933 |
@opindex --border-color |
|---|
| 934 |
@cindex border color, command-line argument |
|---|
| 935 |
Specify the color of the border of the X window. |
|---|
| 936 |
@item -cr @var{color} |
|---|
| 937 |
@opindex -cr |
|---|
| 938 |
@itemx --cursor-color=@var{color} |
|---|
| 939 |
@opindex --cursor-color |
|---|
| 940 |
@cindex cursor color, command-line argument |
|---|
| 941 |
Specify the color of the Emacs cursor which indicates where point is. |
|---|
| 942 |
@item -ms @var{color} |
|---|
| 943 |
@opindex -ms |
|---|
| 944 |
@itemx --mouse-color=@var{color} |
|---|
| 945 |
@opindex --mouse-color |
|---|
| 946 |
@cindex mouse pointer color, command-line argument |
|---|
| 947 |
Specify the color for the mouse cursor when the mouse is in the Emacs window. |
|---|
| 948 |
@item -r |
|---|
| 949 |
@opindex -r |
|---|
| 950 |
@itemx -rv |
|---|
| 951 |
@opindex -rv |
|---|
| 952 |
@itemx --reverse-video |
|---|
| 953 |
@opindex --reverse-video |
|---|
| 954 |
@cindex reverse video, command-line argument |
|---|
| 955 |
Reverse video---swap the foreground and background colors. |
|---|
| 956 |
@item --color=@var{mode} |
|---|
| 957 |
@opindex --color |
|---|
| 958 |
@cindex standard colors on a character terminal |
|---|
| 959 |
@cindex override character terminal color support |
|---|
| 960 |
For a character terminal only, specify the mode of color support. |
|---|
| 961 |
This option is intended for overriding the number of supported colors |
|---|
| 962 |
that the character terminal advertises in its @code{termcap} or |
|---|
| 963 |
@code{terminfo} database. The parameter @var{mode} can be one of the |
|---|
| 964 |
following: |
|---|
| 965 |
@table @samp |
|---|
| 966 |
@item never |
|---|
| 967 |
@itemx no |
|---|
| 968 |
Don't use colors even if the terminal's capabilities specify color |
|---|
| 969 |
support. |
|---|
| 970 |
@item default |
|---|
| 971 |
@itemx auto |
|---|
| 972 |
Same as when @option{--color} is not used at all: Emacs detects at |
|---|
| 973 |
startup whether the terminal supports colors, and if it does, turns on |
|---|
| 974 |
colored display. |
|---|
| 975 |
@item always |
|---|
| 976 |
@itemx yes |
|---|
| 977 |
@itemx ansi8 |
|---|
| 978 |
Turn on the color support unconditionally, and use color commands |
|---|
| 979 |
specified by the ANSI escape sequences for the 8 standard colors. |
|---|
| 980 |
@item @var{num} |
|---|
| 981 |
Use color mode for @var{num} colors. If @var{num} is -1, turn off |
|---|
| 982 |
color support (equivalent to @samp{never}); if it is 0, use the |
|---|
| 983 |
default color support for this terminal (equivalent to @samp{auto}); |
|---|
| 984 |
otherwise use an appropriate standard mode for @var{num} colors. |
|---|
| 985 |
Depending on your terminal's capabilities, Emacs might be able to turn |
|---|
| 986 |
on a color mode for 8, 16, 88, or 256 as the value of @var{num}. If |
|---|
| 987 |
there is no mode that supports @var{num} colors, Emacs acts as if |
|---|
| 988 |
@var{num} were 0, i.e.@: it uses the terminal's default color support |
|---|
| 989 |
mode. |
|---|
| 990 |
@end table |
|---|
| 991 |
If @var{mode} is omitted, it defaults to @var{ansi8}. |
|---|
| 992 |
@end table |
|---|
| 993 |
|
|---|
| 994 |
For example, to use a coral mouse cursor and a slate blue text cursor, |
|---|
| 995 |
enter: |
|---|
| 996 |
|
|---|
| 997 |
@example |
|---|
| 998 |
emacs -ms coral -cr 'slate blue' & |
|---|
| 999 |
@end example |
|---|
| 1000 |
|
|---|
| 1001 |
You can reverse the foreground and background colors through the |
|---|
| 1002 |
@samp{-rv} option or with the X resource @samp{reverseVideo}. |
|---|
| 1003 |
|
|---|
| 1004 |
The @samp{-fg}, @samp{-bg}, and @samp{-rv} options function on |
|---|
| 1005 |
text-only terminals as well as on graphical displays. |
|---|
| 1006 |
|
|---|
| 1007 |
@node Window Size X |
|---|
| 1008 |
@appendixsec Options for Window Size and Position |
|---|
| 1009 |
@cindex geometry of Emacs window |
|---|
| 1010 |
@cindex position and size of Emacs frame |
|---|
| 1011 |
@cindex width and height of Emacs frame |
|---|
| 1012 |
@cindex specifying fullscreen for Emacs frame |
|---|
| 1013 |
|
|---|
| 1014 |
Here is a list of the command-line options for specifying size and |
|---|
| 1015 |
position of the initial Emacs frame: |
|---|
| 1016 |
|
|---|
| 1017 |
@table @samp |
|---|
| 1018 |
@item -g @var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]} |
|---|
| 1019 |
@opindex -g |
|---|
| 1020 |
@itemx --geometry=@var{width}x@var{height}@r{[@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}@r{]]} |
|---|
| 1021 |
@opindex --geometry |
|---|
| 1022 |
@cindex geometry, command-line argument |
|---|
| 1023 |
Specify the size @var{width} and @var{height} (measured in character |
|---|
| 1024 |
columns and lines), and positions @var{xoffset} and @var{yoffset} |
|---|
| 1025 |
(measured in pixels). The @var{width} and @var{height} parameters |
|---|
| 1026 |
apply to all frames, whereas @var{xoffset} and @var{yoffset} only to |
|---|
| 1027 |
the initial frame. |
|---|
| 1028 |
|
|---|
| 1029 |
@item -fs |
|---|
| 1030 |
@opindex -fs |
|---|
| 1031 |
@itemx --fullscreen |
|---|
| 1032 |
@opindex --fullscreen |
|---|
| 1033 |
@cindex fullscreen, command-line argument |
|---|
| 1034 |
Specify that width and height shall be the size of the screen. |
|---|
| 1035 |
|
|---|
| 1036 |
@item -fh |
|---|
| 1037 |
@opindex -fh |
|---|
| 1038 |
@itemx --fullheight |
|---|
| 1039 |
@opindex --fullheight |
|---|
| 1040 |
@cindex fullheight, command-line argument |
|---|
| 1041 |
Specify that the height shall be the height of the screen. |
|---|
| 1042 |
|
|---|
| 1043 |
@item -fw |
|---|
| 1044 |
@opindex -fw |
|---|
| 1045 |
@itemx --fullwidth |
|---|
| 1046 |
@opindex --fullwidth |
|---|
| 1047 |
@cindex fullwidth, command-line argument |
|---|
| 1048 |
Specify that the width shall be the width of the screen. |
|---|
| 1049 |
@end table |
|---|
| 1050 |
|
|---|
| 1051 |
|
|---|
| 1052 |
@noindent |
|---|
| 1053 |
In the @samp{--geometry} option, @code{@r{@{}+-@r{@}}} means either a plus |
|---|
| 1054 |
sign or a minus sign. A plus |
|---|
| 1055 |
sign before @var{xoffset} means it is the distance from the left side of |
|---|
| 1056 |
the screen; a minus sign means it counts from the right side. A plus |
|---|
| 1057 |
sign before @var{yoffset} means it is the distance from the top of the |
|---|
| 1058 |
screen, and a minus sign there indicates the distance from the bottom. |
|---|
| 1059 |
The values @var{xoffset} and @var{yoffset} may themselves be positive or |
|---|
| 1060 |
negative, but that doesn't change their meaning, only their direction. |
|---|
| 1061 |
|
|---|
| 1062 |
Emacs uses the same units as @command{xterm} does to interpret the geometry. |
|---|
| 1063 |
The @var{width} and @var{height} are measured in characters, so a large font |
|---|
| 1064 |
creates a larger frame than a small font. (If you specify a proportional |
|---|
| 1065 |
font, Emacs uses its maximum bounds width as the width unit.) The |
|---|
| 1066 |
@var{xoffset} and @var{yoffset} are measured in pixels. |
|---|
| 1067 |
|
|---|
| 1068 |
You do not have to specify all of the fields in the geometry |
|---|
| 1069 |
specification. If you omit both @var{xoffset} and @var{yoffset}, the |
|---|
| 1070 |
window manager decides where to put the Emacs frame, possibly by |
|---|
| 1071 |
letting you place it with the mouse. For example, @samp{164x55} |
|---|
| 1072 |
specifies a window 164 columns wide, enough for two ordinary width |
|---|
| 1073 |
windows side by side, and 55 lines tall. |
|---|
| 1074 |
|
|---|
| 1075 |
The default width for Emacs is 80 characters and the default height is |
|---|
| 1076 |
40 lines. You can omit either the width or the height or both. If |
|---|
| 1077 |
you start the geometry with an integer, Emacs interprets it as the |
|---|
| 1078 |
width. If you start with an @samp{x} followed by an integer, Emacs |
|---|
| 1079 |
interprets it as the height. Thus, @samp{81} specifies just the width; |
|---|
| 1080 |
@samp{x45} specifies just the height. |
|---|
| 1081 |
|
|---|
| 1082 |
If you start with @samp{+} or @samp{-}, that introduces an offset, |
|---|
| 1083 |
which means both sizes are omitted. Thus, @samp{-3} specifies the |
|---|
| 1084 |
@var{xoffset} only. (If you give just one offset, it is always |
|---|
| 1085 |
@var{xoffset}.) @samp{+3-3} specifies both the @var{xoffset} and the |
|---|
| 1086 |
@var{yoffset}, placing the frame near the bottom left of the screen. |
|---|
| 1087 |
|
|---|
| 1088 |
You can specify a default for any or all of the fields in |
|---|
| 1089 |
@file{.Xdefaults} file, and then override selected fields with a |
|---|
| 1090 |
@samp{--geometry} option. |
|---|
| 1091 |
|
|---|
| 1092 |
Since the mode line and the echo area occupy the last 2 lines of the |
|---|
| 1093 |
frame, the height of the initial text window is 2 less than the height |
|---|
| 1094 |
specified in your geometry. In non-X-toolkit versions of Emacs, the |
|---|
| 1095 |
menu bar also takes one line of the specified number. But in the X |
|---|
| 1096 |
toolkit version, the menu bar is additional and does not count against |
|---|
| 1097 |
the specified height. The tool bar, if present, is also additional. |
|---|
| 1098 |
|
|---|
| 1099 |
Enabling or disabling the menu bar or tool bar alters the amount of |
|---|
| 1100 |
space available for ordinary text. Therefore, if Emacs starts up with |
|---|
| 1101 |
a tool bar (which is the default), and handles the geometry |
|---|
| 1102 |
specification assuming there is a tool bar, and then your |
|---|
| 1103 |
@file{~/.emacs} file disables the tool bar, you will end up with a |
|---|
| 1104 |
frame geometry different from what you asked for. To get the intended |
|---|
| 1105 |
size with no tool bar, use an X resource to specify ``no tool bar'' |
|---|
| 1106 |
(@pxref{Table of Resources}); then Emacs will already know there's no |
|---|
| 1107 |
tool bar when it processes the specified geometry. |
|---|
| 1108 |
|
|---|
| 1109 |
When using one of @samp{--fullscreen}, @samp{--fullwidth} or |
|---|
| 1110 |
@samp{--fullheight} there may be some space around the frame |
|---|
| 1111 |
anyway. That is because Emacs rounds the sizes so they are an |
|---|
| 1112 |
even number of character heights and widths. |
|---|
| 1113 |
|
|---|
| 1114 |
Some window managers have options that can make them ignore both |
|---|
| 1115 |
program-specified and user-specified positions (sawfish is one). |
|---|
| 1116 |
If these are set, Emacs fails to position the window correctly. |
|---|
| 1117 |
|
|---|
| 1118 |
@node Borders X |
|---|
| 1119 |
@appendixsec Internal and External Borders |
|---|
| 1120 |
@cindex borders (X Window System) |
|---|
| 1121 |
|
|---|
| 1122 |
An Emacs frame has an internal border and an external border. The |
|---|
| 1123 |
internal border is an extra strip of the background color around the |
|---|
| 1124 |
text portion of the frame. Emacs itself draws the internal border. |
|---|
| 1125 |
The external border is added by the window manager outside the frame; |
|---|
| 1126 |
depending on the window manager you use, it may contain various boxes |
|---|
| 1127 |
you can click on to move or iconify the window. |
|---|
| 1128 |
|
|---|
| 1129 |
@table @samp |
|---|
| 1130 |
@item -ib @var{width} |
|---|
| 1131 |
@opindex -ib |
|---|
| 1132 |
@itemx --internal-border=@var{width} |
|---|
| 1133 |
@opindex --internal-border |
|---|
| 1134 |
@cindex internal border width, command-line argument |
|---|
| 1135 |
Specify @var{width} as the width of the internal border (between the text |
|---|
| 1136 |
and the main border), in pixels. |
|---|
| 1137 |
|
|---|
| 1138 |
@item -bw @var{width} |
|---|
| 1139 |
@opindex -bw |
|---|
| 1140 |
@itemx --border-width=@var{width} |
|---|
| 1141 |
@opindex --border-width |
|---|
| 1142 |
@cindex main border width, command-line argument |
|---|
| 1143 |
Specify @var{width} as the width of the main border, in pixels. |
|---|
| 1144 |
@end table |
|---|
| 1145 |
|
|---|
| 1146 |
When you specify the size of the frame, that does not count the |
|---|
| 1147 |
borders. The frame's position is measured from the outside edge of the |
|---|
| 1148 |
external border. |
|---|
| 1149 |
|
|---|
| 1150 |
Use the @samp{-ib @var{n}} option to specify an internal border |
|---|
| 1151 |
@var{n} pixels wide. The default is 1. Use @samp{-bw @var{n}} to |
|---|
| 1152 |
specify the width of the external border (though the window manager may |
|---|
| 1153 |
not pay attention to what you specify). The default width of the |
|---|
| 1154 |
external border is 2. |
|---|
| 1155 |
|
|---|
| 1156 |
@node Title X |
|---|
| 1157 |
@appendixsec Frame Titles |
|---|
| 1158 |
|
|---|
| 1159 |
An Emacs frame may or may not have a specified title. The frame |
|---|
| 1160 |
title, if specified, appears in window decorations and icons as the |
|---|
| 1161 |
name of the frame. If an Emacs frame has no specified title, the |
|---|
| 1162 |
default title has the form @samp{@var{invocation-name}@@@var{machine}} |
|---|
| 1163 |
(if there is only one frame) or the selected window's buffer name (if |
|---|
| 1164 |
there is more than one frame). |
|---|
| 1165 |
|
|---|
| 1166 |
You can specify a title for the initial Emacs frame with a command |
|---|
| 1167 |
line option: |
|---|
| 1168 |
|
|---|
| 1169 |
@table @samp |
|---|
| 1170 |
@item -T @var{title} |
|---|
| 1171 |
@opindex -T |
|---|
| 1172 |
@itemx --title=@var{title} |
|---|
| 1173 |
@opindex --title |
|---|
| 1174 |
@cindex frame title, command-line argument |
|---|
| 1175 |
Specify @var{title} as the title for the initial Emacs frame. |
|---|
| 1176 |
@end table |
|---|
| 1177 |
|
|---|
| 1178 |
The @samp{--name} option (@pxref{Resources}) also specifies the title |
|---|
| 1179 |
for the initial Emacs frame. |
|---|
| 1180 |
|
|---|
| 1181 |
@node Icons X |
|---|
| 1182 |
@appendixsec Icons |
|---|
| 1183 |
@cindex icons (X Window System) |
|---|
| 1184 |
|
|---|
| 1185 |
Most window managers allow you to ``iconify'' a frame, removing |
|---|
| 1186 |
it from sight, and leaving a small, distinctive ``icon'' window in its |
|---|
| 1187 |
place. Clicking on the icon window makes the frame itself appear again. |
|---|
| 1188 |
If you have many clients running at once, you can avoid cluttering up |
|---|
| 1189 |
the screen by iconifying most of the clients. |
|---|
| 1190 |
|
|---|
| 1191 |
@table @samp |
|---|
| 1192 |
@item -nbi |
|---|
| 1193 |
@opindex -nbi |
|---|
| 1194 |
@itemx --no-bitmap-icon |
|---|
| 1195 |
@opindex --no-bitmap-icon |
|---|
| 1196 |
@cindex Emacs icon, a gnu |
|---|
| 1197 |
Do not use a picture of a gnu as the Emacs icon. |
|---|
| 1198 |
|
|---|
| 1199 |
@item -iconic |
|---|
| 1200 |
@opindex --iconic |
|---|
| 1201 |
@itemx --iconic |
|---|
| 1202 |
@cindex start iconified, command-line argument |
|---|
| 1203 |
Start Emacs in iconified state. |
|---|
| 1204 |
@end table |
|---|
| 1205 |
|
|---|
| 1206 |
By default Emacs uses an icon window containing a picture of the GNU gnu. |
|---|
| 1207 |
The @samp{-nbi} or @samp{--no-bitmap-icon} option tells Emacs to let the |
|---|
| 1208 |
window manager choose what sort of icon to use---usually just a small |
|---|
| 1209 |
rectangle containing the frame's title. |
|---|
| 1210 |
|
|---|
| 1211 |
|---|