From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Davison Subject: Re: suggestion: display of #+TITLE Date: Sat, 27 Mar 2010 22:52:00 -0400 Message-ID: <87fx3lb1kf.fsf@stats.ox.ac.uk> References: <87wrxcnsig.fsf@stats.ox.ac.uk> <87r5nhr9qr.fsf@stats.ox.ac.uk> <877hp5i1wl.fsf@stats.ox.ac.uk> <161BB572-48B8-4E1C-9437-EAA3A0863465@gmail.com> <874ok3wybm.fsf@stats.ox.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nvibq-0006Es-Dq for emacs-orgmode@gnu.org; Sat, 27 Mar 2010 22:52:18 -0400 Received: from [140.186.70.92] (port=60480 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nvibn-0006Dt-Il for emacs-orgmode@gnu.org; Sat, 27 Mar 2010 22:52:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Nvibj-0004up-SI for emacs-orgmode@gnu.org; Sat, 27 Mar 2010 22:52:15 -0400 Received: from markov.stats.ox.ac.uk ([163.1.210.1]:42686) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Nvibj-0004ub-ER for emacs-orgmode@gnu.org; Sat, 27 Mar 2010 22:52:11 -0400 In-Reply-To: (Scot Becker's message of "Sat, 27 Mar 2010 21:34:37 +0000") 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: Scot Becker Cc: emacs org-mode mailing list , Carsten Dominik Thanks Scot, here's the final version of my proposed patch (no change in outward appearance from previous version). By default, title, author, date and email lines appear in dark blue with the initial keywords greyed out. The title is in a larger font than the others. To change that appearance, customise the faces org-document-title org-document-info org-document-info-keyword In addition, the variable org-hidden-keywords can be used to make any of those keywords disappear. You can use the customize interface for this, or e.g. (setq org-hidden-keywords '(title date)) Dan --8<---------------cut here---------------start------------->8--- diff --git a/lisp/org-faces.el b/lisp/org-faces.el index e336b3c..8ec7ce1 100644 --- a/lisp/org-faces.el +++ b/lisp/org-faces.el @@ -468,6 +468,34 @@ changes." :group 'org-faces :version "22.1") =20 +(defface org-document-title + '((((class color) (background light)) (:foreground "midnight blue" :weig= ht bold :height 1.44)) + (((class color) (background dark)) (:foreground "pale turquoise" :weig= ht bold :height 1.44)) + (t (:weight bold :height 1.44))) + "Face for document title, i.e. that which follows the #+TITLE: keyword." + :group 'org-faces) + +(defface org-document-info + '((((class color) (background light)) (:foreground "midnight blue")) + (((class color) (background dark)) (:foreground "pale turquoise")) + (t nil)) + "Face for document date, author and email; i.e. that which +follows a #+DATE:, #+AUTHOR: or #+EMAIL: keyword." + :group 'org-faces) + +(defface org-document-info-keyword + (org-compatible-face 'shadow + '((((class color grayscale) (min-colors 88) (background light)) + (:foreground "grey50")) + (((class color grayscale) (min-colors 88) (background dark)) + (:foreground "grey70")) + (((class color) (min-colors 8) (background light)) + (:foreground "green")) + (((class color) (min-colors 8) (background dark)) + (:foreground "yellow")))) + "Face for #+TITLE:, #+AUTHOR:, #+EMAIL: and #+DATE: keywords." + :group 'org-faces) + (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 dad8649..e30c49a 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -2975,6 +2975,17 @@ lines to the buffer: :group 'org-font-lock :type 'boolean) =20 +(defcustom org-hidden-keywords nil + "List of keywords that should be hidden when typed in the org buffer. +For example, add #+TITLE to this list in order to make the +document title appear in the buffer without the initial #+TITLE: +keyword." + :group 'org-font-lock + :type '(set (const :tag "#+AUTHOR" author) + (const :tag "#+DATE" date) + (const :tag "#+EMAIL" email) + (const :tag "#+TITLE" title))) + (defcustom org-fontify-done-headline nil "Non-nil means change the face of a headline if it is marked DONE. Normally, only the TODO/DONE keyword indicates the state of a headline. @@ -4681,6 +4692,17 @@ will be prompted for." ((string=3D block-type "verse") (add-text-properties beg1 end1 '(face org-verse)))) t)) + ((member dc1 '("title:" "author:" "email:" "date:")) + (add-text-properties + beg (match-end 3) + (if (member (intern (substring dc1 0 -1)) org-hidden-keywords) + '(font-lock-fontified t invisible t) + '(font-lock-fontified t face org-document-info-keyword))) + (add-text-properties + (match-beginning 6) (match-end 6) + (if (string-equal dc1 "title:") + '(font-lock-fontified t face org-document-title) + '(font-lock-fontified t face org-document-info)))) ((not (member (char-after beg) '(?\ ?\t))) ;; just any other in-buffer setting, but not indented (add-text-properties --8<---------------cut here---------------end--------------->8--- Scot Becker writes: > I like it.=C2=A0 This is a great little piece of work.=C2=A0=C2=A0 Thanks= a lot.=C2=A0 > > Scot > > > On Fri, Mar 26, 2010 at 3:34 AM, Dan Davison wro= te: > > Carsten, Scot -- > > Scot Becker writes: > > > Or what about---in the spirit of the 'hidden' outline stars---the o= ption > to set > > "#+TITLE:" and friends in a 'barely visible' color, and in the 'sta= ndard' > font > > of the document, if that's possible. > > OK, I understand that suddenly-disappearing text might be confusing. = My > intention was to help in the current efforts to avoid making org seem > too "technical" to people coming from more mainstream software, by > providing a clean document title. But OK, so magical hiding off by > default. Scot's suggestion seems like a good intermediate > position. Below is a new version of the patch which follows that. I > resisted the temptation to go crazy with the "barely visible"-ness, j= ust > the same as other dimmed text in org (archived, code, etc). =C2=A0An = image is > at > > http://www.princeton.edu/~ddavison/org-faces/ > Default-MidnightBlue-DimmedKeywords.png > > > =C2=A0As sexy as it is, really hiding the > > markup is a fair break from most (all?) of 'standard' org mode, > > Right, apart from links I guess. Org users are used to sudden hiding > behaviour on their part. > > [...] > > > On Wed, Mar 24, 2010 at 2:52 PM, Carsten Dominik < > carsten.dominik@gmail.com> > > wrote: > > > > =C2=A0 =C2=A0 Hi Dan, > > > > =C2=A0 =C2=A0 I think the patch is almost good. =C2=A0I do like the= larger face > > =C2=A0 =C2=A0 for the title, and I know that some themes also use l= arger faces > > =C2=A0 =C2=A0 for headlines. > > > > =C2=A0 =C2=A0 But I think we at least need a variable > > =C2=A0 =C2=A0 governing if the keyword will be made invisible or no= t. > > In addition to the new faces, I've introduced a new variable > org-hidden-keywords which is a list of special keywords to hide, with= a > customise interface. At the moment that allows for hiding > of #+TITLE, #+AUTHOR, #+DATE and #+EMAIL. By default all hiding is of= f. > > Dan > > --8<---------------cut here---------------start------------->8--- > diff --git a/lisp/org-faces.el b/lisp/org-faces.el > index e336b3c..fc80e82 100644 > --- a/lisp/org-faces.el > +++ b/lisp/org-faces.el > @@ -59,6 +59,19 @@ The foreground color of this face should be equal = to the > background > =C2=A0color of the frame." > =C2=A0 :group 'org-faces) > > +(defface org-dim =C2=A0 =C2=A0; similar to shadow > + =C2=A0(org-compatible-face 'shadow > + =C2=A0 =C2=A0'((((class color grayscale) (min-colors 88) (backgroun= d light)) > + =C2=A0 =C2=A0 =C2=A0 (:foreground "grey50")) > + =C2=A0 =C2=A0 =C2=A0(((class color grayscale) (min-colors 88) (back= ground dark)) > + =C2=A0 =C2=A0 =C2=A0 (:foreground "grey70")) > + =C2=A0 =C2=A0 =C2=A0(((class color) (min-colors 8) (background ligh= t)) > + =C2=A0 =C2=A0 =C2=A0 (:foreground "green")) > + =C2=A0 =C2=A0 =C2=A0(((class color) (min-colors 8) (background dark= )) > + =C2=A0 =C2=A0 =C2=A0 (:foreground "yellow")))) > + =C2=A0"Face used to de-emphasise text by dimming." > + =C2=A0:group 'org-faces) > + > =C2=A0(defface org-level-1 ;; originally copied from > font-lock-function-name-face > =C2=A0 (org-compatible-face 'outline-1 > =C2=A0 =C2=A0 '((((class color) (min-colors 88) (background light)) (= :foreground > "Blue1")) > @@ -468,6 +481,41 @@ changes." > =C2=A0 :group 'org-faces > =C2=A0 :version "22.1") > > +(defface org-document-title > + =C2=A0'((((class color) (background light)) (:foreground "midnight = blue" > :weight bold :height 1.44)) > + =C2=A0 =C2=A0(((class color) (background dark)) (:foreground "steel= blue" :weight > bold :height 1.44)) > + =C2=A0 =C2=A0(t (:weight bold :height 1.44))) > + =C2=A0"Face for document title, i.e. that which follows the #+TITLE= : keyword." > + =C2=A0:group 'org-faces) > + > +(defface org-document-author > + =C2=A0'((((class color) (background light)) (:foreground "midnight = blue")) > + =C2=A0 =C2=A0(((class color) (background dark)) (:foreground "steel= blue"))) > + =C2=A0"Face for document author, i.e. that which follows the #+AUTH= OR: > keyword." > + =C2=A0:group 'org-faces) > + > +(defface org-document-email > + =C2=A0(org-compatible-face 'org-document-author '((t nil))) > + =C2=A0"Face for document email, i.e. that which follows the #+EMAIL= : keyword." > + =C2=A0:group 'org-faces) > + > +(defface org-document-date > + =C2=A0(org-compatible-face 'org-document-author '((t nil))) > + =C2=A0"Face for document date, i.e. that which follows the #+DATE: = keyword." > + =C2=A0:group 'org-faces) > + > +(org-copy-face 'org-dim 'org-document-title-keyword > + =C2=A0"Face for #+TITLE: keyword.") > + > +(org-copy-face 'org-dim 'org-document-author-keyword > + =C2=A0"Face for #+AUTHOR: keyword.") > + > +(org-copy-face 'org-dim 'org-document-email-keyword > + =C2=A0"Face for #+EMAIL: keyword.") > + > +(org-copy-face 'org-dim 'org-document-date-keyword > + =C2=A0"Face for #+DATE: keyword.") > + > =C2=A0(defface org-block > =C2=A0 (org-compatible-face 'shadow > =C2=A0 =C2=A0 '((((class color grayscale) (min-colors 88) (background= light)) > diff --git a/lisp/org.el b/lisp/org.el > index dad8649..4410f46 100644 > --- a/lisp/org.el > +++ b/lisp/org.el > @@ -2975,6 +2975,17 @@ lines to the buffer: > =C2=A0 :group 'org-font-lock > =C2=A0 :type 'boolean) > > +(defcustom org-hidden-keywords nil > + =C2=A0"List of keywords that should be hidden when typed in the org= buffer. > +For example, add #+TITLE to this list in order to make the > +document title appear in the buffer without the initial #+TITLE > +keyword." > + =C2=A0:group 'org-font-lock > + =C2=A0:type '(set (const :tag "#+AUTHOR" author) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (const :tag "#+DATE" date) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (const :tag "#+EMAIL" ema= il) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (const :tag "#+TITLE" =C2= =A0title))) > + > =C2=A0(defcustom org-fontify-done-headline nil > =C2=A0 "Non-nil means change the face of a headline if it is marked D= ONE. > =C2=A0Normally, only the TODO/DONE keyword indicates the state of a h= eadline. > @@ -4681,6 +4692,42 @@ will be prompted for." > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ((string=3D block-ty= pe "verse") > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(add-text-prop= erties beg1 end1 '(face org-verse)))) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0t)) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((equal dc1 "title:") > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (add-text-properties > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0beg (match-end 3) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(if (member 'title org-hid= den-keywords) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-= fontified t invisible t) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-fontifi= ed t face org-document-title-keyword))) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (add-text-properties > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(match-beginning 6) (match= -end 6) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-fontified t fa= ce org-document-title))) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((equal dc1 "author:") > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (add-text-properties > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0beg (match-end 3) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(if (member 'author org-hi= dden-keywords) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-= fontified t invisible t) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-fontifi= ed t face org-document-author-keyword))) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (add-text-properties > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(match-beginning 6) (match= -end 6) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-fontified t fa= ce org-document-author))) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((equal dc1 "email:") > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (add-text-properties > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0beg (match-end 3) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(if (member 'email org-hid= den-keywords) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-= fontified t invisible t) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-fontifi= ed t face org-document-email-keyword))) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (add-text-properties > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(match-beginning 6) (match= -end 6) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-fontified t fa= ce org-document-email))) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((equal dc1 "date:") > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (add-text-properties > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0beg (match-end 3) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(if (member 'date org-hidd= en-keywords) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-= fontified t invisible t) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-fontifi= ed t face org-document-date-keyword))) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (add-text-properties > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(match-beginning 6) (match= -end 6) > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'(font-lock-fontified t fa= ce org-document-date))) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ((not (member (char-after beg) '(?= \ =C2=A0?\t))) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; just any other in-buffer = setting, but not indented > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(add-text-properties > --8<---------------cut here---------------end--------------->8--- > > > > > =C2=A0 =C2=A0 If you type "#+email:", for example, that string does= disappear > > =C2=A0 =C2=A0 without a trace, and that is very confusing. =C2=A0In= fact, my preference > > =C2=A0 =C2=A0 would be to not make the keyword invisible. > > > > =C2=A0 =C2=A0 Thanks > > > > =C2=A0 =C2=A0 - Carsten > > > > > > =C2=A0 =C2=A0 On Mar 22, 2010, at 2:24 AM, Dan Davison wrote: > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 Dan Davison wr= ites: > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Carsten Dominik writes: > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 On Mar 16, = 2010, at 5:25 PM, Dan Davison wrote: > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 Might it be worth considering a special display for > the # > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 +title line > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 in > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 org buffers? > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 Currently it is easy for the title to get buried > among more > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 technical > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 configuration lines like #+options, #+startup, # > +seq_toto > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 etc. One can > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 take the approach of leaving #+title at the top of > the > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 document, and > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 moving the other config lines elesewhere, but even so > I am > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 wondering > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 whether anyone else is attracted by the idea of > providing > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 an org-title > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 display property that would hide the #+title: > component, > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 and use an > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 appropriate face for the title text. > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 In some ways, the current state gives the impression > that > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 the title is > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 something which becomes important during export, but > is not > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 really a > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 key > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 component of document when it is being viewed in > emacs. For > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 example, I > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 expect others are familiar with the experience of > exporting > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 an org > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 file > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 without a title, finding that the first heading has > been > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 used as a > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 title, and then going back to add in the title as an > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 afterthought. But a > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 title is an important part of a document, and I > thought > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 perhaps a > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 special title display would help to make the title > more of > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 a first > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 class > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 citizen in org buffers? > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Hi Dan, > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 I agree. = =C2=A0Maybe he same should be true for DATE and > AUTHOR, > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 maybe EMAIL? > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Would you l= ike to make a patch for this, introducing a > new face > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 and applyin= g it to these constructs? > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 I've made a proposed patch (below). Thi= s involved making a few > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 decisions > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 about appearance -- it would be great t= o get other peoples' views > and > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 alternative proposals. > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 At the risk of stating the obvious, I t= hink we should ask the > question > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 "What might attract new users to org-mo= de most?", rather than > query our > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 personal preferences (because we can al= l change it ourselves or > fire > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 off > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 an email to this list asking how). > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 Here's my main proposal (corresponding = to the patch below). Note > that > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 in > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 the first 4 lines the #+TITLE: and #+AU= THOR: etc bits are still > there, > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 but invisible. > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 [I've also put the screenshots at http:= //www.princeton.edu/ > ~ddavison/ > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 org-faces/] > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 [Default-MidnightBlue.png] > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 The main issue then is that I'm suggest= ing making the title face > larger > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 than the other faces. This would be the= only large face in > org-mode, > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 but > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 I thought that it was appropriate for t= he title. Here's a version > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 without the large title face: > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 [Default-MidnightBlue-NoBigTitle.png] > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 As for the colours, here's an alternati= ve: > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 [Default-DarkSlateGrey.png] > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 The important thing is the default emac= s colour theme shown > above, but > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 I > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 did pick a colour for dark backgrounds.= For what it's worth, here > is > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 what it looks like with (the excellent) > color-theme-charcoal-black: > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 [CharcoalBlack-SteelBlue.png] > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 Here's the patch. If anyone wants to pl= ay around, it's pretty > obvious > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 in > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 the patch below where to change the col= ours (and boldness and > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 height). Don't forget the functions lis= t-colors-display and > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 list-faces-display. > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 There's at least one issue with the pat= ch: if you leave a space > between > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 e.g. '#+TITLE:' and the start of the ti= tle text, then that space > will > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 not be made invisible and so will appea= r at the start of the > title. I > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 couldn't see how to avoid that without = altering one of the key > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 font-lock > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 regexps. > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 Dan > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 --8<---------------cut here------------= ---start------------->8--- > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 commit 72aa791ea0bf613d50b9bf88affd6a53= e91c1ebe > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 Author: Dan Davison > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 Date: =C2=A0 Sun Mar 21 20:26:02 2010 -= 0400 > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Alter display of title, author, = email and date lines. > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 For each of #+TITLE:, #+AUTHOR:,= #+EMAIL:, #+DATE:, the > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 initial #+KEYWORD: part is hidde= n and the following new > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 faces are applied to the remaini= ng visible part: > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 org-title-line > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 org-author-line > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 org-email-line > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 org-date-line > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 diff --git a/lisp/org-faces.el b/lisp/o= rg-faces.el > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 index e336b3c..ebc9596 100644 > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 --- a/lisp/org-faces.el > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 +++ b/lisp/org-faces.el > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 @@ -468,6 +468,25 @@ changes." > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0:group 'org-faces > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0:version "22.1") > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 +(defface org-title-line > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0'((((class color) (background l= ight)) (:foreground "midnight > blue" > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 :weight bold :height 1.44)) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0(((class color) (backgro= und dark)) (:foreground "steel blue" > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 :weight bold :height 1.44)) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0(t (:weight bold :height= 1.44))) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0"Face for #+TITLE: line." > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0:group 'org-faces) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 +(defface org-author-line > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0'((((class color) (background l= ight)) (:foreground "midnight > blue")) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0(((class color) (backgro= und dark)) (:foreground "steel > blue"))) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0"Face for #+AUTHOR: line." > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0:group 'org-faces) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 +(org-copy-face 'org-author-line 'org-e= mail-line > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0"Face for #+EMAIL: line.") > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 +(org-copy-face 'org-author-line 'org-d= ate-line > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0"Face for #+DATE: line.") > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 (defface org-block > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(org-compatible-face 'shadow > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'((((class color grayscale= ) (min-colors 88) (background > light)) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 diff --git a/lisp/org.el b/lisp/org.el > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 index b723528..17e3877 100644 > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 --- a/lisp/org.el > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 +++ b/lisp/org.el > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 @@ -4642,6 +4642,22 @@ will be prompted= for." > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 ((string=3D block-type "verse") > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0(add-text-properties beg1 end1 '(face > org-verse)))) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0t)) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((e= qual dc1 "title:") > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (a= dd-text-properties beg (match-end 3) ' > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 (font-lock-fontified t invisible t)) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (a= dd-text-properties > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(match-beginning 6) (match-end 6) ' > (font-lock-fontified t > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 face org-title-line))) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((e= qual dc1 "author:") > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (a= dd-text-properties beg (match-end 3) ' > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 (font-lock-fontified t invisible t)) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (a= dd-text-properties > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(match-beginning 6) (match-end 6) ' > (font-lock-fontified t > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 face org-author-line))) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((e= qual dc1 "email:") > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (a= dd-text-properties beg (match-end 3) ' > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 (font-lock-fontified t invisible t)) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (a= dd-text-properties > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(match-beginning 6) (match-end 6) ' > (font-lock-fontified t > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 face org-email-line))) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((e= qual dc1 "date:") > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (a= dd-text-properties beg (match-end 3) ' > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 (font-lock-fontified t invisible t)) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (a= dd-text-properties > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(match-beginning 6) (match-end 6) ' > (font-lock-fontified t > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 face org-date-line))) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ((no= t (member (char-after beg) '(?\ =C2=A0?\t))) > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0;; just any other in-buffer setting, but not indented > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0(add-text-properties > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 --8<---------------cut here------------= ---end--------------->8--- > > > > > > > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 OK, it's on my list. > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Dan > > > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 - Carsten > > > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ___________= ____________________________________ > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Emacs-orgmo= de mailing list > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Please use = `Reply All' to send replies to the list. > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Emacs-orgmo= de@gnu.org > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 http://list= s.gnu.org/mailman/listinfo/emacs-orgmode > > > > > > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 _________________________= ______________________ > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Emacs-orgmode mailing list > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Please use `Reply All' to= send replies to the list. > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Emacs-orgmode@gnu.org > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 http://lists.gnu.org/mail= man/listinfo/emacs-orgmode > > > > > > =C2=A0 =C2=A0 - Carsten > > > > > > > > > > > > =C2=A0 =C2=A0 _______________________________________________ > > =C2=A0 =C2=A0 Emacs-orgmode mailing list > > =C2=A0 =C2=A0 Please use `Reply All' to send replies to the list. > > =C2=A0 =C2=A0 Emacs-orgmode@gnu.org > > =C2=A0 =C2=A0 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