From e7dc791b98bac2e91014214730eedece22c7a1be Mon Sep 17 00:00:00 2001 From: xerus2000 <27jf@pm.me> Date: Tue, 30 Mar 2021 20:29:08 +0200 Subject: [PATCH] config/doom: add handy org todo functions --- .config/doom/config.el | 21 ++++++++++++++------- .config/git/config | 3 ++- .config/user-dirs.dirs | 5 +++-- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.config/doom/config.el b/.config/doom/config.el index 8c29635..d00788b 100644 --- a/.config/doom/config.el +++ b/.config/doom/config.el @@ -129,10 +129,14 @@ '("1-projects" "2-standards" "3-resources") ))) + (defun org-todo-or-insert (&optional arg) + (interactive "P") + (if (org-at-heading-p) (org-todo arg) (org-insert-todo-heading arg t))) + (defun org-timestamp-up-week () (interactive) - (setq current-prefix-arg '(7)) - (call-interactively 'org-timestamp-up-day)) + (let ((setq current-prefix-arg '(7))) (call-interactively 'org-timestamp-up-day)) + ) (map! :map org-mode-map :localleader @@ -173,6 +177,14 @@ ; try to fold up elsewhere (ct/org-foldup))) (define-key org-mode-map (kbd "S-") 'ct/org-shifttab) + + ;; https://emacs.stackexchange.com/questions/38529/make-multiple-lines-todos-at-once-in-org-mode + (defun org-todo-region () + (interactive) + (let ((scope (if mark-active 'region 'tree)) + (state (org-fast-todo-selection)) + (org-enforce-todo-dependencies nil)) + (org-map-entries (lambda () (org-todo state)) nil scope))) ) ;; Behavior @@ -206,11 +218,6 @@ ;(after! org ; (add-to-list 'org-file-apps '(system . "setsid -w xdg-open %s")) -;;; Org-todos -(defun org-todo-or-insert (&optional arg) - (interactive "P") - (if (org-at-heading-p) (org-todo arg) (org-insert-todo-heading arg))) - ;; Automated logging for todos - https://stackoverflow.com/questions/12262220/add-created-date-property-to-todos-in-org-mode/52815573#52815573 (setq org-log-done 'time) (setq org-log-into-drawer t) diff --git a/.config/git/config b/.config/git/config index 280d301..c625220 100644 --- a/.config/git/config +++ b/.config/git/config @@ -111,8 +111,9 @@ cp = cherry-pick rb = rebase - rbm = !git rebase $(git main) + rbi = rebase --interactive rbc = rebase --continue + rbm = !git rebase $(git main) sta = stash stl = !git --no-pager stash list diff --git a/.config/user-dirs.dirs b/.config/user-dirs.dirs index cfc9fec..01f02dc 100644 --- a/.config/user-dirs.dirs +++ b/.config/user-dirs.dirs @@ -4,11 +4,12 @@ # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an # absolute path. No other format is supported. +# XDG_DESKTOP_DIR="$HOME/.local/desktop" XDG_TEMPLATES_DIR="$HOME/.local/templates" XDG_DOWNLOAD_DIR="$HOME/data/4-incubator/downloads" XDG_MUSIC_DIR="$HOME/data/music" XDG_PICTURES_DIR="$HOME/data/images" -XDG_VIDEOS_DIR="$HOME/data/videos" +XDG_VIDEOS_DIR="$HOME/" XDG_DOCUMENTS_DIR="$HOME/data/3-resources/documents" -XDG_PUBLICSHARE_DIR="$HOME/data/share" +XDG_PUBLICSHARE_DIR="$HOME/"