#email #cli #systray #notification

app buzz

A simple system tray application for notifying about unseen e-mail

21 stable releases

✓ Uses Rust 2018 edition

1.2.2 Apr 30, 2020
1.2.1 Mar 3, 2020
1.2.0 Feb 16, 2020
1.1.10 Jul 1, 2019
0.3.0 May 15, 2017

#8 in Email

Download history 23/week @ 2020-02-07 36/week @ 2020-02-14 63/week @ 2020-02-21 46/week @ 2020-02-28 45/week @ 2020-03-06 27/week @ 2020-03-13 67/week @ 2020-03-20 25/week @ 2020-03-27 3/week @ 2020-04-03 113/week @ 2020-04-10 70/week @ 2020-04-17 9/week @ 2020-04-24 8/week @ 2020-05-01 5/week @ 2020-05-08 25/week @ 2020-05-15 25/week @ 2020-05-22

175 downloads per month

MIT/Apache and maybe LGPL-2.1/LGPL-3.0

71KB
349 lines

Introduction

Using mutt (or pine), but annoyed that it doesn't give you any notifications when you've received new emails? buzz is a simple tray application that detects new emails on IMAP servers using IDLE (push rather than pull). When it detects unseen messages, it shows a OSD style notification and changes the tray icon to indicate that you have new mail.

This project is a Rust fork of hasmail, which provides basically the same features, and is written in Go.

What does it look like:

no new e-mail new e-mail

new e-mail notification

Configuration

buzz looks for a TOML configuration file in ~/.config/buzz.toml on startup. The configuration file consists of a number of sections, each corresponding to one account:

[gmail]
server = "imap.gmail.com"
port = 993
username = "jon@gmail.com"
pwcmd = "gnome-keyring-query get gmail_pw"
notificationcmd = "ssh -t somehost wall 'New gmail message!'" #Optional

Account fields

The value in [] can be anything (though avoid . as it will be parsed as a new TOML section), and is shown in the tooltip when new e-mails arrive for an account. The options for an account are as follows:

  • server: The address to connect to. MUST currently be SSL/TLS enabled.
  • port: The port to connect to.
  • username: Username for authentication.
  • pwcmd: Command to execute to get password for authentication.
  • notificationcmd: Additional command to be executed on new messages for this account.

TODOs

  • click command
  • hover tooltip
  • customizeable folder

Dependencies

~8–14MB
~326K SLoC