From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scot Becker Subject: Re: suggestion: display of #+TITLE Date: Sat, 27 Mar 2010 21:34:37 +0000 Message-ID: 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: multipart/mixed; boundary="===============0526131858==" Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nvdet-0004O7-Px for emacs-orgmode@gnu.org; Sat, 27 Mar 2010 17:35:07 -0400 Received: from [140.186.70.92] (port=37557 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nvdep-0004Lz-5s for emacs-orgmode@gnu.org; Sat, 27 Mar 2010 17:35:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Nvdel-00053O-LZ for emacs-orgmode@gnu.org; Sat, 27 Mar 2010 17:35:03 -0400 Received: from mail-pz0-f198.google.com ([209.85.222.198]:49539) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Nvdel-00053F-6z for emacs-orgmode@gnu.org; Sat, 27 Mar 2010 17:34:59 -0400 Received: by pzk36 with SMTP id 36so987014pzk.24 for ; Sat, 27 Mar 2010 14:34:57 -0700 (PDT) In-Reply-To: <874ok3wybm.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 , Carsten Dominik --===============0526131858== Content-Type: multipart/alternative; boundary=000e0cd1b5a428b7670482cf0da7 --000e0cd1b5a428b7670482cf0da7 Content-Type: text/plain; charset=ISO-8859-1 I like it. This is a great little piece of work. Thanks a lot. Scot On Fri, Mar 26, 2010 at 3:34 AM, Dan Davison wrote: > Carsten, Scot -- > > Scot Becker writes: > > > Or what about---in the spirit of the 'hidden' outline stars---the option > to set > > "#+TITLE:" and friends in a 'barely visible' color, and in the 'standard' > 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, just > the same as other dimmed text in org (archived, code, etc). An image is > at > > > http://www.princeton.edu/~ddavison/org-faces/Default-MidnightBlue-DimmedKeywords.png > > > As 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: > > > > 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. > > 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 off. > > 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 > color of the frame." > :group 'org-faces) > > +(defface org-dim ; similar to shadow > + (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 used to de-emphasise text by dimming." > + :group 'org-faces) > + > (defface org-level-1 ;; originally copied from > font-lock-function-name-face > (org-compatible-face 'outline-1 > '((((class color) (min-colors 88) (background light)) (:foreground > "Blue1")) > @@ -468,6 +481,41 @@ changes." > :group 'org-faces > :version "22.1") > > +(defface org-document-title > + '((((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 document title, i.e. that which follows the #+TITLE: keyword." > + :group 'org-faces) > + > +(defface org-document-author > + '((((class color) (background light)) (:foreground "midnight blue")) > + (((class color) (background dark)) (:foreground "steel blue"))) > + "Face for document author, i.e. that which follows the #+AUTHOR: > keyword." > + :group 'org-faces) > + > +(defface org-document-email > + (org-compatible-face 'org-document-author '((t nil))) > + "Face for document email, i.e. that which follows the #+EMAIL: keyword." > + :group 'org-faces) > + > +(defface org-document-date > + (org-compatible-face 'org-document-author '((t nil))) > + "Face for document date, i.e. that which follows the #+DATE: keyword." > + :group 'org-faces) > + > +(org-copy-face 'org-dim 'org-document-title-keyword > + "Face for #+TITLE: keyword.") > + > +(org-copy-face 'org-dim 'org-document-author-keyword > + "Face for #+AUTHOR: keyword.") > + > +(org-copy-face 'org-dim 'org-document-email-keyword > + "Face for #+EMAIL: keyword.") > + > +(org-copy-face 'org-dim 'org-document-date-keyword > + "Face for #+DATE: keyword.") > + > (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..4410f46 100644 > --- a/lisp/org.el > +++ b/lisp/org.el > @@ -2975,6 +2975,17 @@ lines to the buffer: > :group 'org-font-lock > :type 'boolean) > > +(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,42 @@ 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) > + (if (member 'title org-hidden-keywords) > + '(font-lock-fontified t invisible t) > + '(font-lock-fontified t face org-document-title-keyword))) > + (add-text-properties > + (match-beginning 6) (match-end 6) > + '(font-lock-fontified t face org-document-title))) > + ((equal dc1 "author:") > + (add-text-properties > + beg (match-end 3) > + (if (member 'author org-hidden-keywords) > + '(font-lock-fontified t invisible t) > + '(font-lock-fontified t face org-document-author-keyword))) > + (add-text-properties > + (match-beginning 6) (match-end 6) > + '(font-lock-fontified t face org-document-author))) > + ((equal dc1 "email:") > + (add-text-properties > + beg (match-end 3) > + (if (member 'email org-hidden-keywords) > + '(font-lock-fontified t invisible t) > + '(font-lock-fontified t face org-document-email-keyword))) > + (add-text-properties > + (match-beginning 6) (match-end 6) > + '(font-lock-fontified t face org-document-email))) > + ((equal dc1 "date:") > + (add-text-properties > + beg (match-end 3) > + (if (member 'date org-hidden-keywords) > + '(font-lock-fontified t invisible t) > + '(font-lock-fontified t face org-document-date-keyword))) > + (add-text-properties > + (match-beginning 6) (match-end 6) > + '(font-lock-fontified t face org-document-date))) > ((not (member (char-after beg) '(?\ ?\t))) > ;; just any other in-buffer setting, but not indented > (add-text-properties > --8<---------------cut here---------------end--------------->8--- > > > > > 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 > > > > > > > > > > > > _______________________________________________ > > 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 > --000e0cd1b5a428b7670482cf0da7 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I like it.=A0 This is a great little piece of work.=A0=A0 Thanks a lot.=A0 =

