aboutsummaryrefslogtreecommitdiff
path: root/.emacs.d/rul-lisp/packages
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d/rul-lisp/packages')
-rw-r--r--.emacs.d/rul-lisp/packages/rul-org-agenda.el112
-rw-r--r--.emacs.d/rul-lisp/packages/rul-org.el12
2 files changed, 10 insertions, 114 deletions
diff --git a/.emacs.d/rul-lisp/packages/rul-org-agenda.el b/.emacs.d/rul-lisp/packages/rul-org-agenda.el
index ddfbd7e..a173fc4 100644
--- a/.emacs.d/rul-lisp/packages/rul-org-agenda.el
+++ b/.emacs.d/rul-lisp/packages/rul-org-agenda.el
@@ -287,22 +287,6 @@ Skip project and sub-project tasks, habits, and loose non-project tasks."
;; Include current clocking task in clock reports
(setq org-clock-report-include-clocking-task t)
-
-(setq bh/keep-clock-running nil)
-
-(defun bh/clock-in-to-next (kw)
- "Switch a task from TODO to NEXT when clocking in.
-Skips capture tasks, projects, and subprojects.
-Switch projects and subprojects from NEXT back to TODO"
- (when (not (and (boundp 'org-capture-mode) org-capture-mode))
- (cond
- ((and (member (org-get-todo-state) (list "TODO"))
- (bh/is-task-p))
- "NEXT")
- ((and (member (org-get-todo-state) (list "NEXT"))
- (bh/is-project-p))
- "TODO"))))
-
(defun bh/find-project-task ()
"Move point to the parent (project) task if any"
(save-restriction
@@ -314,60 +298,6 @@ Switch projects and subprojects from NEXT back to TODO"
(goto-char parent-task)
parent-task)))
-(defun bh/punch-in (arg)
- "Start continuous clocking and set the default task to the
-selected task. If no task is selected set the Organization task
-as the default task."
- (interactive "p")
- (setq bh/keep-clock-running t)
- (if (equal major-mode 'org-agenda-mode)
- ;;
- ;; We're in the agenda
- ;;
- (let* ((marker (org-get-at-bol 'org-hd-marker))
- (tags (org-with-point-at marker (org-get-tags-at))))
- (if (and (eq arg 4) tags)
- (org-agenda-clock-in '(16))
- (bh/clock-in-organization-task-as-default)))
- ;;
- ;; We are not in the agenda
- ;;
- (save-restriction
- (widen)
- ; Find the tags on the current task
- (if (and (equal major-mode 'org-mode) (not (org-before-first-heading-p)) (eq arg 4))
- (org-clock-in '(16))
- (bh/clock-in-organization-task-as-default)))))
-
-(defun bh/punch-out ()
- (interactive)
- (setq bh/keep-clock-running nil)
- (when (org-clock-is-active)
- (org-clock-out))
- (org-agenda-remove-restriction-lock))
-
-(defun bh/clock-in-default-task ()
- (save-excursion
- (org-with-point-at org-clock-default-task
- (org-clock-in))))
-
-(defun bh/clock-in-parent-task ()
- "Move point to the parent (project) task if any and clock in"
- (let ((parent-task))
- (save-excursion
- (save-restriction
- (widen)
- (while (and (not parent-task) (org-up-heading-safe))
- (when (member (nth 2 (org-heading-components)) org-todo-keywords-1)
- (setq parent-task (point))))
- (if parent-task
- (org-with-point-at parent-task
- (org-clock-in))
- (when bh/keep-clock-running
- (bh/clock-in-default-task)))))))
-
-(defvar bh/organization-task-id "redefine") ;; org-id-get-create
-
;; https://stackoverflow.com/a/10091330
(defun zin/org-agenda-skip-tag (tag &optional others)
"Skip all entries that correspond to TAG.
@@ -385,48 +315,6 @@ If OTHERS is true, skip all entries that do not correspond to TAG."
next-headline
nil))))
-(defun bh/clock-in-organization-task-as-default ()
- (interactive)
- (org-with-point-at (org-id-find bh/organization-task-id 'marker)
- (org-clock-in '(16))))
-
-(defun bh/clock-out-maybe ()
- (when (and bh/keep-clock-running
- (not org-clock-clocking-in)
- (marker-buffer org-clock-default-task)
- (not org-clock-resolving-clocks-due-to-idleness))
- (bh/clock-in-parent-task)))
-
-(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
diff --git a/.emacs.d/rul-lisp/packages/rul-org.el b/.emacs.d/rul-lisp/packages/rul-org.el
index bfa70cc..eb08b03 100644
--- a/.emacs.d/rul-lisp/packages/rul-org.el
+++ b/.emacs.d/rul-lisp/packages/rul-org.el
@@ -51,8 +51,9 @@
(global-set-key (kbd "C-c c") #'org-capture)
(global-set-key (kbd "C-c s") #'org-schedule)
-(global-set-key (kbd "<f9>") 'bh/punch-in)
-(global-set-key (kbd "<f10>") 'bh/punch-out)
+(global-set-key (kbd "<f6>") 'org-clock-goto)
+(global-set-key (kbd "<f9>") 'org-clock-in-last)
+(global-set-key (kbd "<f10>") 'org-clock-out)
(global-set-key (kbd "<f12>") 'org-agenda)
;; ORG STATES ;;
@@ -173,4 +174,11 @@
(setq org-clock-mode-line-total 'today)
+(unless (package-installed-p 'org-tempus)
+ (package-vc-install "https://github.com/rul/org-tempus.git"))
+
+(use-package org-tempus
+ :init
+ (org-tempus-mode 1))
+
(provide 'rul-org)
nihil fit ex nihilo