[Orgmode] Highlighting current header and its contents

2010-03-21 Thread Tom
One of my main gripes with orgmode is often I cannot make out
clearly when the text content of an opened header ends and the
next header begins, because there is no apparent visual
indication.

Of course, I can add empty lines manually to the end of the
content, but this solution is not really satisfying (I don't need
empty lines there, I add them only to see better where the
content ends).

I'm still thinking of a proper solution for this problem, but I'm
posting one of my attempts for the time being which some may find
useful. It highlights the header the cursor is in and its contents with a
different background color:


(make-variable-buffer-local 'my-org-highlight-overlay)

(add-hook 'post-command-hook 'my-org-highlight)


(defun my-org-highlight ()
  (when (and (eq major-mode 'org-mode)
 (sit-for 0.1))
(unless my-org-highlight-overlay
  (setq my-org-highlight-overlay (make-overlay 0 0))
  (overlay-put my-org-highlight-overlay 'face '(:background azure)))

(let ((header (save-excursion
(beginning-of-line)
(looking-at outline-regexp

  (move-overlay my-org-highlight-overlay
(save-excursion
  (if header
  (beginning-of-line)
(outline-previous-visible-heading 1))
  (point))
(save-excursion
  (outline-next-visible-heading 1)
  (point))




___
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] Highlighting current header and its contents

2010-03-21 Thread Dan Davison
Tom levelha...@gmail.com writes:

 One of my main gripes with orgmode is often I cannot make out
 clearly when the text content of an opened header ends and the
 next header begins, because there is no apparent visual
 indication.

 Of course, I can add empty lines manually to the end of the
 content, but this solution is not really satisfying (I don't need
 empty lines there, I add them only to see better where the
 content ends).

 I'm still thinking of a proper solution for this problem, but I'm
 posting one of my attempts for the time being which some may find
 useful. It highlights the header the cursor is in and its contents with a
 different background color:

Hi Tom,

Your overlay code's instructive for me, but I don't understand the
problem it's solving. Isn't the next heading made sufficiently distinct
by being bold and coloured and having an asterisk in front of it?

Dan



 (make-variable-buffer-local 'my-org-highlight-overlay)

 (add-hook 'post-command-hook 'my-org-highlight)


 (defun my-org-highlight ()
   (when (and (eq major-mode 'org-mode)
  (sit-for 0.1))
 (unless my-org-highlight-overlay
   (setq my-org-highlight-overlay (make-overlay 0 0))
   (overlay-put my-org-highlight-overlay 'face '(:background azure)))

 (let ((header (save-excursion
 (beginning-of-line)
 (looking-at outline-regexp

   (move-overlay my-org-highlight-overlay
 (save-excursion
   (if header
   (beginning-of-line)
 (outline-previous-visible-heading 1))
   (point))
 (save-excursion
   (outline-next-visible-heading 1)
   (point))




 ___
 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