.TH MU-SERVER 1 "January 2012" "User Manuals" .SH NAME mu server \- the mu backend for the mu4e e-mail cleint .SH DESCRIPTION \fBmu server\fR starts a simple shell in which can manipulate the mu database. The output of the commands is terms of Lisp symbolic expressions (s-exps). \fBmu server\fR is not meant for use by humans; instead, it is designed specifically for the \fBmu4e\fR e-mail client. In this man-page, we document the commands \fBmu server\fR accepts, as well as their responses. .SH OUTPUT FORMAT \fBmu server\fR accepts a number of commands, and delivers its results in the form: .nf \\376\\376 .fi \\367 (that is, the character with ascii value 254, \\376 in octal notation), followed by the length of the s-expression, followed by another \\376, followed by the actual s-expression. By prefixing the expression with its length, it can be processed more efficiently. The \\376 (254) was chosen since it is a value that will never occur in valid UTF-8 (in which the s-expressions are encoded). .SH COMMAND AND RESPONSE .TP .B ping The \fBping\fR command provokes a \fBpong\fR response. It is used for the initial handshake between \fBmu4e\fR and \fBmu server\fR. .nf -> ping <- (:pong "mu" :version :doccount ) .fi .TP .B find Using the \fBfind\fR command we can search for messages. .nf -> find "" .fi This will return a series of 0 up to s-expression corresponding to each message found (with a negative number for meaning 'unlimited'). The information for each message does not contain the message body; the \fBview\fR command is for that. .nf <- (...) .fi and finally, we receive: .nf <- (:found ) .fi .TP .B move Using the \fBmove\fR command, we can move messages to another maildir, and update the database correspondingly. The function returns an s-exp describing the updated message, so that it can be updated in the user interface. .nf -> move [] <- (:update :move t) .fi .TP .B flag Using the \fBflag\fR command, we can change the message flags - note that this may imply moving the message to another maildir, when the 'N' (new) flag changes. Update the database correspondingly. The function returns an s-exp describing the updated message, so that it can be updated in the user interface. .nf -> move [] <- (:update :move nil) .fi .TP .B remove Using the \fBremove\fR command, we can remove the message from disk, and update the database accordingly. .nf -> remove <- (:remove ) .fi .TP .B save Using the \fBsave\fR command, we can save an attachment from a message to disk. .nf -> save <- (:info save :message " has been saved") .fi .TP .B open Using the \fBopen\fR command, we can open an attachment file. .nf -> open <- (:info open :message " has been opened") .fi .TP .B view Using the \fBview\fR command, we can all information (including the body) of a particular e-mail message. .nf -> view <- (:view ) .fi .TP .B compose Using the \fBcompose\fR command, we get the (original) message, and tell what to do with it. The user-interface is then expected to pre-process the message, e.g. set the subject, sender and recipient for a reply message. .nf -> compose <- (:compose-type :original :include ( is an s-expression describing the attachments to include in the message; this currently only applies to message we are forwarding. This s-exprssion looks like: .nf (:file-name :mime-type :disposition ) .fi .TP .B index Using the \fBindex\fR command, we can (re)index the database, similar to what \fBmu find\fR does. .nf -> index .fi As a response, it will send (for each 500 messages): .nf (:info index :status running :processed :updated ) .fi and finally: .nf (:info index :status complete :processed :cleaned-up ) .fi .TP .B add Using the \fBadd\fR command, we can add a message to the database. .nf -> add <- (:info add :path :docid ) .fi .TP .B mkdir Using the \fBmkdir\fR command, we can create a new maildir. .nf -> mkdir <- (:info mkdir :message " has been created") .fi .SH AUTHOR Dirk-Jan C. Binnema .SH "SEE ALSO" .BR mu(1)