aboutsummaryrefslogtreecommitdiff
path: root/.emacs.d/rul-lisp/packages
diff options
context:
space:
mode:
authorRaul Benencia <raul@thousandeyes.com>2025-02-06 10:03:52 -0800
committerRaul Benencia <raul@thousandeyes.com>2025-02-06 10:03:52 -0800
commitd800519caeb32c1b251d412ed5ab422af133bafe (patch)
treeb9d11a56a67cfd1a6d7464219a7aecebd989f5a1 /.emacs.d/rul-lisp/packages
parent01ff69a615e476ac9b215e8b85d1ba68206d3761 (diff)
emacs: add extra functions for agenda workflowHEADmaster
Diffstat (limited to '.emacs.d/rul-lisp/packages')
-rw-r--r--.emacs.d/rul-lisp/packages/rul-org-agenda.el30
1 files changed, 29 insertions, 1 deletions
diff --git a/.emacs.d/rul-lisp/packages/rul-org-agenda.el b/.emacs.d/rul-lisp/packages/rul-org-agenda.el
index d280d95..ddfbd7e 100644
--- a/.emacs.d/rul-lisp/packages/rul-org-agenda.el
+++ b/.emacs.d/rul-lisp/packages/rul-org-agenda.el
@@ -366,7 +366,7 @@ as the default task."
(when bh/keep-clock-running
(bh/clock-in-default-task)))))))
-(defvar bh/organization-task-id "eb155a82-92b2-4f25-a3c6-0304591af2f9")
+(defvar bh/organization-task-id "redefine") ;; org-id-get-create
;; https://stackoverflow.com/a/10091330
(defun zin/org-agenda-skip-tag (tag &optional others)
@@ -399,6 +399,34 @@ If OTHERS is true, skip all entries that do not correspond to TAG."
(add-hook 'org-clock-out-hook 'bh/clock-out-maybe 'append)
+;;; Focusing on current work
+
+(global-set-key (kbd "<f5>") 'bh/org-todo)
+(defun bh/org-todo (arg)
+ (interactive "p")
+ (if (equal arg 4)
+ (save-restriction
+ (bh/narrow-to-org-subtree)
+ (org-show-todo-tree nil))
+ (bh/narrow-to-org-subtree)
+ (org-show-todo-tree nil)))
+
+(global-set-key (kbd "<S-f5>") 'bh/widen)
+(defun bh/widen ()
+ (interactive)
+ (if (equal major-mode 'org-agenda-mode)
+ (progn
+ (org-agenda-remove-restriction-lock)
+ (when org-agenda-sticky
+ (org-agenda-redo)))
+ (widen)))
+
+(defun bh/narrow-to-org-subtree ()
+ (widen)
+ (org-narrow-to-subtree)
+ (save-restriction
+ (org-agenda-set-restriction-lock)))
+
;; AGENDA VIEW ;;
;; Do not dim blocked tasks
nihil fit ex nihilo