buzz

Crates.iobuzz
lib.rsbuzz
version2.0.0
sourcesrc
created_at2017-05-04 23:20:39.959792
updated_at2024-04-28 08:06:36.624026
descriptionA simple system tray application for notifying about unseen e-mail
homepagehttps://github.com/jonhoo/buzz
repositoryhttps://github.com/jonhoo/buzz.git
max_upload_size
id13153
size149,203
Jon Gjengset (jonhoo)

documentation

README

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 account tables, each corresponding to one account:

[[account]]
name = "gmail"
server = "imap.gmail.com"
port = 993
username = "jon@gmail.com"
pwcmd = "gnome-keyring-query get gmail_pw" # or use the `password` field to set it in plain text
notificationcmd = "ssh -t somehost wall 'New gmail message!'" #Optional
folders = [ "INBOX" ] # Optional

Additionally, icons can be configured in an icon section:

[icons]
connected = "/usr/share/icons/Faenza/stock/24/stock_connect.png"
disconnected = "/usr/share/icons/Faenza/stock/24/stock_disconnect.png"
unread = "/usr/share/icons/oxygen/base/32x32/status/mail-unread.png"
new_mail = "/usr/share/icons/oxygen/base/32x32/status/mail-unread-new.png"

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.
  • folder: Name of the folder to watch (optional; defaults to "INBOX").

TODOs

  • click command
  • hover tooltip
  • customizeable folder
Commit count: 103

cargo fmt