1# mblaze-ui 2 3A minimal TUI for the [mblaze][mblaze github] email client. 4 5![Screenshot of mblaze-ui with a list of email summaries.](https://gist.github.com/nmeum/ddb6ddbe84d9ef5bdabd5a81219c93b2/raw/8a56073afb3b1d3d5019e09f2af43f59c245ace4/mblaze-ui.png) 6 7## About 8 9mblaze-ui is [tcell][tcell github]-based terminal user interface for the10[mblaze][mblaze github] email client. Similar to existing Unix utilities11from `mblaze(7)`, it operates on the current message sequence as set by12`mseq(1)`. For each mail of the sequence, it prints a one line summary13similar to `mscan(1)`. Using the arrow keys, a mail from the sequence14can be selected and manipulated using the key bindings described below.15Conceptually, mblaze-ui is therefore similar to `mless(1)` but offers16a pager-independent interface.1718## Installation1920This software requires at least Go 1.21.0. If such a Go version21is available on your system, install using `go install` as follows:2223 $ go install github.com/nmeum/mblaze-ui@latest2425## Usage Example2627Set a message sequence using `mseq(1)`, for example2829 $ mlist -s ~/mail/INBOX | msort -r -d | mseq -S3031will set the message sequence to all unseen emails in your INBOX and32will sort these messages ascending by date. This sequence can then33be viewed and modified in a TUI environment using:3435 $ mblaze-ui3637In the TUI, a specific message can be selected using the arrow keys.38The state of this message can be modified through the key bindings39described in the following section.4041## Key Bindings4243The following key bindings are currently implemented:4445* `Esc` / `Ctrl-C` / `q`: Exit mblaze-ui46* `Ctrl-L`: Redraw the screen47* `Enter`: View the currently selected email using `mshow(1)`48* `Up` / `Down`: Select the next/previous email49* `PageUp` / `PageDown`: Show the next/previous page of mails50* `f` / `F`: Mark the email as unflagged/flagged using `mflag(1)`51* `s` / `S`: Mark the email as unseen/seen using `mflag(1)`52* `t` / `T`: Mark the mail as untrashed/trashed using `mflag(1)`53* `d`: Delete the currently selected email54* `r`: Compose a reply for the selected email5556## License5758This program is free software: you can redistribute it and/or modify it59under the terms of the GNU General Public License as published by the60Free Software Foundation, either version 3 of the License, or (at your61option) any later version.6263This program is distributed in the hope that it will be useful, but64WITHOUT ANY WARRANTY; without even the implied warranty of65MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General66Public License for more details.6768You should have received a copy of the GNU General Public License along69with this program. If not, see <https://www.gnu.org/licenses/>.7071[mblaze github]: https://github.com/leahneukirchen/mblaze72[tcell github]: https://github.com/gdamore/tcell