From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: suggestion: display of #+TITLE Date: Wed, 24 Mar 2010 15:52:19 +0100 Message-ID: <161BB572-48B8-4E1C-9437-EAA3A0863465@gmail.com> References: <87wrxcnsig.fsf@stats.ox.ac.uk> <87r5nhr9qr.fsf@stats.ox.ac.uk> <877hp5i1wl.fsf@stats.ox.ac.uk> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NuWrc-0000LX-9T for emacs-orgmode@gnu.org; Wed, 24 Mar 2010 16:07:40 -0400 Received: from [140.186.70.92] (port=36000 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NuWrZ-0000KI-Mo for emacs-orgmode@gnu.org; Wed, 24 Mar 2010 16:07:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NuWrY-0004Ha-3x for emacs-orgmode@gnu.org; Wed, 24 Mar 2010 16:07:37 -0400 Received: from mail-ew0-f216.google.com ([209.85.219.216]:43521) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NuWrX-0004FT-QH for emacs-orgmode@gnu.org; Wed, 24 Mar 2010 16:07:36 -0400 Received: by mail-ew0-f216.google.com with SMTP id 8so48223ewy.8 for ; Wed, 24 Mar 2010 13:07:35 -0700 (PDT) In-Reply-To: <877hp5i1wl.fsf@stats.ox.ac.uk> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Dan Davison Cc: emacs org-mode mailing list Hi Dan, I think the patch is almost good. I do like the larger face for the title, and I know that some themes also use larger faces for headlines. But I think we at least need a variable governing if the keyword will be made invisible or not. If you type "#+email:", for example, that string does disappear without a trace, and that is very confusing. In fact, my preference would be to not make the keyword invisible. Thanks - Carsten On Mar 22, 2010, at 2:24 AM, Dan Davison wrote: > Dan Davison writes: > >> Carsten Dominik writes: >> >>> On Mar 16, 2010, at 5:25 PM, Dan Davison wrote: >>> >>>> Might it be worth considering a special display for the #+title >>>> line >>>> in >>>> org buffers? >>>> >>>> Currently it is easy for the title to get buried among more >>>> technical >>>> configuration lines like #+options, #+startup, #+seq_toto etc. >>>> One can >>>> take the approach of leaving #+title at the top of the document, >>>> and >>>> moving the other config lines elesewhere, but even so I am >>>> wondering >>>> whether anyone else is attracted by the idea of providing an org- >>>> title >>>> display property that would hide the #+title: component, and use an >>>> appropriate face for the title text. >>>> >>>> In some ways, the current state gives the impression that the >>>> title is >>>> something which becomes important during export, but is not >>>> really a >>>> key >>>> component of document when it is being viewed in emacs. For >>>> example, I >>>> expect others are familiar with the experience of exporting an org >>>> file >>>> without a title, finding that the first heading has been used as a >>>> title, and then going back to add in the title as an >>>> afterthought. But a >>>> title is an important part of a document, and I thought perhaps a >>>> special title display would help to make the title more of a first >>>> class >>>> citizen in org buffers? >>> >>> Hi Dan, >>> >>> I agree. Maybe he same should be true for DATE and AUTHOR, maybe >>> EMAIL? >>> >>> Would you like to make a patch for this, introducing a new face >>> and applying it to these constructs? > > I've made a proposed patch (below). This involved making a few > decisions > about appearance -- it would be great to get other peoples' views and > alternative proposals. > > At the risk of stating the obvious, I think we should ask the question > "What might attract new users to org-mode most?", rather than query > our > personal preferences (because we can all change it ourselves or fire > off > an email to this list asking how). > > Here's my main proposal (corresponding to the patch below). Note > that in > the first 4 lines the #+TITLE: and #+AUTHOR: etc bits are still there, > but invisible. > > [I've also put the screenshots at http://www.princeton.edu/~ddavison/org-faces/ > ] > > [Default-MidnightBlue.png] > > The main issue then is that I'm suggesting making the title face > larger > than the other faces. This would be the only large face in org-mode, > but > I thought that it was appropriate for the title. Here's a version > without the large title face: > > [Default-MidnightBlue-NoBigTitle.png] > > As for the colours, here's an alternative: > > [Default-DarkSlateGrey.png] > > The important thing is the default emacs colour theme shown above, > but I > did pick a colour for dark backgrounds. For what it's worth, here is > what it looks like with (the excellent) color-theme-charcoal-black: > > [CharcoalBlack-SteelBlue.png] > > Here's the patch. If anyone wants to play around, it's pretty > obvious in > the patch below where to change the colours (and boldness and > height). Don't forget the functions list-colors-display and > list-faces-display. > > There's at least one issue with the patch: if you leave a space > between > e.g. '#+TITLE:' and the start of the title text, then that space will > not be made invisible and so will appear at the start of the title. I > couldn't see how to avoid that without altering one of the key font- > lock > regexps. > > Dan > > --8<---------------cut here---------------start------------->8--- > commit 72aa791ea0bf613d50b9bf88affd6a53e91c1ebe > Author: Dan Davison > Date: Sun Mar 21 20:26:02 2010 -0400 > > Alter display of title, author, email and date lines. > > For each of #+TITLE:, #+AUTHOR:, #+EMAIL:, #+DATE:, the > initial #+KEYWORD: part is hidden and the following new > faces are applied to the remaining visible part: > > org-title-line > org-author-line > org-email-line > org-date-line > > diff --git a/lisp/org-faces.el b/lisp/org-faces.el > index e336b3c..ebc9596 100644 > --- a/lisp/org-faces.el > +++ b/lisp/org-faces.el > @@ -468,6 +468,25 @@ changes." > :group 'org-faces > :version "22.1") > > +(defface org-title-line > + '((((class color) (background light)) (:foreground "midnight > blue" :weight bold :height 1.44)) > + (((class color) (background dark)) (:foreground "steel > blue" :weight bold :height 1.44)) > + (t (:weight bold :height 1.44))) > + "Face for #+TITLE: line." > + :group 'org-faces) > + > +(defface org-author-line > + '((((class color) (background light)) (:foreground "midnight > blue")) > + (((class color) (background dark)) (:foreground "steel blue"))) > + "Face for #+AUTHOR: line." > + :group 'org-faces) > + > +(org-copy-face 'org-author-line 'org-email-line > + "Face for #+EMAIL: line.") > + > +(org-copy-face 'org-author-line 'org-date-line > + "Face for #+DATE: line.") > + > (defface org-block > (org-compatible-face 'shadow > '((((class color grayscale) (min-colors 88) (background light)) > diff --git a/lisp/org.el b/lisp/org.el > index b723528..17e3877 100644 > --- a/lisp/org.el > +++ b/lisp/org.el > @@ -4642,6 +4642,22 @@ will be prompted for." > ((string= block-type "verse") > (add-text-properties beg1 end1 '(face org-verse)))) > t)) > + ((equal dc1 "title:") > + (add-text-properties beg (match-end 3) '(font-lock-fontified t > invisible t)) > + (add-text-properties > + (match-beginning 6) (match-end 6) '(font-lock-fontified t > face org-title-line))) > + ((equal dc1 "author:") > + (add-text-properties beg (match-end 3) '(font-lock-fontified t > invisible t)) > + (add-text-properties > + (match-beginning 6) (match-end 6) '(font-lock-fontified t > face org-author-line))) > + ((equal dc1 "email:") > + (add-text-properties beg (match-end 3) '(font-lock-fontified t > invisible t)) > + (add-text-properties > + (match-beginning 6) (match-end 6) '(font-lock-fontified t > face org-email-line))) > + ((equal dc1 "date:") > + (add-text-properties beg (match-end 3) '(font-lock-fontified t > invisible t)) > + (add-text-properties > + (match-beginning 6) (match-end 6) '(font-lock-fontified t > face org-date-line))) > ((not (member (char-after beg) '(?\ ?\t))) > ;; just any other in-buffer setting, but not indented > (add-text-properties > --8<---------------cut here---------------end--------------->8--- > > > >> >> OK, it's on my list. >> >> Dan >> >>> >>> - Carsten >>> >>> >>> >>> _______________________________________________ >>> Emacs-orgmode mailing list >>> Please use `Reply All' to send replies to the list. >>> Emacs-orgmode@gnu.org >>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >> >> >> _______________________________________________ >> Emacs-orgmode mailing list >> Please use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten