'\" t .ftr C B .TH "MU-SERVER" "1" .SH "NAME" .PP mu-server - the mu backend for the mu4e e-mail client .SH "SYNOPSIS" .PP mu [common-options] server .SH "DESCRIPTION" .PP \fBmu server\fP starts a simple shell in which one can query and manipulate the mu database. The output uses s-expressions. \fBmu server\fP is not meant for use by humans, except for debugging purposes. Instead, it is designed specifically for the \fBmu4e\fP e-mail client. .RS .nf ( :param1 value1 :param2 value2) .fi .RE .PP For example, to view a certain message, the command would be: .RS .nf (view :docid 12345) .fi .RE .PP Parameters can be sent in any order; they must be of the correct type though. See \fBlib/utils/mu-sexp-parser.hh\fP and \fBlib/utils/mu-sexp-parser.cc\fP in source-tree for the details. .SH "OUTPUT FORMAT" .PP \fBmu server\fP accepts a number of commands, and delivers its results in the form: .RS .nf \\376\\377 .fi .RE .PP \\376 (one byte 0xfe), followed by the length of the s-expression expressed as an hexadecimal number, followed by another \\377 (one byte 0xff), followed by the actual s-expression. .PP By prefixing the expression with its length, it can be processed more efficiently. The \\376 and \\377 were chosen since they never occur in valid UTF-8 (in which the s-expressions are encoded). .SH "SERVER OPTIONS" .SS "--commands" .PP List available commands (and try with \fC\-\-verbose\fP) .SS "--eval " .PP Evaluate a mu4e server s-expression .SS "--allow-temp-file" .PP If set, allow for the output of some commands to use temp-files rather than directly through the emacs process input/output. This is noticeably faster for commands with a lot of output, esp. when the the temp-file uses a in-memory file-system. .SH "PERFORMANCE" .PP As an indication for the relative performance, we can simulate something \fCmu4e\fP does; we take overall time of 50 such requests: .RS .nf \fCtime build/mu/mu server --allow-temp-file --eval '(find :query "\"\"" :include-related t :threads t :maxnum 50000)' >/dev/null \fP .fi .RE .PP (and \fC\-\-allow\-temp\-file\fP for 1.11) .TS center,box; r l . release time (sec) _ 1.8 8.6s 1.10 5.7s 1.11 (master) 2.8s .TE .SS "--muhome" .PP use a non-default directory to store and read the database, write the logs, etc. By default, \fCmu\fP uses the XDG Base Directory Specification (e.g. on GNU/Linux this defaults to \fI~/.cache/mu\fP and \fI~/.config/mu\fP). Earlier versions of \fCmu\fP defaulted to \fI~/.mu\fP, which now requires \fI\-\-muhome=~/.mu\fP. .PP The environment variable \fCMUHOME\fP can be used as an alternative to \fC\-\-muhome\fP. The latter has precedence. .SH "COMMON OPTIONS" .SS "-d, --debug" .PP makes mu generate extra debug information, useful for debugging the program itself. By default, debug information goes to the log file, ~/.cache/mu/mu.log. It can safely be deleted when mu is not running. When running with --debug option, the log file can grow rather quickly. See the note on logging below. .SS "-q, --quiet" .PP causes mu not to output informational messages and progress information to standard output, but only to the log file. Error messages will still be sent to standard error. Note that mu index is much faster with --quiet, so it is recommended you use this option when using mu from scripts etc. .SS "--log-stderr" .PP causes mu to not output log messages to standard error, in addition to sending them to the log file. .SS "--nocolor" .PP do not use ANSI colors. The environment variable \fCNO_COLOR\fP can be used as an alternative to \fC\-\-nocolor\fP. .SS "-V, --version" .PP prints mu version and copyright information. .SS "-h, --help" .PP lists the various command line options. .SH "REPORTING BUGS" .PP Please report bugs at \fIhttps://github.com/djcb/mu/issues\fP. .SH "AUTHOR" .PP Dirk-Jan C. Binnema .SH "COPYRIGHT" .PP This manpage is part of \fCmu\fP 1.12.3. .PP Copyright © 2008-2024 Dirk-Jan C. Binnema. License GPLv3+: GNU GPL version 3 or later \fIhttps://gnu.org/licenses/gpl.html\fP. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH "SEE ALSO" .PP \fBmu(1)\fP