Re: [Orgmode] suggestion: display of #+TITLE
Hi Dan, What a pleasant surprise to see the tastefully displayed #+Title:, # +Author:, #+Email: and #+Date: after I pulled from git earlier today. What's next, org-mode stylesheets? All the best, Tom On Mar 27, 2010, at 4:52 PM, Dan Davison wrote: 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) +(defface org-document-title + 'class color) (background light)) (:foreground midnight blue :weight bold :height 1.44)) +(((class color) (background dark)) (:foreground pale turquoise :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-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) +(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= 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 scot.bec...@gmail.com writes: 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 davi...@stats.ox.ac.uk wrote: Carsten, Scot -- Scot Becker scot.bec...@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, by providing a clean document title. But OK, so magical hiding off
Re: [Orgmode] suggestion: display of #+TITLE
Hi Dan, this is great, thanks. please do not yet apply it - I am in the middle of some more complex merging. - Carsten On Mar 28, 2010, at 4:52 AM, Dan Davison wrote: 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) +(defface org-document-title + 'class color) (background light)) (:foreground midnight blue :weight bold :height 1.44)) +(((class color) (background dark)) (:foreground pale turquoise :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-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) +(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= 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 scot.bec...@gmail.com writes: 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 davi...@stats.ox.ac.uk wrote: Carsten, Scot -- Scot Becker scot.bec...@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, by providing a clean document title. But OK, so magical hiding off by default. Scot's suggestion seems like a good intermediate position.
Re: [Orgmode] suggestion: display of #+TITLE
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 davi...@stats.ox.ac.uk wrote: Carsten, Scot -- Scot Becker scot.bec...@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, 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.pnghttp://www.princeton.edu/%7Eddavison/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.domi...@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
Re: [Orgmode] suggestion: display of #+TITLE
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) +(defface org-document-title + 'class color) (background light)) (:foreground midnight blue :weight bold :height 1.44)) +(((class color) (background dark)) (:foreground pale turquoise :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-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) +(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= 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 scot.bec...@gmail.com writes: 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 davi...@stats.ox.ac.uk wrote: Carsten, Scot -- Scot Becker scot.bec...@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, 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
Re: [Orgmode] suggestion: display of #+TITLE
Carsten, Scot -- Scot Becker scot.bec...@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, 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.domi...@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
Re: [Orgmode] suggestion: display of #+TITLE
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 davi...@stats.ox.ac.uk writes: Carsten Dominik carsten.domi...@gmail.com 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] 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] Default-MidnightBlue-NoBigTitle.png As for the colours, here's an alternative: [Default-DarkSlateGrey.png] 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] 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 davi...@stats.ox.ac.uk 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))
Re: [Orgmode] suggestion: display of #+TITLE
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. As sexy as it is, really hiding the markup is a fair break from most (all?) of 'standard' org mode, where what you see is what you got.Even the invisible starts are there when you cursor over them. Just my 2p. Scot On Wed, Mar 24, 2010 at 2:52 PM, Carsten Dominik carsten.domi...@gmail.comwrote: 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 davi...@stats.ox.ac.uk writes: Carsten Dominik carsten.domi...@gmail.com 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] 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] Default-MidnightBlue-NoBigTitle.png As for the colours, here's an alternative: [Default-DarkSlateGrey.png] 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] 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 davi...@stats.ox.ac.uk 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
Re: [Orgmode] suggestion: display of #+TITLE
Dan Davison davi...@stats.ox.ac.uk writes: Carsten Dominik carsten.domi...@gmail.com 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 tried sending this with screenshot images and it got rejected. I've replaced them with URLs] 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. 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: http://www.princeton.edu/~ddavison/org-faces/Default-MidnightBlue-NoBigTitle.png As for the colours, here's an alternative: http://www.princeton.edu/~ddavison/org-faces/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: http://www.princeton.edu/~ddavison/org-faces/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 davi...@stats.ox.ac.uk 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
Re: [Orgmode] suggestion: display of #+TITLE
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? - 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
Re: [Orgmode] suggestion: display of #+TITLE
Carsten Dominik carsten.domi...@gmail.com 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? 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
[Orgmode] suggestion: display of #+TITLE
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? Dan ___ 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