69 lines
2.2 KiB
EmacsLisp
Executable File
69 lines
2.2 KiB
EmacsLisp
Executable File
(global-set-key (kbd "C-x a") 'org-agenda)
|
|
(global-set-key (kbd "C-c C-x j") #'org-clock-jump-to-current-clock)
|
|
|
|
(setq org-agenda-files (list "~/Documents/Agenda/"))
|
|
|
|
(setq org-export-backends '(md))
|
|
|
|
(defun rc/org-increment-move-counter ()
|
|
(interactive)
|
|
|
|
(defun default (x d)
|
|
(if x x d))
|
|
|
|
(let* ((point (point))
|
|
(move-counter-name "MOVE_COUNTER")
|
|
(move-counter-value (-> (org-entry-get point move-counter-name)
|
|
(default "0")
|
|
(string-to-number)
|
|
(1+))))
|
|
(org-entry-put point move-counter-name
|
|
(number-to-string move-counter-value)))
|
|
nil)
|
|
|
|
(defun rc/org-get-heading-name ()
|
|
(nth 4 (org-heading-components)))
|
|
|
|
(defun rc/org-kill-heading-name-save ()
|
|
(interactive)
|
|
(let ((heading-name (rc/org-get-heading-name)))
|
|
(kill-new heading-name)
|
|
(message "Kill \"%s\"" heading-name)))
|
|
|
|
(global-set-key (kbd "C-x p w") 'rc/org-kill-heading-name-save)
|
|
|
|
(setq org-agenda-custom-commands
|
|
'(("u" "Unscheduled" tags "+personal-SCHEDULED={.+}-DEADLINE={.+}/!+TODO"
|
|
((org-agenda-sorting-strategy '(priority-down))))
|
|
("p" "Personal" ((agenda "" ((org-agenda-tag-filter-preset (list "+personal"))))))
|
|
("w" "Work" ((agenda "" ((org-agenda-tag-filter-preset (list "+work"))))))
|
|
))
|
|
|
|
;;; org-cliplink
|
|
|
|
(rc/require 'org-cliplink)
|
|
|
|
(global-set-key (kbd "C-x p i") 'org-cliplink)
|
|
|
|
(defun rc/cliplink-task ()
|
|
(interactive)
|
|
(org-cliplink-retrieve-title
|
|
(substring-no-properties (current-kill 0))
|
|
'(lambda (url title)
|
|
(insert (if title
|
|
(concat "* TODO " title
|
|
"\n [[" url "][" title "]]")
|
|
(concat "* TODO " url
|
|
"\n [[" url "]]"))))))
|
|
(global-set-key (kbd "C-x p t") 'rc/cliplink-task)
|
|
|
|
;;; org-capture
|
|
|
|
(setq org-capture-templates
|
|
'(("p" "Capture task" entry (file "~/Documents/Agenda/Tasks.org")
|
|
"* TODO %?\n SCHEDULED: %t\n")
|
|
("K" "Cliplink capture task" entry (file "~/Documents/Agenda/Tasks.org")
|
|
"* TODO %(org-cliplink-capture) \n SCHEDULED: %t\n" :empty-lines 1)))
|
|
(define-key global-map "\C-cc" 'org-capture)
|
|
|