unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* provide an easy way to customize inherited faces
@ 2006-07-15 14:44 Drew Adams
  2006-07-16  6:25 ` Richard Stallman
  2006-07-16 12:34 ` Stefan Monnier
  0 siblings, 2 replies; 6+ messages in thread
From: Drew Adams @ 2006-07-15 14:44 UTC (permalink / raw)


In Customize, when a face inherits from another, only the directly inherited
face name appears, and it appears only as text in an editable field. If you
know what you're doing, then you can put point in the field and use M-x
customize-face. Even then, however, the default value is just the face name
in the editable field; there is no easy way to customize other faces in the
inheritance hierarchy.

When a face inherits from others, the list of inherited faces should be
shown explicitly in the Customize buffer in some fashion. A simple list next
to the editable field (perhaps with items separated by "<"), would suffice.
It should be possible to easily customize any of the faces in that list, and
it should be obvious how to do so. Each name could be a link, and the list
of links could have a label such as "Customize Inherited Face(s)", where the
`s' is shown only when the inheritance chain is longer than two.

In many cases, it will make more sense for a user to customize an inherited
face - perhaps even a face at the top of the inheritance tree, than it would
for the user to customize each of several faces separately. An example is
face `link'. Even though the inheritance tree is flat, there are several
faces that inherit from `link'. Most users will want to change the
appearance of all of these at once - for example, to remove underlining. How
to do that is not obvious.

The natural result will be that users will end up customizing multiple faces
when one would have sufficed. The other result is that users will become
confused and frustrated, not understanding why links still appear underlined
(for example) in some buffers, even after customizing.

The starting point for customizing a face for most users will be to put
point on a face and use M-x customize-face or the equivalent via the Text
Properties menu. This will show them a face such as `info-link' or
`custom-link' in Customize, instead of the parent face, `link'. That's good,
but the inheritance information is not as accessible, for customization, as
it could be, especially in the case of a chain longer than two.

The link example is a good one, even if the hierarchy is flat. Although it
is perhaps good that links are underlined by default now, I suspect that
many Emacs users other than newbies will want to remove underlining as one
of their first customizations in Emacs 22.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-07-17  1:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-15 14:44 provide an easy way to customize inherited faces Drew Adams
2006-07-16  6:25 ` Richard Stallman
2006-07-16 17:33   ` Drew Adams
2006-07-16 12:34 ` Stefan Monnier
2006-07-16 17:02   ` Drew Adams
2006-07-17  1:41   ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).