The `config.cr` file is a bunch of constants for `taro-ctl` to use. Adjust them to your needs:
-`MBOX_ROOT`: the directory where your maildirs are
-`TARO_LIB`: the directory where the `taro-ls` rom, `taro-reader` script, `lesskey` file, and `taro.sock` files go (probably just where you cloned this repository.
-`TARO_DOWNLOADS`: directory where attachments are downloaded to
-`UXN_EMU`: name of the `uxnemu` executable. You can copy `uxnemu` to, eg `taro` and it will have that _NET_WM_CLASS
-`TARO_ENV`: environment variables as you type them in the terminal, that you can use for the `READER_PROG` and `COMPOSE_PROG` commands
-`READER_PROG`: command to spawn to read mail - by default it calls the `st` terminal with some environment variables and options set, and runs `taro-reader`
-`COMPOSE_PROG`: command to spawn to write mail - by default it calls the `st` terminal with some environment variables and options set and runs `mcom` from `mblaze`
Environment variable and tilde expansion in the config are not supported.
- Mailboxes: it's assumed by taro-ctrl that your inbox is named INBOX, and it exists; it's put first, and the rest are shown in alphabetical order
- Mail List: your mail in the default scan-format given in your mblaze-profile is shown here
- Actions: button list and initially hidden text input area
Left clicking on a mailbox switches to that mailbox. Left-clicking on mail selects that mail. You can do multiselect by holding shift when clicking. Right-clicking on mail opens that mail (only the first in the selection if 2 or more are selected). You can also use the `Enter` key to open mail.
The buttons on the bottom are as follows (with equivalent keybinds):
- compose [`n`]: open a compose window to write new mail
At the bottom-left, a small indicator will appear if you have a search query active. Performing the refresh action or switching mailboxes will make it disappear.
Reading mail is currently done in a terminal that pipes the mail content into `less` and gives some keybind options:
-`q`: quit
-`r`: reply
- 'f': forward
- 'o': open an attachment - you are presented with the MIME structure of the mail with parts numbered and prompted to select a number to open. The programs to open each mimetype are in the aforementioned `handle` function of the script.
-`s`: save an attachment - like `o` but selecting a MIME part saves it to the folder `TARO_DOWNLOADS` in `config.cr`
The attachment actions loop until you enter nothing or a non-numeric value. The whole script loops until you quit.
### writing mail
Writing mail is currently done by opening a terminal and calling `mcom`, which lets you compose in your `EDITOR` of choice and prompts for additional action.
If you try to decrypt/sign with either `pinenetry-tty` or `pinentry-curses`, GPG will attach it to the stdio of `taro-ctl`, not the terminal window where you are viewing/composing mail. Use a graphical pinentry program instead.
## TODO
- Implement keybinds for changing mailbox, selecting/scrolling mail, resizing
-`15`: push view update (keeps search query, for after replying/writing mail or when new mail comes in)
## socket (other IPC)
`taro-ctl` creates a socket at `TARO_LIB/taro.sock` and listens for bytes on it. Every time a byte is written to the socket, `taro-ctl` will use message `15` to update the inbox. Whatever method you use to sync your maildirs to your mailserver, it can write a byte to this socket when you receive mail!