A minimal TUI for the mblaze email client

git clone https://git.8pit.net/mblaze-ui.git


2023-09-09 TODO.txt: Initialize Sören Tempel
2023-09-03 README.md: Explicitly mention that mblaze-ui requires Go >= 1.21.0 Sören Tempel
2023-09-02 README.md: Document Usage Example Sören Tempel
2023-09-02 Add To-Do regarding mflag -v Sören Tempel
2023-09-02 Add key binding to mark mails as trashed/untrashed Sören Tempel

Clone the repository to access all 52 commits.


A minimal TUI for the mblaze email client.

Screenshot of mblaze-ui with a list of email summaries.


mblaze-ui is tcell-based terminal user interface for the mblaze email client. Similar to existing Unix utilities from mblaze(7), it operates on the current message sequence as set by mseq(1). For each mail of the sequence, it prints a one line summary similar to mscan(1). Using the arrow keys, a mail from the sequence can be selected and manipulated using the key bindings described below. Conceptually, mblaze-ui is therefore similar to mless(1) but offers a pager-independent interface.


This software requires at least Go 1.21.0. If such a Go version is available on your system, install using go install as follows:

$ go install github.com/nmeum/mblaze-ui@latest

Usage Example

Set a message sequence using mseq(1), for example

$ mlist -s ~/mail/INBOX | msort -r -d | mseq -S

will set the message sequence to all unseen emails in your INBOX and will sort these messages ascending by date. This sequence can then be viewed and modified in a TUI environment using:

$ mblaze-ui

In the TUI, a specific message can be selected using the arrow keys. The state of this message can be modified through the key bindings described in the following section.

Key Bindings

The following key bindings are currently implemented:


This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.