emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [patch] (was: [feature request] org-indirect-buffer-follow [7.7 (rel


From: Dave Abrahams
Subject: [O] [patch] (was: [feature request] org-indirect-buffer-follow [7.7 (release_7.7.350.g9a179e)])
Date: Sat, 24 Sep 2011 15:29:16 -0400
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.3 (darwin)

>From 81ab272ab709c45e898831e5e019e02cfc6617fe Mon Sep 17 00:00:00 2001
From: Dave Abrahams <address@hidden>
Date: Sat, 24 Sep 2011 15:21:53 -0400
Subject: [PATCH] Add indirect agenda follow mode

By setting `org-agenda-follow-indirect' to a non-nil value,
`org-agenda-follow-mode' will use an indirect buffer to display only
the current item, rather than the whole agenda file in which it lives
---
 lisp/org-agenda.el |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index b1fa5f5..1b67153 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -872,6 +872,12 @@ Needs to be set before org.el is loaded."
   :group 'org-agenda-startup
   :type 'boolean)
 
+(defcustom org-agenda-follow-indirect nil
+  "Non-nil means `org-agenda-follow-mode' displays only the
+current item's tree, in an indirect buffer."
+  :group 'org-agenda
+  :type 'boolean)
+
 (defcustom org-agenda-show-outline-path t
   "Non-nil means show outline path in echo area after line motion."
   :group 'org-agenda-startup
@@ -6608,8 +6614,7 @@ so that the date SD will be in that range."
   (interactive)
   (setq org-agenda-follow-mode (not org-agenda-follow-mode))
   (org-agenda-set-mode-name)
-  (if (and org-agenda-follow-mode (org-get-at-bol 'org-marker))
-      (org-agenda-show))
+  (org-agenda-do-context-action)
   (message "Follow mode is %s"
           (if org-agenda-follow-mode "on" "off")))
 
@@ -6771,7 +6776,9 @@ When called with a prefix argument, include all archive 
files as well."
   "Show outline path and, maybe, follow mode window."
   (let ((m (org-get-at-bol 'org-marker)))
     (if (and org-agenda-follow-mode m)
-       (org-agenda-show))
+       (if org-agenda-follow-indirect
+           (org-agenda-tree-to-indirect-buffer)
+         (org-agenda-show)))
     (if (and m org-agenda-show-outline-path)
        (org-with-point-at m
          (org-display-outline-path t)))))
-- 
1.7.3.4


-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]