Cone vs Gnus
Cone: Full-screen console mail client and newsreader from the Courier mail server project.
Gnus: Mail and news reader built into GNU Emacs, with back ends for IMAP, POP3, local mail folders and NNTP.
Differences
- Cone is a full-screen terminal client; Gnus is a mail client that runs inside Emacs.
- On Linux, Cone builds from source and Gnus runs natively.
- On macOS, Cone is not available and Gnus runs natively.
- On Windows, Cone runs through WSL and Gnus runs natively.
- On Android, Cone is not available and Gnus runs through Termux.
- Gnus has mouse support; Cone does not.
- Gnus has calendar support; Cone does not.
- Gnus has S/MIME; Cone does not.
- Gnus has OAuth2 sign-in; Cone does not.
- Cone is written in C++; Gnus in Emacs Lisp.
- Configuration: Cone uses interactive setup screens; settings saved under ~/.cone, and Gnus uses Emacs Lisp in init.el or ~/.gnus.el.
Side by side
| Cone | Gnus | |
|---|---|---|
| Interface | Full-screen terminal interface | Runs inside Emacs |
| Language | C++ | Emacs Lisp |
| License | GPL 3.0 | GPL 3.0 or later |
| Latest version | 2.5 | 5.13 (bundled with Emacs 31.1) |
| Linux | Build from source | Native |
| macOS | No | Native |
| Windows | Through WSL | Native |
| BSD | Native | Native |
| Android | No | Through Termux |
| IMAP | Yes | Yes |
| POP3 | Yes | Yes |
| SMTP | Yes | Yes |
| JMAP | No | No |
| Maildir | Yes | Yes |
| mbox | Yes | Yes |
| notmuch | No | Through a separate tool |
| OpenPGP | Yes | Yes |
| S/MIME | No | Yes |
| OAuth2 sign-in | No | via plugin |
| Threads | Yes | Yes |
| Search | built-in folder search; server-side on IMAP | gnus-search: IMAP SEARCH, or notmuch, mu, mairix and other local indexers |
| HTML mail | built-in HTML renderer | built-in, rendered with the Emacs shr library |
| Mouse | No | Yes |
| Multiple accounts | Yes | Yes |
| Offline use | No | via the Gnus agent or local Maildir back ends |
| Calendar | No | replies to invitations with gnus-icalendar |
| Contacts | built-in address books, stored locally, in an IMAP folder, or on LDAP | via BBDB or EUDC |
| Vim-style keys | No | No |
| Configuration | interactive setup screens; settings saved under ~/.cone | Emacs Lisp in init.el or ~/.gnus.el |
Which to choose
Choose Cone for
- Handles IMAP, POP3, local mbox and Maildir folders, and newsgroups in one folder tree.
- Built-in OpenPGP signing and encryption with per-account keys.
- Optional master password encrypts saved server passwords.
Watch out for
- Not packaged by Debian, Fedora, Arch or Homebrew; usually built from source.
- No offline mode for IMAP accounts and no OAuth2.
- No S/MIME support.
Choose Gnus for
- Included with every GNU Emacs install, including native Windows builds.
- Reads IMAP directly, plus local Maildir, MH and mbox stores and NNTP newsgroups.
- Scoring, splitting and the Gnus agent allow detailed filtering and offline reading.
Watch out for
- The group, summary and article model takes time to learn.
- IMAP access runs inside Emacs, so large mailboxes can make Emacs wait.
- Configuration is Emacs Lisp spread across many variables.
Questions
What is the difference between Cone and Gnus?
Cone is a full-screen terminal client; Gnus is a mail client that runs inside Emacs. On Linux, Cone builds from source and Gnus runs natively. On macOS, Cone is not available and Gnus runs natively.
Which runs on Windows, Cone or Gnus?
On Windows, Cone runs through WSL. On Windows, Gnus runs natively.
See also: Cone alternatives, Gnus alternatives.