Fix clock function

This commit is contained in:
Max Schlueter 2024-02-10 18:38:13 +01:00
parent 154a5faebe
commit ec3c516deb
2 changed files with 35 additions and 31 deletions

39
gtd.el
View File

@ -261,6 +261,15 @@ show up there.\n\n"))
when (string= (plist-get cal :calendar-id) calid)
return (plist-get cal :inbox))))
calinbox)))
;;
;;; Reference system
(load! "roam")
;;
;;; Misc
(after! org
(setq org-clock-persist t
;; Useful when clocking in on a waiting task
@ -284,7 +293,29 @@ show up there.\n\n"))
org-pomodoro-short-break-length 5
org-pomodoro-long-break-length 20))
;;
;;; Reference system
(load! "roam")
(defvar org-clock-heading-str-limit 40
"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-heading-str-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-str
work-done-str
current-work-done-str)))))

27
org.el
View File

@ -6,33 +6,6 @@
(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)