diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/doc/jao-org-focus.el | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/doc/jao-org-focus.el b/lib/doc/jao-org-focus.el index ac33df9..13f1201 100644 --- a/lib/doc/jao-org-focus.el +++ b/lib/doc/jao-org-focus.el @@ -46,6 +46,7 @@ When invoked on an indirect buffer, pops back to its base." (if-let* ((b (get-buffer bname))) (pop-to-buffer b) (clone-indirect-buffer bname t) + (org-focus-child-mode) (setq jao-org-focus--parent parent jao-org-focus--section title) (org-narrow-to-subtree) @@ -62,7 +63,7 @@ sync." (goto-char (point-min)) (when (re-search-forward (format "\\*+ %s" title) nil t) (org-narrow-to-subtree) - (beginning-of-line)))) + (goto-char (point-min))))) (defun jao-org-focus-redisplay-children () "Find focused children and redisplay them." @@ -100,5 +101,20 @@ With arg, offer to switch to all children, regardless of their parent." :history jao-org-focus--focused-history :items ,(lambda () (mapcar 'buffer-name (jao-org-focus-list t))))) +(define-minor-mode org-focus-mode + "A mode where keeping track of focused children is on by default." + :lighter " ◎" + :keymap '(("\C-cl" . jao-org-focus-switch) + ("\C-cR" . jao-org-focus-redisplay) + ("\C-co" . jao-org-focus)) + (if org-focus-mode + (add-hook 'after-save-hook #'jao-org-focus-redisplay-children nil t) + (remove-hook 'after-save-hook #'jao-org-focus-redisplay-children t))) + +(define-minor-mode org-focus-child-mode + "A mode for the children of a focused org buffer." + :lighter " ◉" + :keymap org-focus-mode-map) + (provide 'jao-org-focus) ;;; jao-org.el ends here |