Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jonhoo/buzz
A simple system tray application for notifying about unseen e-mail
https://github.com/jonhoo/buzz
email imap notifications systray
Last synced: 13 days ago
JSON representation
A simple system tray application for notifying about unseen e-mail
- Host: GitHub
- URL: https://github.com/jonhoo/buzz
- Owner: jonhoo
- License: apache-2.0
- Created: 2017-03-02T06:21:06.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-04-28T08:06:32.000Z (7 months ago)
- Last Synced: 2024-10-14T20:57:09.685Z (29 days ago)
- Topics: email, imap, notifications, systray
- Language: Rust
- Size: 406 KB
- Stars: 138
- Watchers: 5
- Forks: 12
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
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](https://github.com/jonhoo/hasmail), which provides basically
the same features, and is written in Go.## What does it look like:
![no new e-mail](assets/no-email.png?raw=true)
![new e-mail](assets/new-email.png?raw=true)![new e-mail notification](assets/notification.png?raw=true)
# Configuration
buzz looks for a
[TOML](https://github.com/toml-lang/toml#user-content-example)
configuration file in `~/.config/buzz.toml` on startup. The
configuration file consists of a number of account tables, each corresponding
to one account:```toml
[[account]]
name = "gmail"
server = "imap.gmail.com"
port = 993
username = "[email protected]"
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:
```toml
[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
- [x] customizeable folder