Skip to content

larrasket/agenda-notifier.go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


agenda-notifier.̶e̶l̶ go is a basic notification daemon for org-mode agenda, a part of the free software text editor GNU/Emacs.


Features

  • Actually works.
  • Emacs independent, so you will get notified even if Emacs is not running (it runs its own process of Emacs).
  • Reminder notification before an event.

Requirements

  • The notify-send command. (preinstalled in most GNU/Linux distributions)
  • It uses kdialog in the case of KDE.

Installation

First install Go. Then run:

go install github.com/larraskt/agenda-notifier.go/notifier@latest

Now notifier should be located at $GOPATH/bin/ (Probably $HOME/go/bin).

Usage

Auto start the notifier command with your system, there are many ways to do so, this page could be useful.

Configuration

The configuration file should be found at $HOME/.config/agn/config.yaml, and it is generated automatically.

# Whether you are using Emacs or Doom Emacs[fn:3].
doom: true
# Emacs ~init.el~ or ~.emacs~ location.
emacsInitFile: /home/ghd/.doom.d/
# Scan interval (in seconds) for checking for changes in org-agenda
scanInt: 300
# Time (in minutes) before getting a reminder of an event.
beforeNotification: 30
# ~doomscript~ binary location, in case of doom.
doomScriptLoc: /home/ghd/.emacs.d/bin/doomscript

Why?

Because:

  1. It is hard to maintain (sometimes, impossible1, 2) asynchronous code inside Emacs environment.
  2. Debugging Elisp can be painful, compared to other languages. I tired to use spegoraro/org-alert, doppelc/org-notifications, akhramov/org-wild-notifier.el and others but I couldn’t get persistence with any, and I couldn’t also debug to tell what was the problem. Actually I told myself then it would be easier to rewrite it rather than debugging it, and here we go.

Screenshots

img

img

Footnotes

1 Nothreading. EmacsWiki. Retrieved November 23, 2022, from https://www.emacswiki.org/emacs/NoThreading

2 Elisp capability of using threads is often described as ’limited’.

About

agenda-notifier.̶e̶l̶ go is a basic notification daemon for org-mode agenda,

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages