Mercurial > hg > xemacs-beta
comparison man/custom.texi @ 155:43dd3413c7c7 r20-3b4
Import from CVS: tag r20-3b4
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:39:39 +0200 |
parents | 25f70ba0133c |
children | 28f395d8dc7a |
comparison
equal
deleted
inserted
replaced
154:94141801dd7e | 155:43dd3413c7c7 |
---|---|
7 @afourpaper | 7 @afourpaper |
8 @headings double | 8 @headings double |
9 @end iftex | 9 @end iftex |
10 @c %**end of header | 10 @c %**end of header |
11 | 11 |
12 @node Top, Introduction, (dir), (dir) | 12 @node Top, Declaring Groups, (dir), (dir) |
13 @comment node-name, next, previous, up | 13 @comment node-name, next, previous, up |
14 @top The Customization Library | 14 @top The Customization Library |
15 | 15 |
16 Version: 1.98 | 16 This manual describes how to declare customization groups, variables, |
17 | |
18 @menu | |
19 * Introduction:: | |
20 * User Commands:: | |
21 * The Customization Buffer:: | |
22 * Declarations:: | |
23 * Utilities:: | |
24 * The Init File:: | |
25 * Wishlist:: | |
26 @end menu | |
27 | |
28 @node Introduction, User Commands, Top, Top | |
29 @comment node-name, next, previous, up | |
30 @section Introduction | |
31 | |
32 This library allows customization of @dfn{user options}. Currently two | |
33 types of user options are supported, namely @dfn{variables} and | |
34 @dfn{faces}. Each user option can have four different values | |
35 simultaneously: | |
36 @table @dfn | |
37 @item standard setting | |
38 The value specified by the programmer. | |
39 @item saved value | |
40 The value saved by the user as the default for this variable. This | |
41 overwrites the standard setting when starting a new emacs. | |
42 @item current value | |
43 The value used by Emacs. This will not be remembered next time you | |
44 run Emacs. | |
45 @item widget value | |
46 The value entered by the user in a customization buffer, but not yet | |
47 applied. | |
48 @end table | |
49 | |
50 Variables also have a @dfn{type}, which specifies what kind of values | |
51 the variable can hold, and how the value is presented in a customization | |
52 buffer. By default a variable can hold any valid expression, but the | |
53 programmer can specify a more limited type when declaring the variable. | |
54 | |
55 The user options are organized in a number of @dfn{groups}. Each group | |
56 can contain a number user options, as well as other groups. The groups | |
57 allows the user to concentrate on a specific part of emacs. | |
58 | |
59 @node User Commands, The Customization Buffer, Introduction, Top | |
60 @comment node-name, next, previous, up | |
61 @section User Commands | |
62 | |
63 The following commands will create a customization buffer: | |
64 | |
65 @table @code | |
66 @item customize | |
67 Create a customization buffer containing the @code{emacs} group. | |
68 | |
69 @item customize-group | |
70 Create a customization buffer containing a specific group. | |
71 | |
72 @item customize-variable | |
73 Create a customization buffer containing a single variable. | |
74 | |
75 @item customize-face | |
76 Create a customization buffer containing a single face. | |
77 | |
78 @item customize-apropos | |
79 Create a customization buffer containing all variables, faces, and | |
80 groups that match a user specified regular expression. | |
81 | |
82 @item customize-saved | |
83 Create a customization buffer containing all variables and faces that | |
84 have been saved with customize. | |
85 | |
86 @item customize-customized | |
87 Create a customization buffer containing all variables and faces that | |
88 have been customized but not saved. | |
89 @end table | |
90 | |
91 You can also set variables without creating a customization buffer. | |
92 | |
93 @deffn Command customize-set-variable var val | |
94 Set the default for @var{variable} to @var{value}. | |
95 @var{value} is a Lisp object. | |
96 | |
97 If @var{variable} has a @code{custom-set} property, that is used for setting | |
98 @var{variable}, otherwise @code{set-default} is used. | |
99 | |
100 The @code{customized-value} property of the @var{variable} will be set | |
101 to a list with a quoted @var{value} as its sole list member. | |
102 | |
103 If @var{variable} has a @code{variable-interactive} property, that is | |
104 used as if it were the arg to `interactive' (which see) to interactively | |
105 read the value. | |
106 | |
107 If @var{variable} has a @code{custom-type} property, it must be a widget | |
108 and the @code{:prompt-value} property of that widget will be used for | |
109 reading the value. | |
110 @end deffn | |
111 | |
112 All variables that have been set either from a customization buffer or | |
113 with @code{customize-set-variable} can be saved with the command | |
114 @code{custom-save-customized}. | |
115 | |
116 @deffn Command custom-save-customized | |
117 Save all variables that have been set with customize in this session. | |
118 @end deffn | |
119 | |
120 | |
121 @node The Customization Buffer, Declarations, User Commands, Top | |
122 @comment node-name, next, previous, up | |
123 @section The Customization Buffer. | |
124 | |
125 The customization buffer allows the user to make temporary or permanent | |
126 changes to how specific aspects of emacs works, by setting and editing | |
127 user options. | |
128 | |
129 The customization buffer contains three types of text: | |
130 | |
131 @table @dfn | |
132 @item informative text | |
133 where the normal editing commands are disabled. | |
134 | |
135 @item editable fields | |
136 where you can edit with the usual emacs commands. Editable fields are | |
137 usually displayed with a grey background if your terminal supports | |
138 colors, or an italic font otherwise. | |
139 | |
140 @item buttons | |
141 which can be activated by either pressing the @kbd{@key{ret}} while | |
142 point is located on the text, or pushing @kbd{mouse-2} while the mouse | |
143 pointer is above the tex. Buttons are usually displayed in a bold | |
144 font. | |
145 @end table | |
146 | |
147 You can move to the next the next editable field or button by pressing | |
148 @kbd{@key{tab}} or the previous with @kbd{M-@key{tab}}. Some buttons | |
149 have a small helpful message about their purpose, which will be | |
150 displayed when you move to it with the @key{tab} key. | |
151 | |
152 The buffer is divided into three part, an introductory text, a list of | |
153 customization options, and a line of customization buttons. Each part | |
154 will be described in the following. | |
155 | |
156 @menu | |
157 * The Introductory Text:: | |
158 * The Customization Buttons:: | |
159 * The Customization Options:: | |
160 * The Variable Options:: | |
161 * The Face Options:: | |
162 * The Group Options:: | |
163 * The State Button:: | |
164 @end menu | |
165 | |
166 @node The Introductory Text, The Customization Buttons, The Customization Buffer, The Customization Buffer | |
167 @comment node-name, next, previous, up | |
168 @subsection The Introductory Text | |
169 | |
170 The start of the buffer contains a short explanation of what it is, and | |
171 how to get help. It will typically look like this: | |
172 | |
173 @example | |
174 This is a customization buffer. | |
175 Push RET or click mouse-2 on the word _help_ for more information. | |
176 @end example | |
177 | |
178 Rather boring. It is mostly just informative text, but the word | |
179 @samp{help} is a button that will bring up this document when | |
180 activated. | |
181 | |
182 @node The Customization Buttons, The Customization Options, The Introductory Text, The Customization Buffer | |
183 @comment node-name, next, previous, up | |
184 @subsection The Customization Buttons | |
185 | |
186 The next part of the customization buffer looks like this: | |
187 | |
188 @example | |
189 [Set] [Save] [Reset] [Done] | |
190 @end example | |
191 | |
192 Activating the @samp{[Set]}, @samp{[Save]}, or @samp{[Reset]} | |
193 button will affect all modified customization items that are visible in | |
194 the buffer. @samp{[Done]} will bury the buffer. | |
195 | |
196 @node The Customization Options, The Variable Options, The Customization Buttons, The Customization Buffer | |
197 @comment node-name, next, previous, up | |
198 @subsection The Customization Options | |
199 | |
200 Each customization option looks similar to the following text: | |
201 | |
202 @example | |
203 Custom Background Mode: default | |
204 State: this item is unchanged from its standard setting. | |
205 [?] The brightness of the background. | |
206 @end example | |
207 | |
208 The option contains the parts described below. | |
209 | |
210 @table @samp | |
211 @item Custom Background Mode | |
212 This is the tag of the the option. The tag is a name of a variable, a | |
213 face, or customization group. Activating the tag has an effect that | |
214 depends on the exact type of the option. In this particular case, | |
215 activating the tag will bring up a menu that will allow you to choose | |
216 from the three possible values of the `custom-background-mode' | |
217 variable. | |
218 | |
219 @item default | |
220 After the tag, the options value is shown. Depending on its type, you | |
221 may be able to edit the value directly. If an option should contain a | |
222 file name, it is displayed in an editable field, i.e. you can edit it | |
223 using the standard emacs editing commands. | |
224 | |
225 @item State: this item is unchanged from its standard setting. | |
226 The state line. This line will explain the state of the option, | |
227 e.g. whether it is currently hidden, or whether it has been modified or | |
228 not. Activating the button will allow you to change the state, e.g. set | |
229 or reset the changes you have made. This is explained in detail in the | |
230 following sections. | |
231 | |
232 @item [?] | |
233 The documentation button. If the documentation is more than one line, | |
234 this button will be present. Activating the button will toggle whether | |
235 the complete documentation is shown, or only the first line. | |
236 | |
237 @item The brightness of the background. | |
238 This is a documentation string explaining the purpose of this particular | |
239 customization option. | |
240 | |
241 @end table | |
242 | |
243 @node The Variable Options, The Face Options, The Customization Options, The Customization Buffer | |
244 @comment node-name, next, previous, up | |
245 @subsection The Variable Options | |
246 | |
247 The most common customization options are emacs lisp variables. The | |
248 actual editing of these variables depend on what type values the | |
249 variable is expected to contain. For example, a lisp variable whose | |
250 value should be a string will typically be represented with an editable | |
251 text field in the buffer, where you can change the string directly. If | |
252 the value is a list, each item in the list will be presented in the | |
253 buffer buffer on a separate line, with buttons to insert new items in | |
254 the list, or delete existing items from the list. You may want to see | |
255 @ref{User Interface,,, widget, The Widget Library}, where some examples | |
256 of editing are discussed. | |
257 | |
258 You can either choose to edit the value directly, or edit the lisp | |
259 value for that variable. The lisp value is a lisp expression that | |
260 will be evaluated when you start emacs. The result of the evaluation | |
261 will be used as the initial value for that variable. Editing the | |
262 lisp value is for experts only, but if the current value of the | |
263 variable is of a wrong type (e.g. a symbol where a string is expected), | |
264 the `edit lisp' mode will always be selected. | |
265 | |
266 You can see what mode is currently selected by looking at the state | |
267 description. It will end with @samp{(lisp)} in lisp mode. | |
268 | |
269 You can switch mode by activating the state button, and select either | |
270 @samp{Edit} or @samp{Edit lisp} from the menu. | |
271 | |
272 You can change the state of the variable with the other menu items: | |
273 | |
274 @table @samp | |
275 @item Set | |
276 When you have made your modifications in the buffer, you need to | |
277 activate this item to make the modifications take effect. The | |
278 modifications will be forgotten next time you run emacs. | |
279 | |
280 @item Save | |
281 Unless you activate this item instead! This will mark the modification | |
282 as permanent, i.e. the changes will be remembered in the next emacs | |
283 session. | |
284 | |
285 @item Reset | |
286 If you have made some modifications and not yet applied them, you can | |
287 undo the modification by activating this item. | |
288 | |
289 @item Reset to Saved | |
290 Activating this item will reset the value of the variable to the last | |
291 value you marked as permanent with `Save'. | |
292 | |
293 @item Reset to Standard Settings | |
294 Activating this item will undo all modifications you have made, and | |
295 reset the value to the initial value specified by the program itself. | |
296 @end table | |
297 | |
298 By default, the value of large or complicated variables are hidden. | |
299 You can change this with the @samp{Hide} and @samp{Show} entries in the | |
300 state menu. | |
301 | |
302 @node The Face Options, The Group Options, The Variable Options, The Customization Buffer | |
303 @comment node-name, next, previous, up | |
304 @subsection The Face Options | |
305 | |
306 A face is an object that controls the appearance of some buffer text. | |
307 The face has a number of possible attributes, such as boldness, | |
308 foreground color, and more. For each attribute you can specify whether | |
309 this attribute is controlled by the face, and if so, what the value is. | |
310 For example, if the attribute bold is not controlled by a face, using | |
311 that face on some buffer text will not affect its boldness. If the bold | |
312 attribute is controlled by the face, it can be turned either on or of. | |
313 | |
314 It is possible to specify that a face should have different attributes | |
315 on different device types. For example, a face may make text red on a | |
316 color device, and bold on a monochrome device. You do this by | |
317 activating `Edit All' in the state menu. | |
318 | |
319 The way this is presented in the customization buffer is to have a list | |
320 of display specifications, and for each display specification a list of | |
321 face attributes. For each face attribute, there is a checkbox | |
322 specifying whether this attribute has effect and what the value is. | |
323 Here is an example: | |
324 | |
325 @example | |
326 Custom Invalid Face: (sample) | |
327 State: this item is unchanged from its standard setting. | |
328 Face used when the customize item is invalid. | |
329 [INS] [DEL] Display: [ ] Type: [ ] X [ ] PM [ ] Win32 [ ] DOS [ ] TTY | |
330 [X] Class: [X] Color [ ] Grayscale [ ] Monochrome | |
331 [ ] Background: [ ] Light [ ] Dark | |
332 Attributes: [ ] Bold: off | |
333 [ ] Italic: off | |
334 [ ] Underline: off | |
335 [X] Foreground: yellow (sample) | |
336 [X] Background: red (sample) | |
337 [ ] Stipple: | |
338 [INS] [DEL] Display: all | |
339 Attributes: [X] Bold: on | |
340 [X] Italic: on | |
341 [X] Underline: on | |
342 [ ] Foreground: default (sample) | |
343 [ ] Background: default (sample) | |
344 [ ] Stipple: | |
345 [INS] | |
346 @end example | |
347 | |
348 This has two display specifications. The first will match all color | |
349 displays, independently on what window system the device belongs to, and | |
350 whether background color is dark or light. For devices matching this | |
351 specification, @samp{Custom Invalid Face} will force text to be | |
352 displayed in yellow on red, but leave all other attributes alone. | |
353 | |
354 The second display will simply match everything. Since the list is | |
355 prioritised, this means that it will match all non-color displays. For | |
356 these, the face will not affect the foreground or background color, but | |
357 force the font to be both bold, italic, and underline. | |
358 | |
359 You can add or delete display specifications by activating the | |
360 @samp{[INS]} and @samp{[DEL]} buttons, and modify them by clicking on | |
361 the check boxes. The first checkbox in each line in the display | |
362 specification is special. It specify whether this particular property | |
363 will even be relevant. By not checking the box in the first display, we | |
364 match all device types, also device types other than those listed. | |
365 | |
366 After modifying the face, you can activate the state button to make the | |
367 changes take effect. The menu items in the state button menu is similar | |
368 to the state menu items for variables described in the previous section. | |
369 | |
370 Faces usually start out hidden, activate the @samp{State} button to show | |
371 them. | |
372 | |
373 @node The Group Options, The State Button, The Face Options, The Customization Buffer | |
374 @comment node-name, next, previous, up | |
375 @subsection The Group Options | |
376 | |
377 Since Emacs has approximately a zillion configuration options, they have | |
378 been organized in groups. Each group can contain other groups, thus | |
379 creating a customization hierarchy. The nesting of the customization | |
380 within the visible part of this hierarchy is indicated by the number of | |
381 asterisks before the name of the group. | |
382 | |
383 Since there is really no customization needed for the group itself, the | |
384 menu items in the groups state button will affect all modified group | |
385 members recursively. Thus, if you activate the @samp{Set} menu item, | |
386 all variables and faces that have been modified and belong to that group | |
387 will be applied. For those members that themselves are groups, it will | |
388 work as if you had activated the @samp{Set} menu item on them as well. | |
389 | |
390 @node The State Button, , The Group Options, The Customization Buffer | |
391 @comment node-name, next, previous, up | |
392 @subsection The State Line and The Magic Button | |
393 | |
394 The state line has two purposes. The first is to hold the state menu, | |
395 as described in the previous sections. The second is to indicate the | |
396 state of each customization item. | |
397 | |
398 There is an optional `magic button' that holds the same information in a | |
399 more compact form. The magic button contain a character inside the | |
400 brackets (in edit mode) or parentheses (in lisp mode). | |
401 | |
402 @defopt custom-magic-show-button | |
403 Show a magic button indicating the state of each customization option. | |
404 @end defopt | |
405 | |
406 The following states have been defined, the first that applies to the | |
407 current item will be used: | |
408 | |
409 @table @samp | |
410 @item - | |
411 The option is currently hidden. For group options that means the | |
412 members are not shown, for variables and faces that the value is not | |
413 shown. You cannot perform any of the state change operations on a | |
414 hidden customization option. | |
415 | |
416 @item * | |
417 The value if this option has been modified in the buffer, but not yet | |
418 applied. | |
419 | |
420 @item + | |
421 The item has has been set by the user. | |
422 | |
423 @item : | |
424 The current value of this option is different from the saved value. | |
425 | |
426 @item ! | |
427 The saved value of this option is different from the standard setting. | |
428 | |
429 @item @@ | |
430 The standard setting of this option is not known. This occurs when you | |
431 try to customize variables or faces that have not been explicitly | |
432 declared as customizable. | |
433 | |
434 @item SPC | |
435 The standard setting is still in effect. | |
436 | |
437 @end table | |
438 | |
439 For non-hidden group options, the state shown is the most severe state | |
440 of its members, where more severe means that it appears earlier in the | |
441 list above (except hidden members, which are ignored). | |
442 | |
443 @node Declarations, Utilities, The Customization Buffer, Top | |
444 @comment node-name, next, previous, up | |
445 @section Declarations | |
446 | |
447 This section describes how to declare customization groups, variables, | |
448 and faces. It doesn't contain any examples, but please look at the file | 17 and faces. It doesn't contain any examples, but please look at the file |
449 @file{cus-edit.el} which contains many declarations you can learn from. | 18 @file{cus-edit.el} which contains many declarations you can learn from. |
450 | 19 |
451 @menu | 20 @menu |
452 * Declaring Groups:: | 21 * Declaring Groups:: |
453 * Declaring Variables:: | 22 * Declaring Variables:: |
454 * Declaring Faces:: | 23 * Declaring Faces:: |
455 * Usage for Package Authors:: | 24 * Usage for Package Authors:: |
25 * Utilities:: | |
26 * The Init File:: | |
27 * Wishlist:: | |
456 @end menu | 28 @end menu |
457 | 29 |
458 All the customization declarations can be changes by keyword arguments. | 30 All the customization declarations can be changes by keyword arguments. |
459 Groups, variables, and faces all share these common keywords: | 31 Groups, variables, and faces all share these common keywords: |
460 | 32 |
477 @var{Value} should be a short string used for identifying the option in | 49 @var{Value} should be a short string used for identifying the option in |
478 customization menus and buffers. By default the tag will be | 50 customization menus and buffers. By default the tag will be |
479 automatically created from the options name. | 51 automatically created from the options name. |
480 @end table | 52 @end table |
481 | 53 |
482 @node Declaring Groups, Declaring Variables, Declarations, Declarations | 54 @node Declaring Groups, Declaring Variables, Top, Top |
483 @comment node-name, next, previous, up | 55 @comment node-name, next, previous, up |
484 @subsection Declaring Groups | 56 @section Declaring Groups |
485 | 57 |
486 Use @code{defgroup} to declare new customization groups. | 58 Use @code{defgroup} to declare new customization groups. |
487 | 59 |
488 @defun defgroup symbol members doc [keyword value]... | 60 @defun defgroup symbol members doc [keyword value]... |
489 Declare @var{symbol} as a customization group containing @var{members}. | 61 Declare @var{symbol} as a customization group containing @var{members}. |
509 of a member of the group, that prefix will be ignored when creating a | 81 of a member of the group, that prefix will be ignored when creating a |
510 tag for that member. | 82 tag for that member. |
511 @end table | 83 @end table |
512 @end defun | 84 @end defun |
513 | 85 |
514 @node Declaring Variables, Declaring Faces, Declaring Groups, Declarations | 86 @node Declaring Variables, Declaring Faces, Declaring Groups, Top |
515 @comment node-name, next, previous, up | 87 @comment node-name, next, previous, up |
516 @subsection Declaring Variables | 88 @section Declaring Variables |
517 | 89 |
518 Use @code{defcustom} to declare user editable variables. | 90 Use @code{defcustom} to declare user editable variables. |
519 | 91 |
520 @defun defcustom symbol value doc [keyword value]... | 92 @defun defcustom symbol value doc [keyword value]... |
521 Declare @var{symbol} as a customizable variable that defaults to @var{value}. | 93 Declare @var{symbol} as a customizable variable that defaults to @var{value}. |
525 @var{doc} is the variable documentation. | 97 @var{doc} is the variable documentation. |
526 | 98 |
527 The following additional @var{keyword}'s are defined: | 99 The following additional @var{keyword}'s are defined: |
528 | 100 |
529 @table @code | 101 @table @code |
530 @item :type | 102 @item :type |
531 @var{value} should be a widget type. | 103 @var{value} should be a widget type. |
532 | 104 |
533 @item :options | 105 @item :options |
534 @var{value} should be a list of possible members of the specified type. | 106 @var{value} should be a list of possible members of the specified type. |
535 For hooks, this is a list of function names. | 107 For hooks, this is a list of function names. |
592 | 164 |
593 If @var{symbol} is a hook variable, @var{option} should be a hook | 165 If @var{symbol} is a hook variable, @var{option} should be a hook |
594 member. For other types variables, the effect is undefined." | 166 member. For other types variables, the effect is undefined." |
595 @end defun | 167 @end defun |
596 | 168 |
597 @node Declaring Faces, Usage for Package Authors, Declaring Variables, Declarations | 169 @node Declaring Faces, Usage for Package Authors, Declaring Variables, Top |
598 @comment node-name, next, previous, up | 170 @comment node-name, next, previous, up |
599 @subsection Declaring Faces | 171 @section Declaring Faces |
600 | 172 |
601 Faces are declared with @code{defface}. | 173 Faces are declared with @code{defface}. |
602 | 174 |
603 @defun defface face spec doc [keyword value]... | 175 @defun defface face spec doc [keyword value]... |
604 | 176 |
644 properties saved by the user, and @code{face-documentation} for the | 216 properties saved by the user, and @code{face-documentation} for the |
645 documentation string.@refill | 217 documentation string.@refill |
646 | 218 |
647 @end defun | 219 @end defun |
648 | 220 |
649 @node Usage for Package Authors, , Declaring Faces, Declarations | 221 @node Usage for Package Authors, Utilities, Declaring Faces, Top |
650 @comment node-name, next, previous, up | 222 @comment node-name, next, previous, up |
651 @subsection Usage for Package Authors | 223 @section Usage for Package Authors |
652 | 224 |
653 The recommended usage for the author of a typical emacs lisp package is | 225 The recommended usage for the author of a typical emacs lisp package is |
654 to create one group identifying the package, and make all user options | 226 to create one group identifying the package, and make all user options |
655 and faces members of that group. If the package has more than around 20 | 227 and faces members of that group. If the package has more than around 20 |
656 such options, they should be divided into a number of subgroups, with | 228 such options, they should be divided into a number of subgroups, with |
660 more of the standard customization groups. There exists a group for | 232 more of the standard customization groups. There exists a group for |
661 each @emph{finder} keyword. Press @kbd{C-c p} to see a list of finder | 233 each @emph{finder} keyword. Press @kbd{C-c p} to see a list of finder |
662 keywords, and add you group to each of them, using the @code{:group} | 234 keywords, and add you group to each of them, using the @code{:group} |
663 keyword. | 235 keyword. |
664 | 236 |
665 @node Utilities, The Init File, Declarations, Top | 237 @node Utilities, The Init File, Usage for Package Authors, Top |
666 @comment node-name, next, previous, up | 238 @comment node-name, next, previous, up |
667 @section Utilities | 239 @section Utilities |
668 | 240 |
669 These utilities can come in handy when adding customization support. | 241 These utilities can come in handy when adding customization support. |
670 | 242 |
692 If optional @var{name} is given, use that as the name of the menu. | 264 If optional @var{name} is given, use that as the name of the menu. |
693 Otherwise the menu will be named `Customize'. | 265 Otherwise the menu will be named `Customize'. |
694 The menu is in a format applicable to @code{easy-menu-define}. | 266 The menu is in a format applicable to @code{easy-menu-define}. |
695 @end defun | 267 @end defun |
696 | 268 |
697 @node The Init File, Wishlist, Utilities, Top | 269 @node The Init File, Wishlist, Utilities, Top |
698 @comment node-name, next, previous, up | 270 @comment node-name, next, previous, up |
699 @section The Init File | 271 @section The Init File |
700 | 272 |
701 When you save the customizations, call to @code{custom-set-variables}, | 273 When you save the customizations, call to @code{custom-set-variables}, |
702 @code{custom-set-faces} are inserted into the file specified by | 274 @code{custom-set-faces} are inserted into the file specified by |
703 @code{custom-file}. By default @code{custom-file} is your @file{.emacs} | 275 @code{custom-file}. By default @code{custom-file} is your @file{.emacs} |
704 file. If you use another file, you must explicitly load it yourself. | 276 file. If you use another file, you must explicitly load it yourself. |
705 The two functions will initialize variables and faces as you have | 277 The two functions will initialize variables and faces as you have |
706 specified. | 278 specified. |
707 | 279 |
708 @node Wishlist, , The Init File, Top | 280 @node Wishlist, , The Init File, Top |
709 @comment node-name, next, previous, up | 281 @comment node-name, next, previous, up |
710 @section Wishlist | 282 @section Wishlist |
711 | 283 |
712 @itemize @bullet | 284 @itemize @bullet |
713 @item | 285 @item |
714 Better support for keyboard operations in the customize buffer. | 286 Better support for keyboard operations in the customize buffer. |
715 | 287 |
716 @item | 288 @item |
717 Integrate with @file{w3} so you can customization buffers with much | 289 Integrate with @file{w3} so you can get customization buffers with much |
718 better formatting. I'm thinking about adding a <custom>name</custom> | 290 better formatting. I'm thinking about adding a <custom>name</custom> |
719 tag. The latest w3 have some support for this, so come up with a | 291 tag. The latest w3 have some support for this, so come up with a |
720 convincing example. | 292 convincing example. |
721 | 293 |
722 @item | 294 @item |
748 item in XEmacs. This is like the *Completions* buffer in XEmacs. | 320 item in XEmacs. This is like the *Completions* buffer in XEmacs. |
749 Suggested by Jens Lautenbacher | 321 Suggested by Jens Lautenbacher |
750 @samp{<jens@@lemming0.lem.uni-karlsruhe.de>}.@refill | 322 @samp{<jens@@lemming0.lem.uni-karlsruhe.de>}.@refill |
751 | 323 |
752 @item | 324 @item |
753 Empty customization groups should start open (harder than it looks). | 325 Explain why it is necessary that all choices have differnet default |
326 values. | |
754 | 327 |
755 @item | 328 @item |
756 Make it possible to include a comment/remark/annotation when saving an | 329 Make it possible to include a comment/remark/annotation when saving an |
757 option. | 330 option. |
758 | 331 |
791 | 364 |
792 @item | 365 @item |
793 Detect when faces have been changed outside customize. | 366 Detect when faces have been changed outside customize. |
794 | 367 |
795 @item | 368 @item |
796 Activate mouse help in Emacs by default. | 369 Enable mouse help in Emacs by default. |
797 | |
798 @item | |
799 Group members should be sorted, groups last. | |
800 | 370 |
801 @item | 371 @item |
802 Add an easy way to display the standard settings when an item is modified. | 372 Add an easy way to display the standard settings when an item is modified. |
373 | |
374 @item | |
375 Option or command to create new buffer instead of expanding a group | |
376 inline. | |
377 | |
378 @item | |
379 See if it is feasible to scan files for customization information | |
380 instead of loading them, | |
381 | |
382 @item | |
383 Add hint message when user push a non-pushable tag. | |
384 | |
385 Suggest that the user unhide if hidden, and edit the value directly | |
386 otherwise. | |
803 | 387 |
804 @end itemize | 388 @end itemize |
805 | 389 |
806 @contents | 390 @contents |
807 @bye | 391 @bye |