From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: provide an easy way to customize inherited faces Date: Sat, 15 Jul 2006 07:44:42 -0700 Message-ID: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1152974786 29474 80.91.229.2 (15 Jul 2006 14:46:26 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 15 Jul 2006 14:46:26 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jul 15 16:46:26 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1G1lPO-00032c-O5 for ged-emacs-devel@m.gmane.org; Sat, 15 Jul 2006 16:46:19 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G1lPL-0006mb-Mc for ged-emacs-devel@m.gmane.org; Sat, 15 Jul 2006 10:46:15 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1G1lOc-0006UD-7w for emacs-devel@gnu.org; Sat, 15 Jul 2006 10:45:30 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1G1lOY-0006Sw-Ge for emacs-devel@gnu.org; Sat, 15 Jul 2006 10:45:29 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G1lOY-0006St-Ak for emacs-devel@gnu.org; Sat, 15 Jul 2006 10:45:26 -0400 Original-Received: from [148.87.113.118] (helo=rgminet01.oracle.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.52) id 1G1lQl-00058b-4T for emacs-devel@gnu.org; Sat, 15 Jul 2006 10:47:44 -0400 Original-Received: from rcsmt250.oracle.com (rcsmt250.oracle.com [148.87.90.195]) by rgminet01.oracle.com (Switch-3.1.6/Switch-3.1.6) with ESMTP id k6FCflOU009385 for ; Sat, 15 Jul 2006 08:45:16 -0600 Original-Received: from dhcp-amer-whq-csvpn-gw3-141-144-81-31.vpn.oracle.com by rcsmt251.oracle.com with ESMTP id 1570491591152974693; Sat, 15 Jul 2006 08:44:53 -0600 Original-To: "Emacs-Devel" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807 X-Whitelist: TRUE X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:57043 Archived-At: 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.