legalnonsense / org-timed-alerts Goto Github PK
View Code? Open in Web Editor NEWOrgmode notification warnings of upcoming events
Orgmode notification warnings of upcoming events
First of all: Thank you for the package.
I've seen from another user that he gets the scheduled time in the notification message with org-alert, but I don't and I'm not sure why, which is why I was searching for a package which allows me to customize the notification message.
Anyway, I've only played around with this package a tiny bit, but had a few problems at the start with setting everything up. I'm an emacs newbie for the most part so now this has been the first time I've debugged a bit of lisp code, because it just wouldn't work unfortunately.
The problem was that if the value of org-timed-alerts-todo-exclusions
is nil
then no entries will be found by the query in org-timed-alerts-set-all-timers
. I've fixed this by setting it to '("DONE")
, which is anyway the most sensible default in my opinion, but it should maybe also work with nil
.
Furthermore a few problems with the example here in the README:
(use-package org-timed-alerts
:after (org)
:custom
(org-timed-alerts-alert-function # 'alert)
(org-timed-alerts-tag-exclusions nil)
(org-timed-alerts-default-alert-props nil)
(org-timed-alerts-warning-times '(-10 -5))
(org-timed-alerts-agenda-hook-p t)
(org-timed-alert-final-alert-string "IT IS %alert-time\n\n%todo %headline")
(org-timed-alert-warning-string (concat "%todo %headline\n at %alert-time\n "
"it is now %current-time\n "
"*THIS IS YOUR %warning-time MINUTE WARNING*"))
:config
(add-hook 'org-mode-hook #'org-timed-alerts-mode))
There's an extra space in the alert-function definition
org-timed-alerts-tag-exclusions
should be org-timed-alerts-todo-exclusions
Here it is called org-timed-alerts-alert-function
but in the reference below that it's org-timed-alerts-alert-command
I thought i've broke the package somehow by customizing the config or changing something, turns out it behaves consistently when running org-timed-alerts-list-timers
, that is only certain events are shown in the list. After a bit of testing, i found out that it doesn't matter if i put the event in SCHEDULED:
or put the event in the heading. Events will not show if you set a todo keyword and will show if you don't set it.
I remembered issue #5 and tried to set the todo-exclusions value to '("DONE"). then I ran org-timed-alerts-list-timers
again and now events with TODO as the keyword are now shown
the default configuration with this package is nil, so by default this is broken:
org-timed-alerts/org-timed-alerts.el
Line 181 in ad032b9
the problem might be that it's detecting zero-space when checking the variable:
org-timed-alerts/org-timed-alerts.el
Lines 426 to 429 in ad032b9
I noticed it was severely slowing down my agenda display (75% of time spent says profiler), so I turned (setq org-timed-alerts-agenda-hook-p nil)
and used this instead:
(defvar my-org-timed-alerts-set-all-timers-timer nil)
(defun my-org-timed-alerts-set-all-timers ()
"Set all timers on idle."
(when (timerp my-org-timed-alerts-set-all-timers-timer)
(cancel-timer my-org-timed-alerts-set-all-timers-timer))
(setq my-org-timed-alerts-set-all-timers-timer
(run-with-idle-timer 10 nil #'org-timed-alerts-set-all-timers)))
(add-hook 'org-agenda-mode-hook #'my-org-timed-alerts-set-all-timers)
Would you like a PR or do you prefer to keep the code simple? (Thought I'd share at least in case others find it useful.)
Hi,
thanks for this useful package.
org-ql--defpred has apparently been renamed to org-ql-defpred in recent org-ql versions; at least in 20201213.1358 (installed from MELPA).
Related: alphapapa/org-ql#159
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.