;;; org.el -*- lexical-binding: t; -*- ;; If you use `org' and don't want your org files in the default location below, ;; change `org-directory'. It must be set before org loads! (setq org-directory "~/Nextcloud/org/") (require 'org) (defvar org-clock-heading-str-limit 20 "Maximum length of `org-clock-heading' string. Will be truncated if too long.") (defun max/org-clock-get-clock-string () "Form a clock string that will be shown in a status bar. Adapted from `org-clock-get-clock-string'." (require 'org-clock) (when (org-clocking-p) (let* ((currently-clocked-time (floor (org-time-convert-to-integer (time-since org-clock-start-time)) 60)) (org-clock-heading-str (if (> (length org-clock-heading) org-clock-heading-str-limit) (concat (substring org-clock-heading 0 org-clock-string-limit) "...") org-clock-heading)) (clocked-time (org-clock-get-clocked-time)) (work-done-str (org-duration-from-minutes clocked-time)) (current-work-done-str (org-duration-from-minutes currently-clocked-time))) (if org-clock-effort (let* ((effort-in-minutes (org-duration-to-minutes org-clock-effort)) (effort-str (org-duration-from-minutes effort-in-minutes))) (format "%s (%s/%s) %s" org-clock-heading-str work-done-str effort-str current-work-done-str)) (format "%s (%s) %s" org-clock-heading work-done-str current-work-done-str))))) ;; Fix org-babel shell block not inheriting envrc ;; https://github.com/purcell/envrc/issues/28 (advice-add 'org-babel-eval :around #'envrc-propagate-environment) (after! org ;; Store org links to info pages (add-to-list 'org-modules 'ol-info)) ;; C-k is mapped to ~org-element-up~ by defualt (map! :after evil-org :map evil-org-mode-map :i "C-k" #'org-kill-line) (map! :after org :map org-mode-map :localleader "Y" #'ox-clip-image-to-clipboard)