comparison man/custom.texi @ 120:cca96a509cfe r20-1b12

Import from CVS: tag r20-1b12
author cvs
date Mon, 13 Aug 2007 09:25:29 +0200
parents 7d55a9ba150c
children 9b50b4588a93
comparison
equal deleted inserted replaced
119:d101af7320b8 120:cca96a509cfe
11 11
12 @node Top, Introduction, (dir), (dir) 12 @node Top, Introduction, (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.69 16 Version: 1.74
17 17
18 @menu 18 @menu
19 * Introduction:: 19 * Introduction::
20 * User Commands:: 20 * User Commands::
21 * The Customization Buffer:: 21 * The Customization Buffer::
270 that face on some buffer text will not affect its boldness. If the bold 270 that face on some buffer text will not affect its boldness. If the bold
271 attribute is controlled by the face, it can be turned either on or of. 271 attribute is controlled by the face, it can be turned either on or of.
272 272
273 It is possible to specify that a face should have different attributes 273 It is possible to specify that a face should have different attributes
274 on different device types. For example, a face may make text red on a 274 on different device types. For example, a face may make text red on a
275 color device, and bold on a monochrome device. 275 color device, and bold on a monochrome device. You do this by
276 activating `Edit All' in the state menu.
276 277
277 The way this is presented in the customization buffer is to have a list 278 The way this is presented in the customization buffer is to have a list
278 of display specifications, and for each display specification a list of 279 of display specifications, and for each display specification a list of
279 face attributes. For each face attribute, there is a checkbox 280 face attributes. For each face attribute, there is a checkbox
280 specifying whether this attribute has effect and what the value is. 281 specifying whether this attribute has effect and what the value is.
281 Here is an example: 282 Here is an example:
282 283
283 @example 284 @example
284 *** custom-invalid-face: (sample) 285 *** custom-invalid-face: (sample)
286 State: this item is unchanged from its factory setting.
285 [ ] Face used when the customize item is invalid. 287 [ ] Face used when the customize item is invalid.
286 [INS] [DEL] Display: [ ] Type: [ ] X [ ] TTY 288 [INS] [DEL] Display: [ ] Type: [ ] X [ ] PM [ ] Win32 [ ] DOS [ ] TTY
287 [X] Class: [X] Color [ ] Grayscale [ ] Monochrome 289 [X] Class: [X] Color [ ] Grayscale [ ] Monochrome
288 [ ] Background: [ ] Light [ ] Dark 290 [ ] Background: [ ] Light [ ] Dark
289 Attributes: [ ] Bold: off 291 Attributes: [ ] Bold: off
290 [ ] Italic: off 292 [ ] Italic: off
291 [ ] Underline: off 293 [ ] Underline: off
301 [ ] Stipple: 303 [ ] Stipple:
302 [INS] 304 [INS]
303 @end example 305 @end example
304 306
305 This has two display specifications. The first will match all color 307 This has two display specifications. The first will match all color
306 displays, independently on whether the device is X11 or a tty, and 308 displays, independently on what window system the device belongs to, and
307 whether background color is dark or light. For devices matching this 309 whether background color is dark or light. For devices matching this
308 specification, @samp{custom-invalid-face} will force text to be 310 specification, @samp{custom-invalid-face} will force text to be
309 displayed in yellow on red, but leave all other attributes alone. 311 displayed in yellow on red, but leave all other attributes alone.
310 312
311 The second display will simply match everything. Since the list is 313 The second display will simply match everything. Since the list is
316 You can add or delete display specifications by activating the 318 You can add or delete display specifications by activating the
317 @samp{[INS]} and @samp{[DEL]} buttons, and modify them by clicking on 319 @samp{[INS]} and @samp{[DEL]} buttons, and modify them by clicking on
318 the check boxes. The first checkbox in each line in the display 320 the check boxes. The first checkbox in each line in the display
319 specification is special. It specify whether this particular property 321 specification is special. It specify whether this particular property
320 will even be relevant. By not checking the box in the first display, we 322 will even be relevant. By not checking the box in the first display, we
321 match all device types, also device types other than X11 and tty, for 323 match all device types, also device types other than those listed.
322 example ms-windows, nextstep, and mac os.
323 324
324 After modifying the face, you can activate the state button to make the 325 After modifying the face, you can activate the state button to make the
325 changes take effect. The menu items in the state button menu is similar 326 changes take effect. The menu items in the state button menu is similar
326 to the state menu items for variables described in the previous section. 327 to the state menu items for variables described in the previous section.
327 328
403 the buffer. @samp{[Done]} will bury the buffer. 404 the buffer. @samp{[Done]} will bury the buffer.
404 405
405 @node Declarations, Utilities, The Customization Buffer, Top 406 @node Declarations, Utilities, The Customization Buffer, Top
406 @comment node-name, next, previous, up 407 @comment node-name, next, previous, up
407 @section Declarations 408 @section Declarations
409
410 This section describes how to declare customization groups, variables,
411 and faces. It doesn't contain any examples, but please look at the file
412 @file{cus-edit.el} which contains many declarations you can learn from.
408 413
409 @menu 414 @menu
410 * Declaring Groups:: 415 * Declaring Groups::
411 * Declaring Variables:: 416 * Declaring Variables::
412 * Declaring Faces:: 417 * Declaring Faces::
633 The menu items should be grayed out when the information is 638 The menu items should be grayed out when the information is
634 missing. I.e. if a variable doesn't have a factory setting, the user 639 missing. I.e. if a variable doesn't have a factory setting, the user
635 should not be allowed to select the @samp{Factory} menu item. 640 should not be allowed to select the @samp{Factory} menu item.
636 641
637 @item 642 @item
638 We need @strong{much} better support for keyboard operations in the 643 Better support for keyboard operations in the customize buffer.
639 customize buffer.
640 644
641 @item 645 @item
642 Integrate with @file{w3} so you can customization buffers with much 646 Integrate with @file{w3} so you can customization buffers with much
643 better formatting. I'm thinking about adding a <custom>name</custom> 647 better formatting. I'm thinking about adding a <custom>name</custom>
644 tag. The latest w3 have some support for this, so come up with a 648 tag. The latest w3 have some support for this, so come up with a
651 @item 655 @item
652 Support selectable color themes. I.e., change many faces by setting one 656 Support selectable color themes. I.e., change many faces by setting one
653 variable. 657 variable.
654 658
655 @item 659 @item
656 There should be a way to see only the "current" display when editing a
657 face, and that should be "on" by default.
658
659 @item
660 Support undo using lmi's @file{gnus-undo.el}. 660 Support undo using lmi's @file{gnus-undo.el}.
661 661
662 @item 662 @item
663 Make it possible to append to `choice', `radio', and `set' options. 663 Make it possible to append to `choice', `radio', and `set' options.
664
665 @item
666 Make it possible to customize code, for example to enable or disable a
667 global minor mode.
664 668
665 @item 669 @item
666 Ask whether set or modified variables should be saved in 670 Ask whether set or modified variables should be saved in
667 @code{kill-buffer-hook}. 671 @code{kill-buffer-hook}.
668 672
676 Optionally disable the point-cursor and instead highlight the selected 680 Optionally disable the point-cursor and instead highlight the selected
677 item in XEmacs. This is like the *Completions* buffer in XEmacs. 681 item in XEmacs. This is like the *Completions* buffer in XEmacs.
678 Suggested by Jens Lautenbacher 682 Suggested by Jens Lautenbacher
679 @samp{<jens@@lemming0.lem.uni-karlsruhe.de>}.@refill 683 @samp{<jens@@lemming0.lem.uni-karlsruhe.de>}.@refill
680 684
685 @item
686 Empty customization groups should start open (harder than it looks).
687
681 @end itemize 688 @end itemize
682 689
683 @contents 690 @contents
684 @bye 691 @bye