email client in uxn + crystal
Find a file
2023-03-22 00:05:30 -06:00
.gitignore first commit - resizable uxn window lists inbox and crystal module can talk to it 2023-03-14 23:39:19 -06:00
build.sh first commit - resizable uxn window lists inbox and crystal module can talk to it 2023-03-14 23:39:19 -06:00
README.md README: document message types; taro-ctl: fix 0-length message sending; taro-ls: fix 0-length message reading and list length off-by-1 error 2023-03-20 23:32:49 -06:00
taro-ctl.cr taro-ctl: make message channel global; taro-ls: start search handling 2023-03-21 23:06:29 -06:00
taro-ls.tal taro-ls: delete and insert characters properly in the middle of the string 2023-03-22 00:05:30 -06:00

taro

mblaze frontend in uxn and crystal

messages

Messages are in the format [1][2:3][...]:

  • byte 1 is the message type
  • bytes 2 and 3 are the length of the message, in bytes
  • bytes 4 and beyond are the message itself (payload) - won't be present if the length is 0

Even messages go from taro-ctl to the uxn windows.

  • 0: mailbox list
  • 2: list mail in current mailbox

Odd messages go from the uxn windows to taro-ctl.

  • 1: change/refresh mailbox; payload is the mailbox to read
  • 3: mark all as read in current mailbox; no payload
  • 5: search mail; payload is the regex
  • 7: refile mail; payload is a mblaze msg number/range, a space, and then the mailbox name
  • 9: trash mail; payload is a mblaze msg number/range