1MU-SERVER(1) General Commands Manual MU-SERVER(1)
2
3
4
6 mu server - the mu backend for the mu4e e-mail client
7
8
10 mu [common-options] server
11
12
14 mu server starts a simple shell in which one can query and manipulate
15 the mu database. The output uses s-expressions. mu server is not meant
16 for use by humans, except for debugging purposes. Instead, it is de‐
17 signed specifically for the mu4e e-mail client.
18
19
20 In this man-page, we document the commands mu server accepts, as well
21 as their responses. In general, the commands sent to the server are s-
22 expressions of the form:
23
24 (<command-name> :param1 value1 :param2 value2)
25
26
27
28 For example, to view a certain message, the command would be:
29
30 (view :docid 12345)
31
32
33
34 Parameters can be sent in any order; they must be of the correct type
35 though. See lib/utils/mu-sexp-parser.hh and lib/utils/mu-sexp-
36 parser.cc in source-tree for the details.
37
38
40 mu server accepts a number of commands, and delivers its results in the
41 form:
42
43 \376<length>\377<s-expr>
44
45
46
47 \376 (one byte 0xfe), followed by the length of the s-expression ex‐
48 pressed as an hexadecimal number, followed by another \377 (one byte
49 0xff), followed by the actual s-expression.
50
51
52 By prefixing the expression with its length, it can be processed more
53 efficiently. The \376 and \377 were chosen since they never occur in
54 valid UTF-8 (in which the s-expressions are encoded).
55
56
58 --commands
59 List available commands (and try with --verbose)
60
61
62 --eval <expression>
63 Evaluate a mu4e server s-expression
64
65
66 --muhome
67 use a non-default directory to store and read the database, write the
68 logs, etc. By default, mu uses the XDG Base Directory Specification
69 (e.g. on GNU/Linux this defaults to ~/.cache/mu and ~/.config/mu). Ear‐
70 lier versions of mu defaulted to ~/.mu, which now requires
71 --muhome=~/.mu.
72
73
74 The environment variable MUHOME can be used as an alternative to
75 --muhome. The latter has precedence.
76
77
79 -d, --debug
80 makes mu generate extra debug information, useful for debugging the
81 program itself. By default, debug information goes to the log file,
82 ~/.cache/mu/mu.log. It can safely be deleted when mu is not running.
83 When running with --debug option, the log file can grow rather quickly.
84 See the note on logging below.
85
86
87 -q, --quiet
88 causes mu not to output informational messages and progress information
89 to standard output, but only to the log file. Error messages will still
90 be sent to standard error. Note that mu index is much faster with
91 --quiet, so it is recommended you use this option when using mu from
92 scripts etc.
93
94
95 --log-stderr
96 causes mu to not output log messages to standard error, in addition to
97 sending them to the log file.
98
99
100 --nocolor
101 do not use ANSI colors. The environment variable NO_COLOR can be used
102 as an alternative to --nocolor.
103
104
105 -V, --version
106 prints mu version and copyright information.
107
108
109 -h, --help
110 lists the various command line options.
111
112
114 Please report bugs at https://github.com/djcb/mu/issues.
115
116
118 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
119
120
122 This manpage is part of mu 1.10.5.
123
124
125 Copyright © 2022-2023 Dirk-Jan C. Binnema. License GPLv3+: GNU GPL ver‐
126 sion 3 or later https://gnu.org/licenses/gpl.html. This is free soft‐
127 ware: you are free to change and redistribute it. There is NO WARRANTY,
128 to the extent permitted by law.
129
130
132 mu(1)
133
134
135
136 MU-SERVER(1)