A package which adds notification support for org-agenda views.
With this package you’ll get notifications for TODO
entries.
There are few good org agenda notification packages I’m aware of:
- org-alert notifies about deadlines every N minutes using alert package.
- org-notify complex, feature-rich library from Org contrib directory.
While aforementioned packages are good on their own, I wanted to have something that resembles popular Calendar solutions, something that’d be unobtrusive in use and configuration.
Oh, yes. This package provides some configuration options:
Description | Variable | Default value |
---|---|---|
Alert time in minutes | org-wild-notifier-alert-time | ‘(10) |
Title of notifications | org-wild-notifier-notification-title | Agenda |
Notifications icon | org-wild-notifier-notification-icon | nil |
Org keyword based whitelist. You’ll get notified only about events specified by this variable | org-wild-notifier-keyword-whitelist | ’(“TODO”) |
Org keyword based blacklist. You’ll never be notified about events specified by this variable | org-wild-notifier-keyword-blacklist | nil |
Org tags based whitelist. You’ll get notified only about events specified by this variable | org-wild-notifier-tags-whitelist | nil |
Org tags based blacklist. You’ll never be notified about events specified by this variable | org-wild-notifier-tags-blacklist | nil |
Predicate based whitelist. You’ll get notified only about events matched by one of these functions | org-wild-notifier-predicate-whitelist | nil |
Predicate based blacklist. You’ll never be notified about events matched by one of these functions | org-wild-notifier-predicate-blacklist | nil |
Property which adds additional notifications | org-wild-notifier-alert-times-property | WILD_NOTIFIER_NOTIFY_BEFORE |
org-wild-notifier-predicate-whitelist
and
org-wild-notifier-predicate-blacklist
are lists of functions that take a
single parameter, which is a marker on an Org event. For example, to not receive
notifications for Org habits:
(setq org-wild-notifier-predicate-blacklist
'((lambda (marker)
(-contains? (org-entry-properties marker 'all)
'("STYLE" . "habit")))))
org-wild-notifier-alert-times-property
demands further explanations.
Let’s suppose you have an important event. One standard 10-minute notification is not enough. Fear not, let’s modify our Org entry.
* TODO Visit the chocolate factory
SCHEDULED: <2018-01-04 Thu 16:00>
:PROPERTIES:
:WILD_NOTIFIER_NOTIFY_BEFORE: 80 60 55 43 5
:END:
With such configuration you’ll get notifications 80, 60, 55, 43, 10 and 5 minutes before the event.
As org-alert
, this package is based on alert package. Alert offers a
wide range of customizations through it’s styles facility.
Good examples on how to define your own styles can be found in alert
source code.
A bad example on how to define your own styles can be found here.
This package is available on MELPA.
This package works in two modes:
- Automatic mode: you can toggle timer-based minor mode by invoking
org-wild-notifier-mode
. - Manual mode: user runs checks by invoking
org-wild-notifier-check
.
What’d you expect? I have literally no imagination.