Scot


On Fri, Mar 26, 2010 at = 3:34 AM, Dan Davison <davison@stats.ox.ac.uk> wrote:
Carsten, Scot --<= br>

Scot Becker <scot.becker@gmail.= com> writes:

> Or what about---in the spirit of the 'hidden' outline stars---= the option to set
> "#+TITLE:" and friends in a 'barely visible' color, = and in the 'standard' 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, b= y
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"-nes= s, just
the same as other dimmed text in org (archived, code, etc). =A0An image is<= br> at

http://www.princeton.edu/~ddaviso= n/org-faces/Default-MidnightBlue-DimmedKeywords.png

> =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<= br> behaviour on their part.

[...]

> On Wed, Mar 24, 2010 at 2:52 PM, Carsten Dominik <carsten.dominik@gmail.com>
> wrote:
>
> =A0 =A0 Hi Dan,
>
> =A0 =A0 I think the patch is almost good. =A0I do like the larger face=
> =A0 =A0 for the title, and I know that some themes also use larger fac= es
> =A0 =A0 for headlines.
>
> =A0 =A0 But I think we at least need a variable
> =A0 =A0 governing if the keyword will be made invisible or not.

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 off.

Dan

--8<---------------cut here---------------start------------->8---
diff --git a/lisp/org-faces.el b/lisp/org-faces.el<= br>
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
=A0color of the frame."
=A0 :group 'org-faces)

