From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Faces applies to new frames Date: Sun, 29 Jun 2008 15:42:20 -0400 Message-ID: References: <87k5gbx12n.fsf@stupidchicken.com> <87iqvty2e7.fsf@stupidchicken.com> <871w2hcek1.fsf@stupidchicken.com> <87hcbcsy8e.fsf@catnip.gol.com> <878wwosvf6.fsf@catnip.gol.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1214768561 24864 80.91.229.12 (29 Jun 2008 19:42:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 29 Jun 2008 19:42:41 +0000 (UTC) Cc: cyd@stupidchicken.com, emacs-devel@gnu.org, miles@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jun 29 21:43:26 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KD2o2-0006am-Hn for ged-emacs-devel@m.gmane.org; Sun, 29 Jun 2008 21:43:26 +0200 Original-Received: from localhost ([127.0.0.1]:40188 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KD2nC-0000RN-EB for ged-emacs-devel@m.gmane.org; Sun, 29 Jun 2008 15:42:34 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KD2n8-0000Qh-EB for emacs-devel@gnu.org; Sun, 29 Jun 2008 15:42:30 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KD2n6-0000Mp-4h for emacs-devel@gnu.org; Sun, 29 Jun 2008 15:42:29 -0400 Original-Received: from [199.232.76.173] (port=39418 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KD2n5-0000MP-Sb for emacs-devel@gnu.org; Sun, 29 Jun 2008 15:42:27 -0400 Original-Received: from ironport2-out.pppoe.ca ([206.248.154.182]:64873 helo=ironport2-out.teksavvy.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KD2mz-0002Oe-KU; Sun, 29 Jun 2008 15:42:21 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjQFAGaCZ0hFxIdG/2dsb2JhbACBW6xogXo X-IronPort-AV: E=Sophos;i="4.27,723,1204520400"; d="scan'208";a="23743413" Original-Received: from 69-196-135-70.dsl.teksavvy.com (HELO pastel.home) ([69.196.135.70]) by ironport2-out.teksavvy.com with ESMTP; 29 Jun 2008 15:42:20 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 2B62F835A; Sun, 29 Jun 2008 15:42:20 -0400 (EDT) In-Reply-To: (Richard M. Stallman's message of "Sun, 29 Jun 2008 11:20:16 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. 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:100159 Archived-At: > I think we need to change the way faces are specified, > and use something that is (1) simpler and (2) predictable. No argument. > AFAIK, the main situation where setting face attributes via > frame-parameters is useful/used is for things like > minibuffer-frame-alist (where I use it to give a special font and > background to my minibuffer-only frame(s)), and special-display-regexps. > Would buffer-based interfaces be good for these jobs? > They might be better in every way. Could be, but currently we don't have any easy way to do it within the buffer. Especially not for minibuffer-only frames which may show various buffers, all of them internal. But yes, it's quite feasible. > Perhaps we should eliminate the per-frame face attributes, and have > only per-buffer ways to alter faces from the global specifications. I'd tend to agree, although of course, having had per-frame faces for so long has encouraged people to find uses for per-frame faces, some of which may require a bit of work to port to per-buffer faces. E.g. I use a dedicated frame for my MPC.el (a front-end to the MPD daemon, see www.musicpd.org), but that frames contains many different windows showing different buffer. I currently set the frame to use a proportional font (helvetica-like) because it uses a bit less space and I find it somewhat nicer to look at, and none of those buffers suffer from the usual alignment/filling problems we encounter with proportional fonts in Emacs. Making the setting per-buffer is possible, but requires changing the face individually in each buffer, which is less satisfactory. Not a strong argument in favor of per-frame faces, just a data point. > One benefit of that is that it would avoid the uncertainty about > precedence, which we have now when both users and defaults can specify > face attributes at various levels. It would be clear and natural that > any per-buffer face specification overrides the global ones, > regardless of who set either one of them. The mere fact of changing from per-frame to per-buffer won't solve the underlying precedence problem. But if we get rid of settings coming from frame parameters and Xresources, then yes, things become simpler (both for per-buffer and for per-frame faces). Stefan