25829
|
1 @c This is part of the Emacs manual.
|
|
2 @c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
|
|
3 @c See file emacs.texi for copying conditions.
|
|
4 @node Command Arguments, Antinews, Service, Top
|
|
5 @appendix Command Line Arguments
|
|
6 @cindex command line arguments
|
|
7 @cindex arguments (command line)
|
|
8 @cindex options (command line)
|
|
9 @cindex switches (command line)
|
|
10 @cindex startup (command line arguments)
|
|
11
|
|
12 GNU Emacs supports command line arguments to request various actions
|
|
13 when invoking Emacs. These are for compatibility with other editors and
|
|
14 for sophisticated activities. We don't recommend using them for
|
|
15 ordinary editing.
|
|
16
|
|
17 Arguments starting with @samp{-} are @dfn{options}. Other arguments
|
|
18 specify files to visit. Emacs visits the specified files while it
|
|
19 starts up. The last file name on your command line becomes the current
|
|
20 buffer; the other files are also present in other buffers. As usual,
|
|
21 the special argument @samp{--} says that all subsequent arguments
|
|
22 are file names, not options, even if they start with @samp{-}.
|
|
23
|
|
24 Emacs command options can specify many things, such as the size and
|
|
25 position of the X window Emacs uses, its colors, and so on. A few
|
|
26 options support advanced usage, such as running Lisp functions on files
|
|
27 in batch mode. The sections of this chapter describe the available
|
|
28 options, arranged according to their purpose.
|
|
29
|
|
30 There are two ways of writing options: the short forms that start with
|
|
31 a single @samp{-}, and the long forms that start with @samp{--}. For
|
|
32 example, @samp{-d} is a short form and @samp{--display} is the
|
|
33 corresponding long form.
|
|
34
|
|
35 The long forms with @samp{--} are easier to remember, but longer to
|
|
36 type. However, you don't have to spell out the whole option name; any
|
|
37 unambiguous abbreviation is enough. When a long option takes an
|
|
38 argument, you can use either a space or an equal sign to separate the
|
|
39 option name and the argument. Thus, you can write either
|
|
40 @samp{--display sugar-bombs:0.0} or @samp{--display=sugar-bombs:0.0}.
|
|
41 We recommend an equal sign because it makes the relationship clearer,
|
|
42 and the tables below always show an equal sign.
|
|
43
|
|
44 @cindex initial options (command line)
|
|
45 @cindex action options (command line)
|
|
46 Most options specify how to initialize Emacs, or set parameters for
|
|
47 the Emacs session. We call them @dfn{initial options}. A few options
|
|
48 specify things to do: for example, load libraries, call functions, or
|
|
49 exit Emacs. These are called @dfn{action options}. These and file
|
|
50 names together are called @dfn{action arguments}. Emacs processes all
|
|
51 the action arguments in the order they are written.
|
|
52
|
|
53 @menu
|
|
54 * Action Arguments:: Arguments to visit files, load libraries,
|
|
55 and call functions.
|
|
56 * Initial Options:: Arguments that take effect while starting Emacs.
|
|
57 * Command Example:: Examples of using command line arguments.
|
|
58 * Resume Arguments:: Specifying arguments when you resume a running Emacs.
|
|
59 * Environment:: Environment variables that Emacs uses.
|
|
60
|
|
61 * Display X:: Changing the default display and using remote login.
|
|
62 * Font X:: Choosing a font for text, under X.
|
|
63 * Colors X:: Choosing colors, under X.
|
|
64 * Window Size X:: Start-up window size, under X.
|
|
65 * Borders X:: Internal and external borders, under X.
|
|
66 * Title X:: Specifying the initial frame's title.
|
|
67 * Icons X:: Choosing what sort of icon to use, under X.
|
|
68 * Resources X:: Advanced use of classes and resources, under X.
|
|
69 * Lucid Resources:: X resources for Lucid menus.
|
|
70 * Motif Resources:: X resources for Motif menus.
|
|
71 @end menu
|
|
72
|
|
73 @node Action Arguments
|
|
74 @appendixsec Action Arguments
|
|
75
|
|
76 Here is a table of the action arguments and options:
|
|
77
|
|
78 @table @samp
|
|
79 @item @var{file}
|
|
80 Visit @var{file} using @code{find-file}. @xref{Visiting}.
|
|
81
|
|
82 @item +@var{linenum} @var{file}
|
|
83 Visit @var{file} using @code{find-file}, then go to line number
|
|
84 @var{linenum} in it.
|
|
85
|
|
86 @need 3000
|
|
87 @item -l @var{file}
|
|
88 @itemx --load=@var{file}
|
|
89 Load a Lisp library named @var{file} with the function @code{load}.
|
|
90 @xref{Lisp Libraries}. The library can be found either in the current
|
|
91 directory, or in the Emacs library search path as specified
|
|
92 with @code{EMACSLOADPATH} (@pxref{General Variables}).
|
|
93
|
|
94 @item -f @var{function}
|
|
95 @itemx --funcall=@var{function}
|
|
96 Call Lisp function @var{function} with no arguments.
|
|
97
|
|
98 @item --eval @var{expression}
|
|
99 Evaluate Lisp expression @var{expression}.
|
|
100
|
|
101 @item --insert=@var{file}
|
|
102 Insert the contents of @var{file} into the current buffer. This is like
|
|
103 what @kbd{M-x insert-file} does. @xref{Misc File Ops}.
|
|
104
|
|
105 @item --kill
|
|
106 Exit from Emacs without asking for confirmation.
|
|
107 @end table
|
|
108
|
|
109 @vindex command-line-args
|
|
110 The init file can access the values of the action arguments as the
|
|
111 elements of a list in the variable @code{command-line-args}. The init
|
|
112 file can override the normal processing of the action arguments, or
|
|
113 define new ones, by reading and setting this variable.
|
|
114
|
|
115 @node Initial Options
|
|
116 @appendixsec Initial Options
|
|
117
|
|
118 The initial options specify parameters for the Emacs session. This
|
|
119 section describes the more general initial options; some other options
|
|
120 specifically related to X Windows appear in the following sections.
|
|
121
|
|
122 Some initial options affect the loading of init files. The normal
|
|
123 actions of Emacs are to first load @file{site-start.el} if it exists,
|
|
124 then your own init file @file{~/.emacs} if it exists, and finally
|
|
125 @file{default.el} if it exists; certain options prevent loading of some
|
|
126 of these files or substitute other files for them.
|
|
127
|
|
128 @table @samp
|
|
129 @item -t @var{device}
|
|
130 @itemx --terminal=@var{device}
|
|
131 Use @var{device} as the device for terminal input and output.
|
|
132
|
|
133 @item -d @var{display}
|
|
134 @itemx --display=@var{display}
|
|
135 Use the X Window System and use the display named @var{display} to open
|
|
136 the initial Emacs frame.
|
|
137
|
|
138 @item -nw
|
|
139 @itemx --no-windows
|
|
140 Don't communicate directly with X, disregarding the @code{DISPLAY}
|
|
141 environment variable even if it is set.
|
|
142
|
|
143 @need 3000
|
|
144 @cindex batch mode
|
|
145 @item -batch
|
|
146 @itemx --batch
|
|
147 Run Emacs in @dfn{batch mode}, which means that the text being edited is
|
|
148 not displayed and the standard terminal interrupt characters such as
|
|
149 @kbd{C-z} and @kbd{C-c} continue to have their normal effect. Emacs in
|
|
150 batch mode outputs to @code{stderr} only what would normally be printed
|
|
151 in the echo area under program control.
|
|
152
|
|
153 Batch mode is used for running programs written in Emacs Lisp from
|
|
154 shell scripts, makefiles, and so on. Normally the @samp{-l} option
|
|
155 or @samp{-f} option will be used as well, to invoke a Lisp program
|
|
156 to do the batch processing.
|
|
157
|
|
158 @samp{-batch} implies @samp{-q} (do not load an init file). It also causes
|
|
159 Emacs to kill itself after all command options have been processed. In
|
|
160 addition, auto-saving is not done except in buffers for which it has been
|
|
161 explicitly requested.
|
|
162
|
|
163 @item -q
|
|
164 @itemx --no-init-file
|
|
165 Do not load your Emacs init file @file{~/.emacs}, or @file{default.el}
|
|
166 either.
|
|
167
|
|
168 @item --no-site-file
|
|
169 Do not load @file{site-start.el}. The options @samp{-q}, @samp{-u}
|
|
170 and @samp{-batch} have no effect on the loading of this file---this is
|
|
171 the only option that blocks it.
|
|
172
|
|
173 @item -u @var{user}
|
|
174 @itemx --user=@var{user}
|
|
175 Load @var{user}'s Emacs init file @file{~@var{user}/.emacs} instead of
|
|
176 your own.
|
|
177
|
|
178 @item --debug-init
|
|
179 Enable the Emacs Lisp debugger for errors in the init file.
|
|
180
|
|
181 @item --unibyte
|
|
182 @cindex unibyte operation
|
|
183 Set up to do almost everything with single-byte buffers and strings.
|
|
184 All buffers and strings are unibyte unless you (or a Lisp program)
|
|
185 explicitly ask for a multibyte buffer or string. Setting the
|
|
186 environment variable @code{EMACS_UNIBYTE} has the same effect.
|
|
187
|
|
188 @item --multibyte
|
|
189 Inhibit the effect of @code{EMACS_UNIBYTE}, so that Emacs
|
|
190 uses multibyte characters by default, as usual.
|
|
191 @end table
|
|
192
|
|
193 @node Command Example
|
|
194 @appendixsec Command Argument Example
|
|
195
|
|
196 Here is an example of using Emacs with arguments and options. It
|
|
197 assumes you have a Lisp program file called @file{hack-c.el} which, when
|
|
198 loaded, performs some useful operation on the current buffer, expected
|
|
199 to be a C program.
|
|
200
|
|
201 @example
|
|
202 emacs -batch foo.c -l hack-c -f save-buffer >& log
|
|
203 @end example
|
|
204
|
|
205 @noindent
|
|
206 This says to visit @file{foo.c}, load @file{hack-c.el} (which makes
|
|
207 changes in the visited file), save @file{foo.c} (note that
|
|
208 @code{save-buffer} is the function that @kbd{C-x C-s} is bound to), and
|
|
209 then exit back to the shell (because of @samp{-batch}). @samp{-batch}
|
|
210 also guarantees there will be no problem redirecting output to
|
|
211 @file{log}, because Emacs will not assume that it has a display terminal
|
|
212 to work with.
|
|
213
|
|
214 @node Resume Arguments
|
|
215 @appendixsec Resuming Emacs with Arguments
|
|
216
|
|
217 You can specify action arguments for Emacs when you resume it after
|
|
218 a suspension. To prepare for this, put the following code in your
|
|
219 @file{.emacs} file (@pxref{Hooks}):
|
|
220
|
|
221 @example
|
|
222 (add-hook 'suspend-hook 'resume-suspend-hook)
|
|
223 (add-hook 'suspend-resume-hook 'resume-process-args)
|
|
224 @end example
|
|
225
|
|
226 As further preparation, you must execute the shell script
|
|
227 @file{emacs.csh} (if you use csh as your shell) or @file{emacs.bash} (if
|
|
228 you use bash as your shell). These scripts define an alias named
|
|
229 @code{edit}, which will resume Emacs giving it new command line
|
|
230 arguments such as files to visit.
|
|
231
|
|
232 Only action arguments work properly when you resume Emacs. Initial
|
|
233 arguments are not recognized---it's too late to execute them anyway.
|
|
234
|
|
235 Note that resuming Emacs (with or without arguments) must be done from
|
|
236 within the shell that is the parent of the Emacs job. This is why
|
|
237 @code{edit} is an alias rather than a program or a shell script. It is
|
|
238 not possible to implement a resumption command that could be run from
|
|
239 other subjobs of the shell; no way to define a command that could be
|
|
240 made the value of @code{EDITOR}, for example. Therefore, this feature
|
|
241 does not take the place of the Emacs Server feature (@pxref{Emacs
|
|
242 Server}).
|
|
243
|
|
244 The aliases use the Emacs Server feature if you appear to have a
|
|
245 server Emacs running. However, they cannot determine this with complete
|
|
246 accuracy. They may think that a server is still running when in
|
|
247 actuality you have killed that Emacs, because the file
|
|
248 @file{/tmp/.esrv@dots{}} still exists. If this happens, find that
|
|
249 file and delete it.
|
|
250
|
|
251 @node Environment
|
|
252 @appendixsec Environment Variables
|
|
253 @cindex environment variables
|
|
254
|
|
255 This appendix describes how Emacs uses environment variables. An
|
|
256 environment variable is a string passed from the operating system to
|
|
257 Emacs, and the collection of environment variables is known as the
|
|
258 environment. Environment variable names are case sensitive and it is
|
|
259 conventional to use upper case letters only.
|
|
260
|
|
261 Because environment variables come from the operating system there is no
|
|
262 general way to set them; it depends on the operating system and
|
|
263 especially the shell that you are using. For example, here's how to set
|
|
264 the environment variable @code{ORGANIZATION} to @samp{not very much}
|
|
265 using bash:
|
|
266
|
|
267 @example
|
|
268 export ORGANIZATION="not very much"
|
|
269 @end example
|
|
270
|
|
271 @noindent
|
|
272 and here's how to do it in csh or tcsh:
|
|
273
|
|
274 @example
|
|
275 setenv ORGANIZATION "not very much"
|
|
276 @end example
|
|
277
|
|
278 When Emacs is set-up to use the X windowing system, it inherits the
|
|
279 use of a large number of environment variables from the X library. See
|
|
280 the X documentation for more information.
|
|
281
|
|
282 @menu
|
|
283 * General Variables:: Environment variables that all versions of Emacs use.
|
|
284 * Misc Variables:: Certain system-specific variables.
|
|
285 @end menu
|
|
286
|
|
287 @node General Variables
|
|
288 @appendixsubsec General Variables
|
|
289
|
|
290 @table @code
|
|
291 @item AUTHORCOPY
|
|
292 The name of a file used to archive news articles posted with the @sc{gnus}
|
|
293 package.
|
|
294 @item CDPATH
|
|
295 Used by the @code{cd} command to search for the directory you specify,
|
|
296 when you specify a relative directory name.
|
|
297 @item DOMAINNAME
|
|
298 The name of the Internet domain that the machine running Emacs is
|
|
299 located in. Used by the @sc{gnus} package.
|
|
300 @item EMACS_UNIBYTE
|
|
301 @cindex unibyte operation
|
|
302 Defining this environment variable directs Emacs to do almost everything
|
|
303 with single-byte buffers and strings. It is equivalent to using the
|
|
304 @samp{--unibyte} command-line option on each invocation. @xref{Initial
|
|
305 Options}.
|
|
306 @item EMACSDATA
|
|
307 Used to initialize the variable @code{data-directory} used to locate the
|
|
308 architecture-independent files that come with Emacs. Setting this
|
|
309 variable overrides the setting in @file{paths.h} when Emacs was built.
|
|
310 @item EMACSLOADPATH
|
|
311 A colon-separated list of directories from which to load Emacs Lisp
|
|
312 files. Setting this variable overrides the setting in @file{paths.h}
|
|
313 when Emacs was built.
|
|
314 @item EMACSLOCKDIR
|
|
315 The directory that Emacs places lock files---files used to protect
|
|
316 users from editing the same files simultaneously. Setting this variable
|
|
317 overrides the setting in @file{paths.h} when Emacs was built.
|
|
318 @item EMACSPATH
|
|
319 The location of Emacs-specific binaries. Setting this variable
|
|
320 overrides the setting in @file{paths.h} when Emacs was built.
|
|
321 @item ESHELL
|
|
322 Used for shell-mode to override the @code{SHELL} environment variable.
|
|
323 @item HISTFILE
|
|
324 The name of the file that shell commands are saved in between logins.
|
|
325 This variable defaults to @file{~/.history} if you use (t)csh as shell,
|
|
326 to @file{~/.bash_history} if you use bash, to @file{~/.sh_history} if
|
|
327 you use ksh, and to @file{~/.history} otherwise.
|
|
328 @item HOME
|
|
329 The location of the user's files in the directory tree; used for
|
|
330 expansion of file names starting with a tilde (@file{~}). On MS-DOS, it
|
|
331 defaults to the directory from which Emacs was started, with @samp{/bin}
|
|
332 removed from the end if it was present.
|
|
333 @item HOSTNAME
|
|
334 The name of the machine that Emacs is running on.
|
|
335 @item INCPATH
|
|
336 A colon-separated list of directories. Used by the @code{complete} package
|
|
337 to search for files.
|
|
338 @item INFOPATH
|
|
339 A colon-separated list of directories holding info files. Setting this
|
|
340 variable overrides the setting in @file{paths.el} when Emacs was built.
|
|
341 @item LANG
|
|
342 @itemx LC_ALL
|
|
343 @itemx LC_CTYPE
|
|
344 The user's preferred locale. A locale name which contains
|
|
345 @samp{8859-@var{n}}, @samp{8859_@var{n}} or @samp{8859@var{n}}, where
|
|
346 @var{n} is between 1 and 4, automatically specifies the
|
|
347 @samp{Latin-@var{n}} language environment when Emacs starts up. If
|
|
348 @var{n} is 9, that specifies @samp{Latin-5}.
|
|
349 @item LOGNAME
|
|
350 The user's login name. See also @code{USER}.
|
|
351 @item MAIL
|
|
352 The name of the user's system mail inbox.
|
|
353 @item MAILRC
|
|
354 Name of file containing mail aliases. This defaults to
|
|
355 @file{~/.mailrc}.
|
|
356 @item MH
|
|
357 Name of setup file for the mh system. This defaults to
|
|
358 @file{~/.mh_profile}.
|
|
359 @item NAME
|
|
360 The real-world name of the user.
|
|
361 @item NNTPSERVER
|
|
362 The name of the news server. Used by the mh and @sc{gnus} packages.
|
|
363 @item ORGANIZATION
|
|
364 The name of the organization to which you belong. Used for setting the
|
|
365 `Organization:' header in your posts from the @sc{gnus} package.
|
|
366 @item PATH
|
|
367 A colon-separated list of directories in which executables reside. (On
|
|
368 MS-DOS, it is semicolon-separated instead.) This variable is used to
|
|
369 set the Emacs Lisp variable @code{exec-path} which you should consider
|
|
370 to use instead.
|
|
371 @item PWD
|
|
372 If set, this should be the default directory when Emacs was started.
|
|
373 @item REPLYTO
|
|
374 If set, this specifies an initial value for the variable
|
|
375 @code{mail-default-reply-to}. @xref{Mail Headers}.
|
|
376 @item SAVEDIR
|
|
377 The name of a directory in which news articles are saved by default.
|
|
378 Used by the @sc{gnus} package.
|
|
379 @item SHELL
|
|
380 The name of an interpreter used to parse and execute programs run from
|
|
381 inside Emacs.
|
|
382 @item TERM
|
|
383 The name of the terminal that Emacs is running on. The variable must be
|
|
384 set unless Emacs is run in batch mode. On MS-DOS, it defaults to
|
|
385 @samp{internal}, which specifies a built-in terminal emulation that
|
|
386 handles the machine's own display.
|
|
387 @item TERMCAP
|
|
388 The name of the termcap library file describing how to program the
|
|
389 terminal specified by the @code{TERM} variable. This defaults to
|
|
390 @file{/etc/termcap}.
|
|
391 @item TMPDIR
|
|
392 Used by the Emerge package as a prefix for temporary files.
|
|
393 @item TZ
|
|
394 This specifies the current time zone and possibly also daylight savings
|
|
395 information. On MS-DOS, the default is based on country code; see the
|
|
396 file @file{msdos.c} for details.
|
|
397 @item USER
|
|
398 The user's login name. See also @code{LOGNAME}. On MS-DOS, this
|
|
399 defaults to @samp{root}.
|
|
400 @item VERSION_CONTROL
|
|
401 Used to initialize the @code{version-control} variable (@pxref{Backup
|
|
402 Names}).
|
|
403 @end table
|
|
404
|
|
405 @node Misc Variables
|
|
406 @appendixsubsec Miscellaneous Variables
|
|
407
|
|
408 These variables are used only on particular configurations:
|
|
409
|
|
410 @table @code
|
|
411 @item COMSPEC
|
|
412 On MS-DOS, the name of the command interpreter to use. This is used to
|
|
413 make a default value for the @code{SHELL} environment variable.
|
|
414
|
|
415 @item NAME
|
|
416 On MS-DOS, this variable defaults to the value of the @code{USER}
|
|
417 variable.
|
|
418
|
|
419 @item TEMP
|
|
420 @itemx TMP
|
|
421 On MS-DOS, these specify the name of the directory for storing temporary
|
|
422 files in.
|
|
423
|
|
424 @item EMACSTEST
|
|
425 On MS-DOS, this specifies a file to use to log the operation of the
|
|
426 internal terminal emulator. This feature is useful for submitting bug
|
|
427 reports.
|
|
428
|
|
429 @item EMACSCOLORS
|
|
430 Used on MS-DOS systems to set screen colors early, so that the screen
|
|
431 won't momentarily flash the default colors when Emacs starts up. The
|
|
432 value of this variable should be two-character encoding of the
|
|
433 foreground (the first character) and the background (the second
|
|
434 character) colors of the default face. Each character should be the
|
|
435 hexadecimal code for the desired color on a standard PC text-mode
|
|
436 display.
|
|
437
|
|
438 The PC display usually supports only eight background colors. However,
|
|
439 Emacs switches the DOS display to a mode where all 16 colors can be used
|
|
440 for the background, so all four bits of the background color are
|
|
441 actually used.
|
|
442
|
|
443 @item WINDOW_GFX
|
|
444 Used when initializing the Sun windows system.
|
|
445 @end table
|
|
446
|
|
447 @node Display X
|
|
448 @appendixsec Specifying the Display Name
|
|
449 @cindex display name (X Windows)
|
|
450 @cindex @code{DISPLAY} environment variable
|
|
451
|
|
452 The environment variable @code{DISPLAY} tells all X clients, including
|
|
453 Emacs, where to display their windows. Its value is set up by default
|
|
454 in ordinary circumstances, when you start an X server and run jobs
|
|
455 locally. Occasionally you may need to specify the display yourself; for
|
|
456 example, if you do a remote login and want to run a client program
|
|
457 remotely, displaying on your local screen.
|
|
458
|
|
459 With Emacs, the main reason people change the default display is to
|
|
460 let them log into another system, run Emacs on that system, but have the
|
|
461 window displayed at their local terminal. You might need to use login
|
|
462 to another system because the files you want to edit are there, or
|
|
463 because the Emacs executable file you want to run is there.
|
|
464
|
|
465 The syntax of the @code{DISPLAY} environment variable is
|
|
466 @samp{@var{host}:@var{display}.@var{screen}}, where @var{host} is the
|
|
467 host name of the X Window System server machine, @var{display} is an
|
|
468 arbitrarily-assigned number that distinguishes your server (X terminal)
|
|
469 from other servers on the same machine, and @var{screen} is a
|
|
470 rarely-used field that allows an X server to control multiple terminal
|
|
471 screens. The period and the @var{screen} field are optional. If
|
|
472 included, @var{screen} is usually zero.
|
|
473
|
|
474 For example, if your host is named @samp{glasperle} and your server is
|
|
475 the first (or perhaps the only) server listed in the configuration, your
|
|
476 @code{DISPLAY} is @samp{glasperle:0.0}.
|
|
477
|
|
478 You can specify the display name explicitly when you run Emacs, either
|
|
479 by changing the @code{DISPLAY} variable, or with the option @samp{-d
|
|
480 @var{display}} or @samp{--display=@var{display}}. Here is an example:
|
|
481
|
|
482 @smallexample
|
|
483 emacs --display=glasperle:0 &
|
|
484 @end smallexample
|
|
485
|
|
486 You can inhibit the direct use of X with the @samp{-nw} option. This
|
|
487 is also an initial option. It tells Emacs to display using ordinary
|
|
488 ASCII on its controlling terminal.
|
|
489
|
|
490 Sometimes, security arrangements prevent a program on a remote system
|
|
491 from displaying on your local system. In this case, trying to run Emacs
|
|
492 produces messages like this:
|
|
493
|
|
494 @smallexample
|
|
495 Xlib: connection to "glasperle:0.0" refused by server
|
|
496 @end smallexample
|
|
497
|
|
498 @noindent
|
|
499 You might be able to overcome this problem by using the @code{xhost}
|
|
500 command on the local system to give permission for access from your
|
|
501 remote machine.
|
|
502
|
|
503 @node Font X
|
|
504 @appendixsec Font Specification Options
|
|
505 @cindex font name (X Windows)
|
|
506
|
|
507 By default, Emacs displays text in the font named @samp{9x15}, which
|
|
508 makes each character nine pixels wide and fifteen pixels high. You can
|
|
509 specify a different font on your command line through the option
|
|
510 @samp{-fn @var{name}}.
|
|
511
|
|
512 @table @samp
|
|
513 @item -fn @var{name}
|
|
514 Use font @var{name} as the default font.
|
|
515
|
|
516 @item --font=@var{name}
|
|
517 @samp{--font} is an alias for @samp{-fn}.
|
|
518 @end table
|
|
519
|
|
520 Under X, each font has a long name which consists of eleven words or
|
|
521 numbers, separated by dashes. Some fonts also have shorter
|
|
522 nicknames---@samp{9x15} is such a nickname. You can use either kind of
|
|
523 name. You can use wildcard patterns for the font name; then Emacs lets
|
|
524 X choose one of the fonts that match the pattern. Here is an example,
|
|
525 which happens to specify the font whose nickname is @samp{6x13}:
|
|
526
|
|
527 @smallexample
|
|
528 emacs -fn "-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1" &
|
|
529 @end smallexample
|
|
530
|
|
531 @noindent
|
|
532 You can also specify the font in your @file{.Xdefaults} file:
|
|
533
|
|
534 @smallexample
|
|
535 emacs.font: -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1
|
|
536 @end smallexample
|
|
537
|
|
538 A long font name has the following form:
|
|
539
|
|
540 @smallexample
|
|
541 -@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{}
|
|
542 @dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{charset}
|
|
543 @end smallexample
|
|
544
|
|
545 @table @var
|
|
546 @item family
|
|
547 This is the name of the font family---for example, @samp{courier}.
|
|
548 @item weight
|
|
549 This is normally @samp{bold}, @samp{medium} or @samp{light}. Other
|
|
550 words may appear here in some font names.
|
|
551 @item slant
|
|
552 This is @samp{r} (roman), @samp{i} (italic), @samp{o} (oblique),
|
|
553 @samp{ri} (reverse italic), or @samp{ot} (other).
|
|
554 @item widthtype
|
|
555 This is normally @samp{condensed}, @samp{extended}, @samp{semicondensed}
|
|
556 or @samp{normal}. Other words may appear here in some font names.
|
|
557 @item style
|
|
558 This is an optional additional style name. Usually it is empty---most
|
|
559 long font names have two hyphens in a row at this point.
|
|
560 @item pixels
|
|
561 This is the font height, in pixels.
|
|
562 @item height
|
|
563 This is the font height on the screen, measured in tenths of a printer's
|
|
564 point---approximately 1/720 of an inch. In other words, it is the point
|
|
565 size of the font, times ten. For a given vertical resolution,
|
|
566 @var{height} and @var{pixels} are proportional; therefore, it is common
|
|
567 to specify just one of them and use @samp{*} for the other.
|
|
568 @item horiz
|
|
569 This is the horizontal resolution, in pixels per inch, of the screen for
|
|
570 which the font is intended.
|
|
571 @item vert
|
|
572 This is the vertical resolution, in dots per inch, of the screen for
|
|
573 which the font is intended. Normally the resolution of the fonts on
|
|
574 your system is the right value for your screen; therefore, you normally
|
|
575 specify @samp{*} for this and @var{horiz}.
|
|
576 @item spacing
|
|
577 This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c}
|
|
578 (character cell). Emacs can use @samp{m} and @samp{c} fonts.
|
|
579 @item width
|
|
580 This is the average character width, in pixels, multiplied by ten.
|
|
581 @item charset
|
|
582 This is the character set that the font depicts.
|
|
583 Normally you should use @samp{iso8859-1}.
|
|
584 @end table
|
|
585
|
|
586 Use only fixed-width fonts---that is, fonts in which all characters
|
|
587 have the same width; Emacs cannot yet handle display properly for
|
|
588 variable-width fonts. Any font with @samp{m} or @samp{c} in the
|
|
589 @var{spacing} field of the long name is a fixed-width font. Here's how
|
|
590 to use the @code{xlsfonts} program to list all the fixed-width fonts
|
|
591 available on your system:
|
|
592
|
|
593 @example
|
|
594 xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+"
|
|
595 xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*'
|
|
596 xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'
|
|
597 @end example
|
|
598
|
|
599 @noindent
|
|
600 To see what a particular font looks like, use the @code{xfd} command.
|
|
601 For example:
|
|
602
|
|
603 @example
|
|
604 xfd -fn 6x13
|
|
605 @end example
|
|
606
|
|
607 @noindent
|
|
608 displays the entire font @samp{6x13}.
|
|
609
|
|
610 While running Emacs, you can set the font of the current frame
|
|
611 (@pxref{Frame Parameters}) or for a specific kind of text
|
|
612 (@pxref{Faces}).
|
|
613
|
|
614 @node Colors X
|
|
615 @appendixsec Window Color Options
|
|
616 @cindex color of window (X Windows)
|
|
617
|
|
618 On a color display, you can specify which color to use for various
|
|
619 parts of the Emacs display. To find out what colors are available on
|
|
620 your system, look at the @file{/usr/lib/X11/rgb.txt} file. If you do
|
|
621 not specify colors, the default for the background is white and the
|
|
622 default for all other colors is black. On a monochrome display, the
|
|
623 foreground is black, the background is white, and the border is gray if
|
|
624 the display supports that.
|
|
625
|
|
626 Here is a list of the options for specifying colors:
|
|
627
|
|
628 @table @samp
|
|
629 @item -fg @var{color}
|
|
630 @itemx --foreground-color=@var{color}
|
|
631 Specify the foreground color.
|
|
632 @item -bg @var{color}
|
|
633 @itemx --background-color=@var{color}
|
|
634 Specify the background color.
|
|
635 @item -bd @var{color}
|
|
636 @itemx --border-color=@var{color}
|
|
637 Specify the color of the border of the X window.
|
|
638 @item -cr @var{color}
|
|
639 @itemx --cursor-color=@var{color}
|
|
640 Specify the color of the Emacs cursor which indicates where point is.
|
|
641 @item -ms @var{color}
|
|
642 @itemx --mouse-color=@var{color}
|
|
643 Specify the color for the mouse cursor when the mouse is in the Emacs window.
|
|
644 @item -r
|
|
645 @itemx --reverse-video
|
|
646 Reverse video---swap the foreground and background colors.
|
|
647 @end table
|
|
648
|
|
649 For example, to use a coral mouse cursor and a slate blue text cursor,
|
|
650 enter:
|
|
651
|
|
652 @example
|
|
653 emacs -ms coral -cr 'slate blue' &
|
|
654 @end example
|
|
655
|
|
656 You can reverse the foreground and background colors through the
|
|
657 @samp{-r} option or with the X resource @samp{reverseVideo}.
|
|
658
|
|
659 @node Window Size X
|
|
660 @appendixsec Options for Window Geometry
|
|
661 @cindex geometry (X Windows)
|
|
662
|
|
663 The @samp{-geometry} option controls the size and position of the
|
|
664 initial Emacs frame. Here is the format for specifying the window
|
|
665 geometry:
|
|
666
|
|
667 @table @samp
|
|
668 @item -g @var{width}x@var{height}@r{@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}
|
|
669 Specify window size @var{width} and @var{height} (measured in character
|
|
670 columns and lines), and positions @var{xoffset} and @var{yoffset}
|
|
671 (measured in pixels).
|
|
672
|
|
673 @item --geometry=@var{width}x@var{height}@r{@{}+-@r{@}}@var{xoffset}@r{@{}+-@r{@}}@var{yoffset}
|
|
674 This is another way of writing the same thing.
|
|
675 @end table
|
|
676
|
|
677 @noindent
|
|
678 @code{@r{@{}+-@r{@}}} means either a plus sign or a minus sign. A plus
|
|
679 sign before @var{xoffset} means it is the distance from the left side of
|
|
680 the screen; a minus sign means it counts from the right side. A plus
|
|
681 sign before @var{yoffset} means it is the distance from the top of the
|
|
682 screen, and a minus sign there indicates the distance from the bottom.
|
|
683 The values @var{xoffset} and @var{yoffset} may themselves be positive or
|
|
684 negative, but that doesn't change their meaning, only their direction.
|
|
685
|
|
686 Emacs uses the same units as @code{xterm} does to interpret the geometry.
|
|
687 The @var{width} and @var{height} are measured in characters, so a large font
|
|
688 creates a larger frame than a small font. The @var{xoffset} and
|
|
689 @var{yoffset} are measured in pixels.
|
|
690
|
|
691 Since the mode line and the echo area occupy the last 2 lines of the
|
|
692 frame, the height of the initial text window is 2 less than the height
|
|
693 specified in your geometry. In non-X-toolkit versions of Emacs,
|
|
694 the menu bar also takes one line of the specified number.
|
|
695
|
|
696 You do not have to specify all of the fields in the geometry
|
|
697 specification.
|
|
698
|
|
699 If you omit both @var{xoffset} and @var{yoffset}, the window manager
|
|
700 decides where to put the Emacs frame, possibly by letting you place
|
|
701 it with the mouse. For example, @samp{164x55} specifies a window 164
|
|
702 columns wide, enough for two ordinary width windows side by side, and 55
|
|
703 lines tall.
|
|
704
|
|
705 The default width for Emacs is 80 characters and the default height is
|
|
706 40 lines. You can omit either the width or the height or both. If
|
|
707 you start the geometry with an integer, Emacs interprets it as the
|
|
708 width. If you start with an @samp{x} followed by an integer, Emacs
|
|
709 interprets it as the height. Thus, @samp{81} specifies just the width;
|
|
710 @samp{x45} specifies just the height.
|
|
711
|
|
712 If you start with @samp{+} or @samp{-}, that introduces an offset,
|
|
713 which means both sizes are omitted. Thus, @samp{-3} specifies the
|
|
714 @var{xoffset} only. (If you give just one offset, it is always
|
|
715 @var{xoffset}.) @samp{+3-3} specifies both the @var{xoffset} and the
|
|
716 @var{yoffset}, placing the frame near the bottom left of the screen.
|
|
717
|
|
718 You can specify a default for any or all of the fields in
|
|
719 @file{.Xdefaults} file, and then override selected fields with a
|
|
720 @samp{--geometry} option.
|
|
721
|
|
722 @node Borders X
|
|
723 @appendixsec Internal and External Borders
|
|
724 @cindex borders (X Windows)
|
|
725
|
|
726 An Emacs frame has an internal border and an external border. The
|
|
727 internal border is an extra strip of the background color around all
|
|
728 four edges of the frame. Emacs itself adds the internal border. The
|
|
729 external border is added by the window manager outside the internal
|
|
730 border; it may contain various boxes you can click on to move or iconify
|
|
731 the window.
|
|
732
|
|
733 @table @samp
|
|
734 @item -ib @var{width}
|
|
735 @itemx --internal-border=@var{width}
|
|
736 Specify @var{width} as the width of the internal border.
|
|
737
|
|
738 @item -bw @var{width}
|
|
739 @itemx --border-width=@var{width}
|
|
740 Specify @var{width} as the width of the main border.
|
|
741 @end table
|
|
742
|
|
743 When you specify the size of the frame, that does not count the
|
|
744 borders. The frame's position is measured from the outside edge of the
|
|
745 external border.
|
|
746
|
|
747 Use the @samp{-ib @var{n}} option to specify an internal border
|
|
748 @var{n} pixels wide. The default is 1. Use @samp{-bw @var{n}} to
|
|
749 specify the width of the external border (though the window manager may
|
|
750 not pay attention to what you specify). The default width of the
|
|
751 external border is 2.
|
|
752
|
|
753 @node Title X
|
|
754 @appendixsec Frame Titles
|
|
755
|
|
756 An Emacs frame may or may not have a specified title. The frame
|
|
757 title, if specified, appears in window decorations and icons as the name
|
|
758 of the frame. If an Emacs frame has no specified title, the default
|
|
759 title is the name of the executable program (if there is only one frame)
|
|
760 or the selected window's buffer name (if there is more than one frame).
|
|
761
|
|
762 You can specify a title for the initial Emacs frame with a command
|
|
763 line option:
|
|
764
|
|
765 @table @samp
|
|
766 @item -title @var{title}
|
|
767 @itemx --title=@var{title}
|
|
768 @itemx -T @var{title}
|
|
769 Specify @var{title} as the title for the initial Emacs frame.
|
|
770 @end table
|
|
771
|
|
772 The @samp{--name} option (@pxref{Resources X}) also specifies the title
|
|
773 for the initial Emacs frame.
|
|
774
|
|
775 @node Icons X
|
|
776 @appendixsec Icons
|
|
777 @cindex icons (X Windows)
|
|
778
|
|
779 Most window managers allow the user to ``iconify'' a frame, removing
|
|
780 it from sight, and leaving a small, distinctive ``icon'' window in its
|
|
781 place. Clicking on the icon window makes the frame itself appear again.
|
|
782 If you have many clients running at once, you can avoid cluttering up
|
|
783 the screen by iconifying most of the clients.
|
|
784
|
|
785 @table @samp
|
|
786 @item -i
|
|
787 @itemx --icon-type
|
|
788 Use a picture of a gnu as the Emacs icon.
|
|
789
|
|
790 @item -iconic
|
|
791 @itemx --iconic
|
|
792 Start Emacs in iconified state.
|
|
793 @end table
|
|
794
|
|
795 The @samp{-i} or @samp{--icon-type} option tells Emacs to use an icon
|
|
796 window containing a picture of the GNU gnu. If omitted, Emacs lets the
|
|
797 window manager choose what sort of icon to use---usually just a small
|
|
798 rectangle containing the frame's title.
|
|
799
|
|
800 The @samp{-iconic} option tells Emacs to begin running as an icon,
|
|
801 rather than opening a frame right away. In this situation, the icon
|
|
802 window provides only indication that Emacs has started; the usual text
|
|
803 frame doesn't appear until you deiconify it.
|
|
804
|
|
805 @node Resources X
|
|
806 @appendixsec X Resources
|
|
807 @cindex resources
|
|
808
|
|
809 Programs running under the X Window System organize their user options
|
|
810 under a hierarchy of classes and resources. You can specify default
|
|
811 values for these options in your X resources file, usually named
|
|
812 @file{~/.Xdefaults}.
|
|
813
|
|
814 Each line in the file specifies a value for one option or for a
|
|
815 collection of related options, for one program or for several programs
|
|
816 (optionally even for all programs).
|
|
817
|
|
818 Programs define named resources with particular meanings. They also
|
|
819 define how to group resources into named classes. For instance, in
|
|
820 Emacs, the @samp{internalBorder} resource controls the width of the
|
|
821 internal border, and the @samp{borderWidth} resource controls the width
|
|
822 of the external border. Both of these resources are part of the
|
|
823 @samp{BorderWidth} class. Case distinctions are significant in these
|
|
824 names.
|
|
825
|
|
826 In @file{~/.Xdefaults}, you can specify a value for a single resource
|
|
827 on one line, like this:
|
|
828
|
|
829 @example
|
|
830 emacs.borderWidth: 2
|
|
831 @end example
|
|
832
|
|
833 @noindent
|
|
834 Or you can use a class name to specify the same value for all resources
|
|
835 in that class. Here's an example:
|
|
836
|
|
837 @example
|
|
838 emacs.BorderWidth: 2
|
|
839 @end example
|
|
840
|
|
841 If you specify a value for a class, it becomes the default for all
|
|
842 resources in that class. You can specify values for individual
|
|
843 resources as well; these override the class value, for those particular
|
|
844 resources. Thus, this example specifies 2 as the default width for all
|
|
845 borders, but overrides this value with 4 for the external border:
|
|
846
|
|
847 @example
|
|
848 emacs.Borderwidth: 2
|
|
849 emacs.borderwidth: 4
|
|
850 @end example
|
|
851
|
|
852 The order in which the lines appear in the file does not matter.
|
|
853 Also, command-line options always override the X resources file.
|
|
854
|
|
855 The string @samp{emacs} in the examples above is also a resource
|
|
856 name. It actually represents the name of the executable file that you
|
|
857 invoke to run Emacs. If Emacs is installed under a different name, it
|
|
858 looks for resources under that name instead of @samp{emacs}.
|
|
859
|
|
860 @table @samp
|
|
861 @item -name @var{name}
|
|
862 @itemx --name=@var{name}
|
|
863 Use @var{name} as the resource name (and the title) for the initial
|
|
864 Emacs frame. This option does not affect subsequent frames, but Lisp
|
|
865 programs can specify frame names when they create frames.
|
|
866
|
|
867 If you don't specify this option, the default is to use the Emacs
|
|
868 executable's name as the resource name.
|
|
869
|
|
870 @item -xrm @var{resource-values}
|
|
871 @itemx --xrm=@var{resource-values}
|
|
872 Specify X resource values for this Emacs job (see below).
|
|
873 @end table
|
|
874
|
|
875 For consistency, @samp{-name} also specifies the name to use for
|
|
876 other resource values that do not belong to any particular frame.
|
|
877
|
|
878 The resources that name Emacs invocations also belong to a class; its
|
|
879 name is @samp{Emacs}. If you write @samp{Emacs} instead of
|
|
880 @samp{emacs}, the resource applies to all frames in all Emacs jobs,
|
|
881 regardless of frame titles and regardless of the name of the executable
|
|
882 file. Here is an example:
|
|
883
|
|
884 @example
|
|
885 Emacs.BorderWidth: 2
|
|
886 Emacs.borderWidth: 4
|
|
887 @end example
|
|
888
|
|
889 You can specify a string of additional resource values for Emacs to
|
|
890 use with the command line option @samp{-xrm @var{resources}}. The text
|
|
891 @var{resources} should have the same format that you would use inside a file
|
|
892 of X resources. To include multiple resource specifications in
|
|
893 @var{data}, put a newline between them, just as you would in a file.
|
|
894 You can also use @samp{#include "@var{filename}"} to include a file full
|
|
895 of resource specifications. Resource values specified with @samp{-xrm}
|
|
896 take precedence over all other resource specifications.
|
|
897
|
|
898 The following table lists the resource names that designate options
|
|
899 for Emacs, each with the class that it belongs to:
|
|
900
|
|
901 @table @asis
|
|
902 @item @code{background} (class @code{Background})
|
|
903 Background color name.
|
|
904
|
|
905 @item @code{bitmapIcon} (class @code{BitmapIcon})
|
|
906 Use a bitmap icon (a picture of a gnu) if @samp{on}, let the window
|
|
907 manager choose an icon if @samp{off}.
|
|
908
|
|
909 @item @code{borderColor} (class @code{BorderColor})
|
|
910 Color name for the external border.
|
|
911
|
|
912 @item @code{borderWidth} (class @code{BorderWidth})
|
|
913 Width in pixels of the external border.
|
|
914
|
|
915 @item @code{cursorColor} (class @code{Foreground})
|
|
916 Color name for text cursor (point).
|
|
917
|
|
918 @item @code{font} (class @code{Font})
|
|
919 Font name for text (or fontset name, @pxref{Fontsets}).
|
|
920
|
|
921 @item @code{foreground} (class @code{Foreground})
|
|
922 Color name for text.
|
|
923
|
|
924 @item @code{geometry} (class @code{Geometry})
|
|
925 Window size and position. Be careful not to specify this resource as
|
|
926 @samp{emacs*geometry}, because that may affect individual menus as well
|
|
927 as the Emacs frame itself.
|
|
928
|
|
929 If this resource specifies a position, that position applies only to the
|
|
930 initial Emacs frame (or, in the case of a resource for a specific frame
|
|
931 name, only that frame). However, the size if specified here applies to
|
|
932 all frames.
|
|
933
|
|
934 @item @code{iconName} (class @code{Title})
|
|
935 Name to display in the icon.
|
|
936
|
|
937 @item @code{internalBorder} (class @code{BorderWidth})
|
|
938 Width in pixels of the internal border.
|
|
939
|
|
940 @item @code{menuBar} (class @code{MenuBar})
|
|
941 Give frames menu bars if @samp{on}; don't have menu bars if @samp{off}.
|
|
942
|
|
943 @item @code{minibuffer} (class @code{Minibuffer})
|
|
944 If @samp{none}, don't make a minibuffer in this frame.
|
|
945 It will use a separate minibuffer frame instead.
|
|
946
|
|
947 @item @code{paneFont} (class @code{Font})
|
|
948 Font name for menu pane titles, in non-toolkit versions of Emacs.
|
|
949
|
|
950 @item @code{pointerColor} (class @code{Foreground})
|
|
951 Color of the mouse cursor.
|
|
952
|
|
953 @item @code{reverseVideo} (class @code{ReverseVideo})
|
|
954 Switch foreground and background default colors if @samp{on}, use colors as
|
|
955 specified if @samp{off}.
|
|
956
|
|
957 @item @code{verticalScrollBars} (class @code{ScrollBars})
|
|
958 Give frames scroll bars if @samp{on}; don't have scroll bars if
|
|
959 @samp{off}.
|
|
960
|
|
961 @item @code{selectionFont} (class @code{Font})
|
|
962 Font name for pop-up menu items, in non-toolkit versions of Emacs. (For
|
|
963 toolkit versions, see @ref{Lucid Resources}, also see @ref{Motif
|
|
964 Resources}.)
|
|
965
|
|
966 @item @code{title} (class @code{Title})
|
|
967 Name to display in the title bar of the initial Emacs frame.
|
|
968 @end table
|
|
969
|
|
970 Here are resources for controlling the appearance of particular faces
|
|
971 (@pxref{Faces}):
|
|
972
|
|
973 @table @code
|
|
974 @item @var{face}.attributeFont
|
|
975 Font for face @var{face}.
|
|
976 @item @var{face}.attributeForeground
|
|
977 Foreground color for face @var{face}.
|
|
978 @item @var{face}.attributeBackground
|
|
979 Background color for face @var{face}.
|
|
980 @item @var{face}.attributeUnderline
|
|
981 Underline flag for face @var{face}. Use @samp{on} or @samp{true} for
|
|
982 yes.
|
|
983 @end table
|
|
984
|
|
985 @node Lucid Resources
|
|
986 @section Lucid Menu X Resources
|
|
987 @cindex Menu X Resources (Lucid widgets)
|
|
988 @cindex Lucid Widget X Resources
|
|
989
|
|
990 If the Emacs installed at your site was built to use the X toolkit
|
|
991 with the Lucid menu widgets, then the menu bar is a separate widget and
|
|
992 has its own resources. The resource names contain @samp{pane.menubar}
|
|
993 (following, as always, the name of the Emacs invocation or @samp{Emacs}
|
|
994 which stands for all Emacs invocations). Specify them like this:
|
|
995
|
|
996 @example
|
|
997 Emacs.pane.menubar.@var{resource}: @var{value}
|
|
998 @end example
|
|
999
|
|
1000 @noindent
|
|
1001 For example, to specify the font @samp{8x16} for the menu-bar items,
|
|
1002 write this:
|
|
1003
|
|
1004 @example
|
|
1005 Emacs.pane.menubar.font: 8x16
|
|
1006 @end example
|
|
1007
|
|
1008 @noindent
|
|
1009 Resources for @emph{non-menubar} toolkit pop-up menus have
|
|
1010 @samp{menu*}, in like fashion. For example, to specify the font
|
|
1011 @samp{8x16} for the pop-up menu items, write this:
|
|
1012
|
|
1013 @example
|
|
1014 Emacs.menu*.font: 8x16
|
|
1015 @end example
|
|
1016
|
|
1017 @noindent
|
|
1018 For dialog boxes, use @samp{dialog} instead of @samp{menu}:
|
|
1019
|
|
1020 @example
|
|
1021 Emacs.dialog*.font: 8x16
|
|
1022 @end example
|
|
1023
|
|
1024 @noindent
|
|
1025 Experience shows that on some systems you may need to add
|
|
1026 @samp{shell.}@: before the @samp{pane.menubar} or @samp{menu*}. On
|
|
1027 some other systems, you must not add @samp{shell.}.
|
|
1028
|
|
1029 Here is a list of the specific resources for menu bars and pop-up menus:
|
|
1030
|
|
1031 @table @code
|
|
1032 @item font
|
|
1033 Font for menu item text.
|
|
1034 @item foreground
|
|
1035 Color of the foreground.
|
|
1036 @item background
|
|
1037 Color of the background.
|
|
1038 @item buttonForeground
|
|
1039 In the menu bar, the color of the foreground for a selected item.
|
|
1040 @item horizontalSpacing
|
|
1041 Horizontal spacing in pixels between items. Default is 3.
|
|
1042 @item verticalSpacing
|
|
1043 Vertical spacing in pixels between items. Default is 1.
|
|
1044 @item arrowSpacing
|
|
1045 Horizontal spacing between the arrow (which indicates a submenu) and
|
|
1046 the associated text. Default is 10.
|
|
1047 @item shadowThickness
|
|
1048 Thickness of shadow line around the widget.
|
|
1049 @end table
|
|
1050
|
|
1051 @node Motif Resources
|
|
1052 @section Motif Menu X Resources
|
|
1053 @cindex Menu X Resources (Motif widgets)
|
|
1054 @cindex Motif Widget X Resources
|
|
1055
|
|
1056 If the Emacs installed at your site was built to use the X toolkit
|
|
1057 with the Motif widgets, then the menu bar is a separate widget and has
|
|
1058 its own resources. The resource names contain @samp{pane.menubar}
|
|
1059 (following, as always, the name of the Emacs invocation or @samp{Emacs}
|
|
1060 which stands for all Emacs invocations). Specify them like this:
|
|
1061
|
|
1062 @smallexample
|
|
1063 Emacs.pane.menubar.@var{subwidget}.@var{resource}: @var{value}
|
|
1064 @end smallexample
|
|
1065
|
|
1066 Each individual string in the menu bar is a subwidget; the subwidget's
|
|
1067 name is the same as the menu item string. For example, the word
|
|
1068 @samp{Files} in the menu bar is part of a subwidget named
|
|
1069 @samp{emacs.pane.menubar.Files}. Most likely, you want to specify the
|
|
1070 same resources for the whole menu bar. To do this, use @samp{*} instead
|
|
1071 of a specific subwidget name. For example, to specify the font
|
|
1072 @samp{8x16} for the menu-bar items, write this:
|
|
1073
|
|
1074 @smallexample
|
|
1075 Emacs.pane.menubar.*.fontList: 8x16
|
|
1076 @end smallexample
|
|
1077
|
|
1078 @noindent
|
|
1079 This also specifies the resource value for submenus.
|
|
1080
|
|
1081 Each item in a submenu in the menu bar also has its own name for X
|
|
1082 resources; for example, the @samp{Files} submenu has an item named
|
|
1083 @samp{Save Buffer}. A resource specification for a submenu item looks
|
|
1084 like this:
|
|
1085
|
|
1086 @smallexample
|
|
1087 Emacs.pane.menubar.popup_*.@var{menu}.@var{item}.@var{resource}: @var{value}
|
|
1088 @end smallexample
|
|
1089
|
|
1090 @noindent
|
|
1091 For example, here's how to specify the font for the @samp{Save Buffer}
|
|
1092 item:
|
|
1093
|
|
1094 @smallexample
|
|
1095 Emacs.pane.menubar.popup_*.Files.Save Buffer.fontList: 8x16
|
|
1096 @end smallexample
|
|
1097
|
|
1098 @noindent
|
|
1099 For an item in a second-level submenu, such as @samp{Check Message}
|
|
1100 under @samp{Spell} under @samp{Edit}, the resource fits this template:
|
|
1101
|
|
1102 @smallexample
|
|
1103 Emacs.pane.menubar.popup_*.popup_*.@var{menu}.@var{resource}: @var{value}
|
|
1104 @end smallexample
|
|
1105
|
|
1106 @noindent
|
|
1107 For example,
|
|
1108
|
|
1109 @smallexample
|
|
1110 Emacs.pane.menubar.popup_*.popup_*.Spell.Check Message: @var{value}
|
|
1111 @end smallexample
|
|
1112
|
|
1113 It's impossible to specify a resource for all the menu-bar items
|
|
1114 without also specifying it for the submenus as well. So if you want the
|
|
1115 submenu items to look different from the menu bar itself, you must ask
|
|
1116 for that in two steps. First, specify the resource for all of them;
|
|
1117 then, override the value for submenus alone. Here is an example:
|
|
1118
|
|
1119 @smallexample
|
|
1120 Emacs.pane.menubar.*.fontList: 8x16
|
|
1121 Emacs.pane.menubar.popup_*.fontList: 8x16
|
|
1122 @end smallexample
|
|
1123
|
|
1124 @noindent
|
|
1125 For toolkit pop-up menus, use @samp{menu*} instead of
|
|
1126 @samp{pane.menubar}. For example, to specify the font @samp{8x16} for
|
|
1127 the pop-up menu items, write this:
|
|
1128
|
|
1129 @smallexample
|
|
1130 Emacs.menu*.fontList: 8x16
|
|
1131 @end smallexample
|
|
1132
|
|
1133 @iftex
|
|
1134 @medbreak
|
|
1135 @end iftex
|
|
1136 Here is a list of the specific resources for menu bars and pop-up menus:
|
|
1137
|
|
1138 @table @code
|
|
1139 @item armColor
|
|
1140 The color to show in an armed button.
|
|
1141 @item fontList
|
|
1142 The font to use.
|
|
1143 @item marginBottom
|
|
1144 @itemx marginHeight
|
|
1145 @itemx marginLeft
|
|
1146 @itemx marginRight
|
|
1147 @itemx marginTop
|
|
1148 @itemx marginWidth
|
|
1149 Amount of space to leave around the item, within the border.
|
|
1150 @item borderWidth
|
|
1151 The width of border around the menu item, on all sides.
|
|
1152 @item shadowThickness
|
|
1153 The width of the border shadow.
|
|
1154 @item bottomShadowColor
|
|
1155 The color for the border shadow, on the bottom and the right.
|
|
1156 @item topShadowColor
|
|
1157 The color for the border shadow, on the top and the left.
|
|
1158 @end table
|