The mailnotify
daemon generates pop-up notifications on incoming email
messages by monitoring a log file which records information about incoming
email, in particular the From:
and Subject:
email headers. Such an email
log file is usually written by programs like
fdm or procmail
.
mailnotify
can be a useful utility in any X11 (or Wayland) environment
with no complex desktop system. It was originally written for my
Xmonad setup.
mailnotify
relies on a running notification daemon, like
dunst or similar.
Invoking mailnotify
with no arguments prints the help message about its
usage:
mailnotify - Pop-up notification on received email.
Usage: mailnotify [--version] <mail-log> [-i|--icon <icon>]
[-t|--timeout <timeout>]
Mailnotify generates pop-up notifications about incoming email messages.
Available options:
-h,--help Show this help text
--version Show version
<mail-log> Mail log file
-i,--icon <icon> Icon name or file
(default: "mail-unread-symbolic.symbolic")
-t,--timeout <timeout> Possible timeouts: `default` use system's default;
`infinite` no timeout; N in seconds.
(default: Infinite)
For example, assuming that you are using fdm
to regularly retrieve your email, you could start mailnotify
from your
.xinitrc
with a command like this:
mailnotify ~/.local/log/fdm.log &> ~/.local/log/x11/mailnotify.log &
mailnotify
would then log any error encountered into mailnotify.log
,
otherwise it produces no output apart from an initial startup message.
Each release contains a compiled static executable of mailnotify
built on the
most recent Ubuntu LTS platform. That should work on most Linux
distributions. You can download the latest one from
here. Check the sha256
check sum of the downloaded file. Rename it to mailnotify
, made it executable
and put somewhere in your search path.
For Archlinux users there is also a package on AUR: mailnotify-bin
To build mailnotify
from source you need a Haskell development environment.
Either your platform package system can provide this or you can use
ghcup. Once you have the ghc
Haskell
compiler and cabal
etc. installed, follow the steps below.
External dependencies are libgtk2.0-dev
and libnotify-dev
on Debian
derivatives, or libnotify
and gtk2
on Arch derivatives. These must be
installed before cabal
is invoked.
Clone this repository and invoke cabal
:
git clone https://github.com/pdobsan/mailnotify.git
cd mailnotify
cabal update
cabal install
mailnotify
is known to build with ghc 8.10.7
and ghc 9.2.4
.
mailnotify
is released under the 3-Clause BSD License, see the file
LICENSE.