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: link appearance and soft face properties Date: Fri, 17 Jun 2005 08:32:58 -0700 Message-ID: References: <433f5a34339e1d.4339e1d433f5a3@net.lu.se> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1119022634 24535 80.91.229.2 (17 Jun 2005 15:37:14 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 17 Jun 2005 15:37:14 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jun 17 17:37:09 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DjIsg-0007Fh-PM for ged-emacs-devel@m.gmane.org; Fri, 17 Jun 2005 17:35:43 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DjIyK-0000Q2-C1 for ged-emacs-devel@m.gmane.org; Fri, 17 Jun 2005 11:41:32 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DjIw2-0008EF-TI for emacs-devel@gnu.org; Fri, 17 Jun 2005 11:39:11 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DjIvo-00088x-30 for emacs-devel@gnu.org; Fri, 17 Jun 2005 11:39:09 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DjIvl-00082m-CQ for emacs-devel@gnu.org; Fri, 17 Jun 2005 11:38:53 -0400 Original-Received: from [141.146.126.231] (helo=agminet04.oracle.com) by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.34) id 1DjIs5-000581-GY for emacs-devel@gnu.org; Fri, 17 Jun 2005 11:35:05 -0400 Original-Received: from agminet04.oracle.com (localhost [127.0.0.1]) by agminet04.oracle.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id j5HFX1hp013875 for ; Fri, 17 Jun 2005 10:33:01 -0500 Original-Received: from rgmsgw301.us.oracle.com (rgmsgw301.us.oracle.com [138.1.186.50]) by agminet04.oracle.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id j5HFX03M013851 for ; Fri, 17 Jun 2005 10:33:00 -0500 Original-Received: from rgmsgw301.us.oracle.com (localhost [127.0.0.1]) by rgmsgw301.us.oracle.com (Switch-3.1.4/Switch-3.1.0) with ESMTP id j5HFX0CK014670 for ; Fri, 17 Jun 2005 09:33:00 -0600 Original-Received: from dradamslap (dhcp-amer-csvpn-gw1-141-144-67-28.vpn.oracle.com [141.144.67.28]) by rgmsgw301.us.oracle.com (Switch-3.1.4/Switch-3.1.0) with SMTP id j5HFWxhi014657 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Fri, 17 Jun 2005 09:32:59 -0600 Original-To: X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <433f5a34339e1d.4339e1d433f5a3@net.lu.se> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 Importance: Normal X-Brightmail-Tracker: AAAAAQAAAAI= 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:39031 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:39031 We've been discussing whether or not links should be underlined, whether or not link underlining should be applied to the link face or its mouse-face, and whether or not link appearance should be the same in all buffers. Just a thought, for consideration after the release: What about having a :link face attribute (property) that is soft, not hard? This would be analogous to using soft markup like Emphasis, as opposed to hard markup like Bold: Emphasis can be different for different users/applications/environments, whereas Bold always means bold. That is, in order to separate purpose/intention/use from physical formatting, why not have soft face attributes like :link that a user can define/override (e.g. in terms of faces or face attributes)? IOW, why not separate identifying something as a link from defining its appearance? That way, a single (possibly user) definition of the :link attribute would automatically affect any faces that have that property. And it would also be easy (including for users) to selectively apply the :link property to face or mouse-face or both. Discussion here of the appearance of links (underline vs this or that) would then be reduced to discussion of 1) the default appearance of the :link face property and 2) whether to apply :link, by default, to face or mouse-face or both (and, perhaps, in what buffers). Less heat, more flexibility. This would also carry over to other soft face properties, having an impact on the appearance of things like the mode-line and buttons. Instead of hard-coding the appearance of everything, we would define a default appearance using high-level property classes like :link. Note: I'm not that familiar with face definitions, face attributes/properties, and face inheritance, so don't get excited if this makes little sense. In particular, perhaps this functionality is already available via face inheritance or in some other way. In that case, what about using this functionality to implement a generic "link" face or face property that would then be inherited by the appropriate faces that are today used for links? IOW, such properties appear today to be hard-wired - why not look for some way to soft-define them? A link is, after all, a user-interface object that exists independently of its particular formatted appearance. In Web browsers, users can easily decide whether links should be underlined, green, etc. or not. Why not give that same flexibility to Emacs?