+(defface org-dim =A0 =A0; similar to shadow
+ =A0(org-compatible-face 'shadow
+ =A0 =A0'((((class color grayscale) (min-colors 88) = (background light))
+ =A0 =A0 =A0 (:foreground "grey50"))
+ =A0 =A0 =A0(((class color grayscale) (min-colors 88) (background dark)) + =A0 =A0 =A0 (:foreground "grey70"))
+ =A0 =A0 =A0(((class color) (min-colors 8) (background light))
+ =A0 =A0 =A0 (:foreground "green"))
+ =A0 =A0 =A0(((class color) (min-colors 8) (background dark))
+ =A0 =A0 =A0 (:foreground "yellow"))))
+ =A0"Face used to de-emphasise text by dimming."
+ =A0:group 'org-faces)
+
=A0(defface org-level-1 ;; originally copied from font-lock-function-name-f= ace
=A0 (org-compatible-face 'outline-1
=A0 =A0 '((((class color) (min-colors 88) (background light)) (:foregr= ound "Blue1"))
@@ -468,6 +481,41 @@ changes."
=A0 :group 'org-faces
=A0 :version "22.1")

+(defface org-document-title
+ =A0'((((class color) (background light)) (:foregrou= nd "midnight blue" :weight bold :height 1.44))
+ =A0 =A0(((class color) (background dark)) (:foreground "steel blue&q= uot; :weight bold :height 1.44))
+ =A0 =A0(t (:weight bold :height 1.44)))
+ =A0"Face for document title, i.e. that which follows the #+TIT= LE: keyword."
+ =A0:group 'org-faces)
+
+(defface org-document-author
+ =A0'((((class color) (background light)) (:foregrou= nd "midnight blue"))
+ =A0 =A0(((class color) (background dark)) (:foreground "steel blue&q= uot;)))
+ =A0"Face for document author, i.e. that which follows the #+AU= THOR: keyword."
+ =A0:group 'org-faces)
+
+(defface org-document-email
+ =A0(org-compatible-face 'org-document-author '((t nil)))
+ =A0"Face for document email, i.e. that which follows the #+EMAIL: ke= yword."
+ =A0:group 'org-faces)
+
+(defface org-document-date
+ =A0(org-compatible-face 'org-document-author '((t nil)))
+ =A0"Face for document date, i.e. that which follows the #+DATE: keyw= ord."
+ =A0:group 'org-faces)
+
+(org-copy-face 'org-dim 'org-document-title-keyword
+ =A0"Face for #+TITLE: keyword.")
+
+(org-copy-face 'org-dim 'org-document-author-keyword
+ =A0"Face for #+AUTHOR: keyword.")
+
+(org-copy-face 'org-dim 'org-document-email-keyword
+ =A0"Face for #+EMAIL: keyword.")
+
+(org-copy-face 'org-dim 'org-document-date-keyword
+ =A0"Face for #+DATE: keyword.")
+
=A0(defface org-block
=A0 (org-compatible-face 'shadow
=A0 =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:
=A0 :group 'org-font-lock
=A0 :type 'boolean)

+(defcustom org-hidden-keywords nil
+ =A0"List of keywords that should be hidden when typed in the org buf= fer.
+For example, add #+TITLE to this list in order to make the
+document title appear in the buffer without the initial #+TITLE
+keyword."
+ =A0:group 'org-font-lock
+ =A0:type '(set (const :tag "#+AUTHOR" author)
+ =A0 =A0 =A0 =A0 =A0 =A0 (const :tag "#+DATE" date)
+ =A0 =A0 =A0 =A0 =A0 =A0 (const :tag "#+EMAIL" email)
+ =A0 =A0 =A0 =A0 =A0 =A0 (const :tag "#+TITLE" =A0title)))
+
=A0(defcustom org-fontify-done-headline nil
=A0 "Non-nil means change the face of a headline if it is marked DONE= .
=A0Normally, only the TODO/DONE keyword indicates the state of a headline.<= br> @@ -4681,6 +4692,42 @@ will be prompted for."
=A0 =A0 =A0 =A0 =A0 =A0 =A0 ((string=3D block-type "= ;verse")
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(add-text-properties beg1 end1 '(face o= rg-verse))))
=A0 =A0 =A0 =A0 =A0 =A0 =A0t))
+ =A0 =A0 =A0 =A0 =A0((equal dc1 "title:")
+ =A0 =A0 =A0 =A0 =A0 (add-text-properties
+ =A0 =A0 =A0 =A0 =A0 =A0beg (match-end 3)
+ =A0 =A0 =A0 =A0 =A0 =A0(if (member 'title org-hidden-keywords)<= br> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t invisible t) + =A0 =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t face org-document-= title-keyword)))
+ =A0 =A0 =A0 =A0 =A0 (add-text-properties
+ =A0 =A0 =A0 =A0 =A0 =A0(match-beginning 6) (match-end 6= )
+ =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t face org-documen= t-title)))
+ =A0 =A0 =A0 =A0 =A0((equal dc1 "author:")
+ =A0 =A0 =A0 =A0 =A0 (add-text-properties
+ =A0 =A0 =A0 =A0 =A0 =A0beg (match-end 3)
+ =A0 =A0 =A0 =A0 =A0 =A0(if (member 'author org-hidden-keywords)=
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t invisible t) + =A0 =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t face org-document-= author-keyword)))
+ =A0 =A0 =A0 =A0 =A0 (add-text-properties
+ =A0 =A0 =A0 =A0 =A0 =A0(match-beginning 6) (match-end 6= )
+ =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t face org-documen= t-author)))
+ =A0 =A0 =A0 =A0 =A0((equal dc1 "email:")
+ =A0 =A0 =A0 =A0 =A0 (add-text-properties
+ =A0 =A0 =A0 =A0 =A0 =A0beg (match-end 3)
+ =A0 =A0 =A0 =A0 =A0 =A0(if (member 'email org-hidden-keywords)<= br> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t invisible t) + =A0 =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t face org-document-= email-keyword)))
+ =A0 =A0 =A0 =A0 =A0 (add-text-properties
+ =A0 =A0 =A0 =A0 =A0 =A0(match-beginning 6) (match-end 6= )
+ =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t face org-documen= t-email)))
+ =A0 =A0 =A0 =A0 =A0((equal dc1 "date:")
+ =A0 =A0 =A0 =A0 =A0 (add-text-properties
+ =A0 =A0 =A0 =A0 =A0 =A0beg (match-end 3)
+ =A0 =A0 =A0 =A0 =A0 =A0(if (member 'date org-hidden-keywords) + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t invisible t) + =A0 =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t face org-document-= date-keyword)))
+ =A0 =A0 =A0 =A0 =A0 (add-text-properties
+ =A0 =A0 =A0 =A0 =A0 =A0(match-beginning 6) (match-end 6= )
+ =A0 =A0 =A0 =A0 =A0 =A0'(font-lock-fontified t face org-documen= t-date)))
=A0 =A0 =A0 =A0 =A0 ((not (member (char-= after beg) '(?\ =A0?\t)))
=A0 =A0 =A0 =A0 =A0 =A0;; just any other in-buffer setting, but not indent= ed
=A0 =A0 =A0 =A0 =A0 =A0(add-text-properties
--8<---------------cut here---------------end--------------->8---



> =A0 =A0 If you type "#+email:", for example, that string doe= s disappear
> =A0 =A0 without a trace, and that is very confusing. =A0In fact, my pr= eference
> =A0 =A0 would be to not make the keyword invisible.
>
> =A0 =A0 Thanks
>
> =A0 =A0 - Carsten
>
>
> =A0 =A0 On Mar 22, 2010, at 2:24 AM, Dan Davison wrote:
>
>
> =A0 =A0 =A0 =A0 Dan Davison <davison@stats.ox.ac.uk> writes:
>
>
> =A0 =A0 =A0 =A0 =A0 =A0 Carsten Dominik <carsten.dominik@gmail.com> writes:
>
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 On Mar 16, 2010, at 5:25 PM, Dan Davis= on wrote:
>
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Might it be worth considering = a special display for the #
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 +title line
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 in
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 org buffers?
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Currently it is easy for the t= itle to get buried among more
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 technical
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 configuration lines like #+opt= ions, #+startup, #+seq_toto
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 etc. One can
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 take the approach of leaving #= +title at the top of the
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 document, and
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 moving the other config lines = elesewhere, but even so I am
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 wondering
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 whether anyone else is attract= ed by the idea of providing
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 an org-title
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 display property that would hi= de the #+title: component,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 and use an
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 appropriate face for the title= text.
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 In some ways, the current stat= e gives the impression that
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 the title is
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 something which becomes import= ant during export, but is not
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 really a
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 key
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 component of document when it = is being viewed in emacs. For
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 example, I
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 expect others are familiar wit= h the experience of exporting
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 an org
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 file
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 without a title, finding that = the first heading has been
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 used as a
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 title, and then going back to = add in the title as an
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 afterthought. But a
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 title is an important part of = a document, and I thought
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 perhaps a
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 special title display would he= lp to make the title more of
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 a first
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 class
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 citizen in org buffers?
>
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Hi Dan,
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 I agree. =A0Maybe he same should be tr= ue for DATE and AUTHOR,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 maybe EMAIL?
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Would you like to make a patch for thi= s, introducing a new face
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 and applying it to these constructs? >
>
> =A0 =A0 =A0 =A0 I've made a proposed patch (below). This involved = making a few
> =A0 =A0 =A0 =A0 decisions
> =A0 =A0 =A0 =A0 about appearance -- it would be great to get other peo= ples' views and
> =A0 =A0 =A0 =A0 alternative proposals.
>
> =A0 =A0 =A0 =A0 At the risk of stating the obvious, I think we should = ask the question
> =A0 =A0 =A0 =A0 "What might attract new users to org-mode most?&q= uot;, rather than query our
> =A0 =A0 =A0 =A0 personal preferences (because we can all change it our= selves or fire
> =A0 =A0 =A0 =A0 off
> =A0 =A0 =A0 =A0 an email to this list asking how).
>
> =A0 =A0 =A0 =A0 Here's my main proposal (corresponding to the patc= h below). Note that
> =A0 =A0 =A0 =A0 in
> =A0 =A0 =A0 =A0 the first 4 lines the #+TITLE: and #+AUTHOR: etc bits = are still there,
> =A0 =A0 =A0 =A0 but invisible.
>
> =A0 =A0 =A0 =A0 [I've also put the screenshots at http://www.princeton.ed= u/~ddavison/
> =A0 =A0 =A0 =A0 org-faces/]
>
> =A0 =A0 =A0 =A0 [Default-MidnightBlue.png]
>
> =A0 =A0 =A0 =A0 <Default-MidnightBlue.png>
> =A0 =A0 =A0 =A0 The main issue then is that I'm suggesting making = the title face larger
> =A0 =A0 =A0 =A0 than the other faces. This would be the only large fac= e in org-mode,
> =A0 =A0 =A0 =A0 but
> =A0 =A0 =A0 =A0 I thought that it was appropriate for the title. Here&= #39;s a version
> =A0 =A0 =A0 =A0 without the large title face:
>
> =A0 =A0 =A0 =A0 [Default-MidnightBlue-NoBigTitle.png]
>
> =A0 =A0 =A0 =A0 <Default-MidnightBlue-NoBigTitle.png>
> =A0 =A0 =A0 =A0 As for the colours, here's an alternative:
>
> =A0 =A0 =A0 =A0 [Default-DarkSlateGrey.png]
>
> =A0 =A0 =A0 =A0 <Default-DarkSlateGrey.png>
> =A0 =A0 =A0 =A0 The important thing is the default emacs colour theme = shown above, but
> =A0 =A0 =A0 =A0 I
> =A0 =A0 =A0 =A0 did pick a colour for dark backgrounds. For what it= 9;s worth, here is
> =A0 =A0 =A0 =A0 what it looks like with (the excellent) color-theme-ch= arcoal-black:
>
> =A0 =A0 =A0 =A0 [CharcoalBlack-SteelBlue.png]
>
> =A0 =A0 =A0 =A0 <CharcoalBlack-SteelBlue.png>
> =A0 =A0 =A0 =A0 Here's the patch. If anyone wants to play around, = it's pretty obvious
> =A0 =A0 =A0 =A0 in
> =A0 =A0 =A0 =A0 the patch below where to change the colours (and boldn= ess and
> =A0 =A0 =A0 =A0 height). Don't forget the functions list-colors-di= splay and
> =A0 =A0 =A0 =A0 list-faces-display.
>
> =A0 =A0 =A0 =A0 There's at least one issue with the patch: if you = leave a space between
> =A0 =A0 =A0 =A0 e.g. '#+TITLE:' and the start of the title tex= t, then that space will
> =A0 =A0 =A0 =A0 not be made invisible and so will appear at the start = of the title. I
> =A0 =A0 =A0 =A0 couldn't see how to avoid that without altering on= e of the key
> =A0 =A0 =A0 =A0 font-lock
> =A0 =A0 =A0 =A0 regexps.
>
> =A0 =A0 =A0 =A0 Dan
>
> =A0 =A0 =A0 =A0 --8<---------------cut here---------------start----= --------->8---
> =A0 =A0 =A0 =A0 commit 72aa791ea0bf613d50b9bf88affd6a53e91c1ebe
> =A0 =A0 =A0 =A0 Author: Dan Davison <davison@stats.ox.ac.uk>
> =A0 =A0 =A0 =A0 Date: =A0 Sun Mar 21 20:26:02 2010 -0400
>
> =A0 =A0 =A0 =A0 =A0 Alter display of title, author, email and date lin= es.
>
> =A0 =A0 =A0 =A0 =A0 For each of #+TITLE:, #+AUTHOR:, #+EMAIL:, #+DATE:= , the
> =A0 =A0 =A0 =A0 =A0 initial #+KEYWORD: part is hidden and the followin= g new
> =A0 =A0 =A0 =A0 =A0 faces are applied to the remaining visible part: >
> =A0 =A0 =A0 =A0 =A0 org-title-line
> =A0 =A0 =A0 =A0 =A0 org-author-line
> =A0 =A0 =A0 =A0 =A0 org-email-line
> =A0 =A0 =A0 =A0 =A0 org-date-line
>
> =A0 =A0 =A0 =A0 diff --git a/lisp/org-faces.el b/lisp/org-faces.el
> =A0 =A0 =A0 =A0 index e336b3c..ebc9596 100644
> =A0 =A0 =A0 =A0 --- a/lisp/org-faces.el
> =A0 =A0 =A0 =A0 +++ b/lisp/org-faces.el
> =A0 =A0 =A0 =A0 @@ -468,6 +468,25 @@ changes."
> =A0 =A0 =A0 =A0 =A0:group 'org-faces
> =A0 =A0 =A0 =A0 =A0:version "22.1")
>
> =A0 =A0 =A0 =A0 +(defface org-title-line
> =A0 =A0 =A0 =A0 + =A0'((((class color) (background light)) (:foreg= round "midnight blue"
> =A0 =A0 =A0 =A0 :weight bold :height 1.44))
> =A0 =A0 =A0 =A0 + =A0 =A0(((class color) (background dark)) (:foregrou= nd "steel blue"
> =A0 =A0 =A0 =A0 :weight bold :height 1.44))
> =A0 =A0 =A0 =A0 + =A0 =A0(t (:weight bold :height 1.44)))
> =A0 =A0 =A0 =A0 + =A0"Face for #+TITLE: line."
> =A0 =A0 =A0 =A0 + =A0:group 'org-faces)
> =A0 =A0 =A0 =A0 +
> =A0 =A0 =A0 =A0 +(defface org-author-line
> =A0 =A0 =A0 =A0 + =A0'((((class color) (background light)) (:foreg= round "midnight blue"))
> =A0 =A0 =A0 =A0 + =A0 =A0(((class color) (background dark)) (:foregrou= nd "steel blue")))
> =A0 =A0 =A0 =A0 + =A0"Face for #+AUTHOR: line."
> =A0 =A0 =A0 =A0 + =A0:group 'org-faces)
> =A0 =A0 =A0 =A0 +
> =A0 =A0 =A0 =A0 +(org-copy-face 'org-author-line 'org-email-li= ne
> =A0 =A0 =A0 =A0 + =A0"Face for #+EMAIL: line.")
> =A0 =A0 =A0 =A0 +
> =A0 =A0 =A0 =A0 +(org-copy-face 'org-author-line 'org-date-lin= e
> =A0 =A0 =A0 =A0 + =A0"Face for #+DATE: line.")
> =A0 =A0 =A0 =A0 +
> =A0 =A0 =A0 =A0 (defface org-block
> =A0 =A0 =A0 =A0 =A0(org-compatible-face 'shadow
> =A0 =A0 =A0 =A0 =A0 =A0'((((class color grayscale) (min-colors 88)= (background light))
> =A0 =A0 =A0 =A0 diff --git a/lisp/org.el b/lisp/org.el
> =A0 =A0 =A0 =A0 index b723528..17e3877 100644
> =A0 =A0 =A0 =A0 --- a/lisp/org.el
> =A0 =A0 =A0 =A0 +++ b/lisp/org.el
> =A0 =A0 =A0 =A0 @@ -4642,6 +4642,22 @@ will be prompted for."
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ((string=3D block-type &qu= ot;verse")
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(add-text-properties be= g1 end1 '(face org-verse))))
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0t))
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0((equal dc1 "title:") > =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 (add-text-properties beg (match-= end 3) '
> =A0 =A0 =A0 =A0 (font-lock-fontified t invisible t))
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 (add-text-properties
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0(match-beginning 6) (match-en= d 6) '(font-lock-fontified t
> =A0 =A0 =A0 =A0 face org-title-line)))
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0((equal dc1 "author:")<= br> > =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 (add-text-properties beg (match-= end 3) '
> =A0 =A0 =A0 =A0 (font-lock-fontified t invisible t))
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 (add-text-properties
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0(match-beginning 6) (match-en= d 6) '(font-lock-fontified t
> =A0 =A0 =A0 =A0 face org-author-line)))
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0((equal dc1 "email:") > =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 (add-text-properties beg (match-= end 3) '
> =A0 =A0 =A0 =A0 (font-lock-fontified t invisible t))
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 (add-text-properties
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0(match-beginning 6) (match-en= d 6) '(font-lock-fontified t
> =A0 =A0 =A0 =A0 face org-email-line)))
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0((equal dc1 "date:") > =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 (add-text-properties beg (match-= end 3) '
> =A0 =A0 =A0 =A0 (font-lock-fontified t invisible t))
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 (add-text-properties
> =A0 =A0 =A0 =A0 + =A0 =A0 =A0 =A0 =A0 =A0(match-beginning 6) (match-en= d 6) '(font-lock-fontified t
> =A0 =A0 =A0 =A0 face org-date-line)))
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ((not (member (char-after beg) = 9;(?\ =A0?\t)))
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0;; just any other in-buffer set= ting, but not indented
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(add-text-properties
> =A0 =A0 =A0 =A0 --8<---------------cut here---------------end------= --------->8---
>
>
>
>
>
> =A0 =A0 =A0 =A0 =A0 =A0 OK, it's on my list.
>
> =A0 =A0 =A0 =A0 =A0 =A0 Dan
>
>
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 - Carsten
>
>
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ______________________________________= _________
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Emacs-orgmode mailing list
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Please use `Reply All' to send rep= lies to the list.
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Emacs-orgmode@gnu.org
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 http://lists.gnu.org/mailman/li= stinfo/emacs-orgmode
>
>
>
> =A0 =A0 =A0 =A0 =A0 =A0 ______________________________________________= _
> =A0 =A0 =A0 =A0 =A0 =A0 Emacs-orgmode mailing list
> =A0 =A0 =A0 =A0 =A0 =A0 Please use `Reply All' to send replies to = the list.
> =A0 =A0 =A0 =A0 =A0 =A0 Emacs= -orgmode@gnu.org
> =A0 =A0 =A0 =A0 =A0 =A0 http://lists.gnu.org/mailman/listinfo/e= macs-orgmode
>
>
> =A0 =A0 - Carsten
>
>
>
>
>
> =A0 =A0 _______________________________________________
> =A0 =A0 Emacs-orgmode mailing list
> =A0 =A0 Please use `Reply All' to send replies to the list.
> =A0 =A0 Emacs-orgmode@gnu.org=
> =A0 =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

--000e0cd1b5a428b7670482cf0da7-- --===============0526131858== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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 --===============0526131858==--