Hi Eddie,

Are you culling the 0 minute entries because they are not useful for you and throw errors, or do you wish they could be included as part of your workflow but they don't work properly?

Thanks,
Nick


On 3/5/21 8:48 PM, Eddie Drury wrote:
Hi, 

Not uncommonly I will clock into a task that takes very little time, so that 0 minutes is logged against it, before logging in to the next task. 

When I run agenda mode with show-clocking errors, it will mark these two tasks as a clocking overlap, when in fact this was not the case. 

Currently to resolve this, every week I have to cull all clocking entries that are for 0 minutes. 

I feel better behaviour would be, in this situation to not trigger the clocking overlap. 

Thanks very much for reviewing this, and for org mode in general. This is a life changing software for me. 

Regards, 

- Eddie Drury

------------------------------------------------------------------------



Emacs  : GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.14)
 of 2020-03-26, modified by Debian
Package: Org mode version 9.5 (nil @ /home/eddie/.emacs.d/.local/straight/build-26.3/org-mode/)

current state:
==============
(setq
 org-duration-format 'h:mm
 org-footnote-auto-label 'plain
 org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer
                     doom-modeline-set-org-src-modeline)
 org-fontify-whole-heading-line t
 org-link-shell-confirm-function 'yes-or-no-p
 org-mode-local-vars-hook '(eldoc-mode)
 org-babel-after-execute-hook '(org-redisplay-inline-images)
 org-insert-heading-respect-content t
 org-after-refile-insert-hook '(save-buffer)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
 org-refile-targets '((nil :maxlevel . 3) (org-agenda-files :maxlevel . 4))
 org-html-format-inlinetask-function 'org-html-format-inlinetask-default-function
 org-enforce-todo-dependencies t
 org-time-stamp-rounding-minutes '(0 1)
 org-odt-format-headline-function 'org-odt-format-headline-default-function
 org-special-ctrl-a/e t
 org-imenu-depth 8
 org-agenda-files '("~/orgnotes/transfer/transfer.org" "~/orgnotes/casenotes.org")
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-reveal-start-hook '(org-decrypt-entry)
 org-export-with-section-numbers nil
 org-modules '(ol-bibtex)
 org-startup-folded t
 org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent)
 org-mode-hook '(er/add-org-mode-expansions my/org-mode-hook org-clock-load
                 +lookup--init-org-mode-handlers-h
                 (closure (t) (&rest _)
                  (add-hook (quote before-save-hook) (quote org-encrypt-entries) nil t))
                 #[0 "\300\301\302\303\304$\207"
                   [add-hook change-major-mode-hook org-show-all append local] 5]
                 #[0 "\300\301\302\303\304$\207"
                   [add-hook change-major-mode-hook org-babel-show-result-all append local]
                   5]
                 org-babel-result-hide-spec org-babel-hide-all-hashes
                 #[0 "\301\211 \207" [imenu-create-index-function org-imenu-get-tree] 2]
                 doom-disable-show-paren-mode-h doom-disable-show-trailing-whitespace-h
                 +org-enable-auto-reformat-tables-h +org-enable-auto-update-cookies-h
                 +org-make-last-point-visible-h evil-org-mode toc-org-enable
                 embrace-org-mode-hook org-eldoc-load +literate-enable-recompile-h)
 org-clock-persist 'history
 org-export-with-smart-quotes t
 org-odt-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"]
 org-outline-path-complete-in-steps nil
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-agenda-finalize-hook '(+org-exclude-agenda-buffers-from-workspace-h
                            +org-defer-mode-in-agenda-buffers-h)
 org-startup-indented t
 org-reverse-note-order t
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3 "\n\n(fn ENTRY)"]
 org-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
 org-agenda-deadline-faces '((1.001 . error) (1.0 . org-warning)
                             (0.5 . org-upcoming-deadline)
                             (0.0 . org-upcoming-distant-deadline))
 org-crypt-key nil
 org-babel-pre-tangle-hook '(save-buffer)
 org-tab-first-hook '(+org-yas-expand-maybe-h +org-indent-maybe-h
                      org-babel-hide-result-toggle-maybe org-babel-header-arg-expand
                      +org-cycle-only-current-subtree-h +org-clear-babel-results-h)
 org-hide-leading-stars t
 org-export-initial-scope 'subtree
 org-load-hook '(+org-init-org-directory-h +org-init-appearance-h +org-init-agenda-h
                 +org-init-attachments-h +org-init-babel-h +org-init-babel-lazy-loader-h
                 +org-init-capture-defaults-h +org-init-capture-frame-h
                 +org-init-custom-links-h +org-init-export-h +org-init-habit-h
                 +org-init-hacks-h +org-init-keybinds-h +org-init-popup-rules-h
                 +org-init-protocol-h +org-init-protocol-lazy-loader-h
                 +org-init-smartparens-h)
 org-link-abbrev-alist '(("doom-repo" . "https://github.com/hlissner/doom-emacs/%s")
                         ("wolfram" . "https://wolframalpha.com/input/?i=%s")
                         ("wikipedia" . "https://en.wikipedia.org/wiki/%s")
                         ("duckduckgo" . "https://duckduckgo.com/?q=%s")
                         ("gmap" . "https://maps.google.com/maps?q=%s")
                         ("gimages" . "https://google.com/images?q=%s")
                         ("google" . "https://google.com/search?q=")
                         ("youtube" . "https://youtube.com/watch?v=%s")
                         ("github" . "https://github.com/%s"))
 org-export-backends '(md ascii html icalendar latex odt)
 org-clock-in-resume t
 org-ascii-format-drawer-function #[771 " \207" [] 4 "\n\n(fn NAME CONTENTS WIDTH)"]
 org-attach-store-link-p t
 org-list-demote-modify-bullet '(("+" . "-") ("-" . "+") ("*" . "+") ("1." . "a."))
 org-archive-subtree-save-file-p t
 org-agenda-span 'day
 org-agenda-loop-over-headlines-in-active-region nil
 org-src-lang-modes '(("redis" . redis) ("php" . php) ("arduino" . arduino)
                      ("md" . markdown) ("C" . c) ("C++" . c++) ("asymptote" . asy)
                      ("bash" . sh) ("beamer" . latex) ("calc" . fundamental) ("cpp" . c++)
                      ("ditaa" . artist) ("dot" . fundamental) ("elisp" . emacs-lisp)
                      ("ocaml" . tuareg) ("screen" . shell-script) ("shell" . sh)
                      ("sqlite" . sql))
 org-src-preserve-indentation t
 org-fontify-quote-and-verse-blocks t
 org-catch-invisible-edits 'error
 org-occur-hook '(org-first-headline-recenter)
 org-agenda-mode-hook '(+org-habit-resize-graph-h evil-org-agenda-mode)
 org-agenda-window-setup 'current-window
 org-indirect-buffer-display 'current-window
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
                  org-cycle-show-empty-lines org-optimize-window-after-visibility-change)
 org-todo-keywords '((sequence "TODO(t)" "PROJ(p)" "STRT(s)" "WAIT(w)" "HOLD(h)" "|"
                      "DONE(d)" "KILL(k)")
                     (sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)"))
 org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
 org-tags-column 0
 org-capture-mode-hook '(+org-show-target-in-capture-header-h evil-insert-state)
 org-clock-persist-file "/home/eddie/.emacs.d/.local/etc/org-clock-save.el"
 org-attach-id-dir "/home/eddie/orgnotes/.attach/"
 org-M-RET-may-split-line nil
 org-odt-format-inlinetask-function 'org-odt-format-inlinetask-default-function
 org-latex-prefer-user-labels t
 org-export-preserve-breaks t
 org-publish-timestamp-directory "/home/eddie/.emacs.d/.local/cache/org-timestamps/"
 org-display-remote-inline-images 'download
 org-refile-use-outline-path 'file
 org-clock-display-default-range 'untilnow
 org-export-with-author nil
 org-priority-faces '((65 . error) (66 . warning) (67 . success))
 org-export-before-parsing-hook '(org-attach-expand-links)
 org-font-lock-set-keywords-hook '(doom-themes-enable-org-fontification)
 org-id-locations-file "/home/eddie/orgnotes/.orgids"
 org-confirm-shell-link-function 'yes-or-no-p
 org-link-parameters '(("id" :follow org-id-open)
                       ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link)
                       ("orgit-rev" :store orgit-rev-store :follow orgit-rev-open :export
                        orgit-rev-export :complete orgit-rev-complete-link)
                       ("orgit-log" :store orgit-log-store :follow orgit-log-open :export
                        orgit-log-export :complete orgit-log-complete-link)
                       ("orgit" :store orgit-status-store :follow orgit-status-open :export
                        orgit-status-export :complete orgit-status-complete-link)
                       ("yt" :follow org-yt-follow :image-data-fun org-yt-image-data-fun)
                       ("img" :image-data-fun +org-inline-image-data-fn)
                       ("doom-modules" :complete
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . doom-modules-dir) (key . "doom-modules") t)
                           nil (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-modules-dir)
                          (key . "doom-modules") t)
                         nil (if requires (mapc (function require) (doom-enlist requires)))
                         (+org--relative-path (+org--read-link-path key (funcall dir-fn))
                          (funcall dir-fn))
                         )
                        :follow
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . doom-modules-dir) (key . "doom-modules") t)
                           nil (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-modules-dir)
                          (key . "doom-modules") t)
                         (link)
                         (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil)
                         )
                        :face
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . doom-modules-dir) (key . "doom-modules") t)
                           nil (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-modules-dir)
                          (key . "doom-modules") t)
                         (link)
                         (let*
                          ((path (expand-file-name link (funcall dir-fn)))
                           (option-index (string-match-p "::\\(.*\\)\\'" path))
                           (file-name (substring path 0 option-index)))
                          (if (file-exists-p file-name) (quote org-link) (quote error)))
                         )
                        )
                       ("doom-docs" :complete
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-docs-dir) (key . "doom-docs") t)
                         nil (if requires (mapc (function require) (doom-enlist requires)))
                         (+org--relative-path (+org--read-link-path key (funcall dir-fn))
                          (funcall dir-fn))
                         )
                        :follow
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-docs-dir) (key . "doom-docs") t)
                         (link)
                         (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil)
                         )
                        :face
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-docs-dir) (key . "doom-docs") t)
                         (link)
                         (let*
                          ((path (expand-file-name link (funcall dir-fn)))
                           (option-index (string-match-p "::\\(.*\\)\\'" path))
                           (file-name (substring path 0 option-index)))
                          (if (file-exists-p file-name) (quote org-link) (quote error)))
                         )
                        )
                       ("doom" :complete
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . doom-emacs-dir) (key . "doom") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-emacs-dir) (key . "doom") t)
                         nil (if requires (mapc (function require) (doom-enlist requires)))
                         (+org--relative-path (+org--read-link-path key (funcall dir-fn))
                          (funcall dir-fn))
                         )
                        :follow
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . doom-emacs-dir) (key . "doom") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-emacs-dir) (key . "doom") t)
                         (link)
                         (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil)
                         )
                        :face
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . doom-emacs-dir) (key . "doom") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-emacs-dir) (key . "doom") t)
                         (link)
                         (let*
                          ((path (expand-file-name link (funcall dir-fn)))
                           (option-index (string-match-p "::\\(.*\\)\\'" path))
                           (file-name (substring path 0 option-index)))
                          (if (file-exists-p file-name) (quote org-link) (quote error)))
                         )
                        )
                       ("org" :complete
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . org-directory) (key . "org") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . org-directory) (key . "org") t)
                         nil (if requires (mapc (function require) (doom-enlist requires)))
                         (+org--relative-path (+org--read-link-path key (funcall dir-fn))
                          (funcall dir-fn))
                         )
                        :follow
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . org-directory) (key . "org") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . org-directory) (key . "org") t)
                         (link)
                         (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil)
                         )
                        :face
                        (closure
                         ((dir-fn closure
                           ((plist) (dir-var . org-directory) (key . "org") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . org-directory) (key . "org") t)
                         (link)
                         (let*
                          ((path (expand-file-name link (funcall dir-fn)))
                           (option-index (string-match-p "::\\(.*\\)\\'" path))
                           (file-name (substring path 0 option-index)))
                          (if (file-exists-p file-name) (quote org-link) (quote error)))
                         )
                        )
                       ("attachment" :image-data-fun +org-inline-image-data-fn :follow
                        org-attach-follow :complete org-attach-complete-link)
                       ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell)
                       ("news" :follow
                        #[514 "\301\300\302 Q \"\207" ["news" browse-url ":"] 6
                          "\n\n(fn URL ARG)"]
                        )
                       ("mailto" :follow
                        #[514 "\301\300\302 Q \"\207" ["mailto" browse-url ":"] 6
                          "\n\n(fn URL ARG)"]
                        )
                       ("https" :follow
                        #[514 "\301\300\302 Q \"\207" ["https" browse-url ":"] 6
                          "\n\n(fn URL ARG)"]
                        :image-data-fun +org-http-image-data-fn)
                       ("http" :follow
                        #[514 "\301\300\302 Q \"\207" ["http" browse-url ":"] 6
                          "\n\n(fn URL ARG)"]
                        :image-data-fun +org-http-image-data-fn)
                       ("ftp" :follow
                        #[514 "\301\300\302 Q \"\207" ["ftp" browse-url ":"] 6
                          "\n\n(fn URL ARG)"]
                        )
                       ("help" :follow org-link--open-help)
                       ("file" :complete org-link-complete-file :face
                        (closure (t) (path)
                         (if
                          (or (file-remote-p path)
                           (and IS-WINDOWS (string-prefix-p "\\\\" path))
                           (file-exists-p path))
                          (quote org-link) (quote error))
                         )
                        )
                       ("elisp" :follow org-link--open-elisp)
                       ("doi" :follow org-link--open-doi))
 org-export-exclude-tags '("noexport" "DNA" "travel")
 org-latex-format-headline-function 'org-latex-format-headline-default-function
 org-link-translation-function 'toc-org-unhrefify
 org-link-elisp-confirm-function nil
 org-todo-keyword-faces '(("[-]" . +org-todo-active) ("STRT" . +org-todo-active)
                          ("[?]" . +org-todo-onhold) ("WAIT" . +org-todo-onhold)
                          ("HOLD" . +org-todo-onhold) ("PROJ" . +org-todo-project))
 org-capture-after-finalize-hook '(+org-capture-cleanup-frame-h)
 org-latex-format-inlinetask-function 'org-latex-format-inlinetask-default-function
 org-html-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"]
 org-export-with-tags nil
 org-image-actual-width nil
 org-export-with-toc nil
 org-eldoc-breadcrumb-separator " → "
 org-show-context-detail t
 org-html-format-headline-function 'org-html-format-headline-default-function
 org-clock-mode-line-total 'today
 org-entities-user '(("flat" "\\flat" nil "" "" "266D" "♭")
                     ("sharp" "\\sharp" nil "" "" "266F" "♯"))
 org-src-window-setup 'other-window
 org-confirm-babel-evaluate nil
 org-use-sub-superscripts '{}
 org-agenda-custom-commands '(("p" "Priority=\"A\"" tags "PRIORITY=\"A\"" nil)
                              ("@" "@In Progress without scheduled date" tags
                               "SCHEDULED=\"\"+LEVEL=3" nil)
                              ("t" "All items with time logged, but no tag"
                               ((tags "TAGS=\"\""
                                 ((org-agenda-skip-function
                                   (lambda nil
                                    (if
                                     (and (null (org-get-tags))
                                      (>= (my/org-clock-sum-current-item-excluding-children)
                                       1)
                                      )
                                     nil (or (outline-next-heading) (point-max)))
                                    )
                                   )
                                  )
                                 )
                                )
                               )
                              )
 org-directory "~/orgnotes/"
 org-preview-latex-image-directory "/home/eddie/.emacs.d/.local/cache/org-latex/"
 org-refile-use-cache t
 org-tags-exclude-from-inheritance '("billable" "folder")
 org-html-validation-link nil
 org-attach-use-inheritance t
 org-agenda-inhibit-startup t
 org-agenda-start-on-weekday nil
 org-default-notes-file "/home/eddie/orgnotes/notes.org"
 org-id-locations-file-relative t
 org-list-allow-alphabetical t
 org-agenda-skip-unavailable-files t
 )