diff --git a/man/common-options.inc b/man/common-options.inc index 5cd178b5..20e9f464 100644 --- a/man/common-options.inc +++ b/man/common-options.inc @@ -11,8 +11,11 @@ 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. +** -v, --verbose +Causes *mu* to output extra information, for some commands. + ** --log-stderr -Causes *mu* to not output log messages to standard error, in addition to sending +Causes *mu* to output log messages to standard error, in addition to sending them to the standard logging location. ** --nocolor diff --git a/man/mu-cfind.1.org b/man/mu-cfind.1.org index 220d9f69..7a1ec66a 100644 --- a/man/mu-cfind.1.org +++ b/man/mu-cfind.1.org @@ -47,7 +47,7 @@ The regular expressions are basic case-insensitive PCRE, see {{{man-link(pcre,3) * CFIND OPTIONS -** --format plain|mutt-alias|mutt-ab|wl|org-contact|bbdb|csv +** --format plain|mutt-alias|mutt-ab|wl|org-contact|bbdb|csv|json Sets the output format to the given value. The following are available: #+ATTR_MAN: :disable-caption t @@ -84,6 +84,10 @@ example, only consider addresses last seen after 2020-06-01, you could specify --after=$(date +%s --date='2020-06-01') #+end_example +** -n, --maxnum _number_ +If _number_ > 0, display maximally that number of contacts. If not specified, +all matching contacts are displayed. + #+include: "muhome.inc" :minlevel 2 #+include: "common-options.inc" :minlevel 1 diff --git a/man/mu-extract.1.org b/man/mu-extract.1.org index 96a131e7..e2ebc0d8 100644 --- a/man/mu-extract.1.org +++ b/man/mu-extract.1.org @@ -71,6 +71,13 @@ particular file type. On MacOS, this uses the *open* program, on other platforms it uses *xdg-open*. You can choose a different program by setting the *MU_PLAY_PROGRAM* environment variable. +** --decrypt +Attempt to decrypt encrypted parts. This is only possible if *mu* was built with +crypto-support. + +** -r, --auto-retrieve +Attempt to retrieve crypto-keys automatically from the network, when needed. + #+include: "common-options.inc" :minlevel 1 * EXAMPLES diff --git a/man/mu-find.1.org b/man/mu-find.1.org index c7841beb..989d7c05 100644 --- a/man/mu-find.1.org +++ b/man/mu-find.1.org @@ -49,8 +49,8 @@ Note, some of the important options are described in the {{{man-link(mu,1)}}} manual page and not here, as they apply to multiple *mu* commands. The *find*-command has various options that influence the way *mu* displays the -results. If you don't specify anything, the defaults are *--fields="d f s"*, -*--sortfield=date* and *--reverse*. +results. If you don't specify anything, the defaults are *--fields="d f s"* and +*--sortfield=date*. ** -f, --fields _fields_ Specifies a string that determines which fields are shown in the output. This @@ -103,15 +103,15 @@ Specify the field to sort the search results by and the direction (i.e., For the complete list, try the command: *mu info fields*. -Thus, for example, to sort messages by date, you could specify: +Thus, for example, to sort messages by date, newest first, you could specify: #+begin_example $ mu find fahrrad --fields "d f s" --sortfield=date --reverse #+end_example -Note, if you specify a sortfield, by default, messages are sorted in reverse -(descending) order (e.g., from lowest to highest). This is usually a good -choice, but for dates it may be more useful to sort in the opposite direction. +Note, by default messages are sorted in ascending (A-Z) order; with *--reverse* +they are sorted in descending (Z-A) order — for dates, that means the newest +messages come first. ** -n, --maxnum _number_ @@ -134,11 +134,11 @@ Output results in the specified format. - *sexp* formats the search results as an s-expression as used in Lisp programming environments. - *json* formats the output as JSON; it is a direct translation of the *sexp* format -- *json2* is a slightly more idiomatic JSON, for now the only difference with *json* - is that the latter avoids the ':' prefix in key-names (e.g., "subject" instead +- *json2* is a slightly more idiomatic JSON; for now the only difference with *json* + is that *json2* avoids the ':' prefix in key-names (e.g., "subject" instead of ":subject"). *json2* is still experimental. -** --linksdir _dir_ and -c, --clearlinks +** --linksdir _dir_ and --clearlinks When using *--format=links*, output the results as a maildir with symbolic links to the found messages. This enables easy integration with mail-clients (see @@ -160,12 +160,12 @@ index*. ** --after _timestamp_ -Only show messages whose message files were last modified (*mtime*) after +Only show messages whose message files were last changed (*ctime*) after _timestamp_. _timestamp_ is a UNIX *time_t* value, the number of seconds since 1970-01-01 (in UTC). From the command line, you can use the *date* command to get this value. For -example, only consider messages modified (or created) in the last 5 minutes, you +example, only consider messages changed (or created) in the last 5 minutes, you could specify #+begin_example --after=`date +%s --date='5 min ago'` diff --git a/man/mu-index.1.org b/man/mu-index.1.org index 6b089d43..ad32dcbd 100644 --- a/man/mu-index.1.org +++ b/man/mu-index.1.org @@ -56,7 +56,7 @@ much faster. See *PERFORMANCE (i,ii,iii)* below for more information. The optional cleanup-phase of the indexing-process is the removal of messages from the database for which there is no longer a corresponding file in the -Maildir. If you do not want this, you can use *-n*, *--nocleanup*. +Maildir. If you do not want this, you can use *--nocleanup*. When *mu index* catches one of the signals *SIGINT*, *SIGHUP* or *SIGTERM* (e.g., when you press *Ctrl-C* during the indexing process), it attempts to shutdown diff --git a/man/mu-info.1.org b/man/mu-info.1.org index cfc05663..d2cdcb19 100644 --- a/man/mu-info.1.org +++ b/man/mu-info.1.org @@ -22,6 +22,10 @@ mu-info - show information Note that while running (e.g. ~mu4e~), some of the *store* information can be delayed due to database caching. +* INFO OPTIONS + +#+include: "muhome.inc" :minlevel 2 + #+include: "common-options.inc" :minlevel 1 #+include: "exit-code.inc" :minlevel 1 diff --git a/man/mu-init.1.org b/man/mu-init.1.org index 92760e72..5325be61 100644 --- a/man/mu-init.1.org +++ b/man/mu-init.1.org @@ -40,7 +40,7 @@ for details), wrapped in */* (such as =/foo-.*@example\\.com/=). Depending on yo shell, the argument may need to be quoted. A note of warning for *mu4e* users: any regular-expressions used with -=--with-address= are also used by *mu4e*. Unfortunately, PCRE regular expressions +=--personal-address= are also used by *mu4e*. Unfortunately, PCRE regular expressions are *not* generally compatible with Emacs regular expressions. For instance, *(foo|bar)* in PCRE syntax has *\(foo\|bar\)* as its Emacs equivalent. @@ -65,8 +65,8 @@ Specifies the maximum size for an e-mail message. Usually, the default of ** --batch-size _size_ The number of changes after which they are committed to the database; decreasing -the value reduces the memory requirements, at the cost of make indexing -substantially slower. Usually, the default of 250000 should be fine. +the value reduces the memory requirements, at the cost of making indexing +substantially slower. Usually, the default of 50000 should be fine. Batch-size 0 is interpreted as `use the default'. @@ -100,7 +100,7 @@ variables such as *XAPIAN_CJK_NGRAM* are ignored. * RESTORING LABELS When you have any _labels_ defined for your database, *mu* automatically exports -those to a file in the *mu* cache directory; you see this in the ~--init~ output. +those to a file in the *mu* cache directory; you see this in the ~--reinit~ output. #+begin_example $ mu init --reinit @@ -109,7 +109,7 @@ exported labels to: /home/user/.cache/mu/mu-export-2025-08-16-13:43:27.txt You can restore those labels _after_ re-indexing, e.g., #+begin_example -$ mu label import /home/user/.cache/mu/mu-export-2025-08-16-13:43:27.txt +$ mu labels import /home/user/.cache/mu/mu-export-2025-08-16-13:43:27.txt #+end_example Please see {{{man-link(mu-labels,1)}}} for further details. diff --git a/man/mu-labels.1.org b/man/mu-labels.1.org index e71bc986..522b7879 100644 --- a/man/mu-labels.1.org +++ b/man/mu-labels.1.org @@ -12,7 +12,7 @@ mu-labels - attach labels to messages. Export labels to file, and import them. *mu* [​_COMMON-OPTIONS_​] labels list -*mu* [​_COMMON-OPTIONS_​] labels list-restore +*mu* [​_COMMON-OPTIONS_​] labels restore-list *mu* [​_COMMON-OPTIONS_​] labels clear [CLEAR-OPTIONS] "" @@ -31,9 +31,9 @@ A label is a string associated with a message. - *update* for changing the labels for the messages matching some query - *clear* for clearing all labels from messages matching some query - *list* to list all labels that are used in the store -- *list-restore* to restore the list of labels from the database (store) +- *restore-list* to restore the list of labels from the database (store) - *export* to write the label information to a file -- *import* the read label information from a file +- *import* to read label information from a file *Important*: unlike other message metadata stored by *mu*, labels _cannot_ be restored by merely re-indexing messages, since the information is not part of the message @@ -54,7 +54,7 @@ using from a shell. *mu4e* users: note the difference, in *mu4e* the label expressions are _space_-separated, here they are _comma_-separated. -** --dry-run +** -n, --dry-run only print what /would/ change, but do not change anything @@ -66,7 +66,7 @@ The *clear* command removes all labels from messages that match some query. As with *update*, the query must be recognized as a single parameter, i.e., quote it when using a shell. -** --dry-run +** -n, --dry-run only print what /would/ change, but do not change anything @@ -77,13 +77,13 @@ when using a shell. The *list* command lists all the labels that are currently in use in the store. This is the information is used for auto-completion in *mu4e*. -With the (global, directly after *mu) *--verbose* option, this also includes the +With the (global, directly after *mu*) *--verbose* option, this also includes the counts. -* LIST-RESTORE OPTIONS +* RESTORE-LIST OPTIONS It is possible that the list of labels (as per the *list* sub-command) gets -outdated for various reasons. With *list-restore*, this list get refreshed with +outdated for various reasons. With *restore-list*, this list gets refreshed with the actual labels as seen in the store. * EXPORT OPTIONS @@ -109,7 +109,7 @@ The *import* command is for restoring the labels from a file created through See *EXPORT FORMAT* below for details on the format. -** --dry-run +** -n, --dry-run only print what would change, but do not change anything @@ -121,7 +121,7 @@ See *EXPORT FORMAT* below for details on the format. restrictions on what is accepted as a label. - a *valid label character* is any character that is not a control-character, not - a blank, nor anything matching the regular expression ~[^\"$',/\\`]~ + a blank, nor anything matching the regular expression ~[\"$',/\\`]~ - a *valid label* consists of one or more valid label characters, the first of which must *not* be either *+* or *-* @@ -186,5 +186,5 @@ $ mu labels clear "label:boring" * SEE ALSO -{{{man-link(mu-query,1)}}}, -{{{man-link(mu-find,1)}}}, +{{{man-link(mu-query,7)}}}, +{{{man-link(mu-find,1)}}} diff --git a/man/mu-move.1.org b/man/mu-move.1.org index e9d20beb..b4794945 100644 --- a/man/mu-move.1.org +++ b/man/mu-move.1.org @@ -42,6 +42,8 @@ Print the target filename(s), but don't change anything. Note that with the *--change-name*, the target name is not constant, so you cannot use a dry-run to predict the exact name when doing a `real' run. +#+include: "muhome.inc" :minlevel 2 + #+include: "common-options.inc" :minlevel 1 * FLAGS @@ -109,6 +111,8 @@ $ mu move /home/user/Maildir/project1/cur/1695559560.a73985881f4611ac2.hostname! #+include: "prefooter.inc" :minlevel 1 +#+include: "exit-code.inc" :minlevel 1 + * SEE ALSO {{{man-link(maildir,5)}}} diff --git a/man/mu-scm.1.org b/man/mu-scm.1.org index 20ef5ae5..ab80663b 100644 --- a/man/mu-scm.1.org +++ b/man/mu-scm.1.org @@ -56,7 +56,7 @@ found 7173 match(es) * ENVIRONMENT By default, *mu scm* expects its internal files to be found in -~/hare/mu/scm~. However, for development/testing you can set the +~/share/mu/scm~. However, for development/testing you can set the environment variable *MU_SCM_DIR* to some alternative directory. * SEE ALSO diff --git a/man/mu-server.1.org b/man/mu-server.1.org index 0c3d6dd9..cef44d5c 100644 --- a/man/mu-server.1.org +++ b/man/mu-server.1.org @@ -63,7 +63,7 @@ file-system. ** --listen If set, the server starts an SCM REPL as well, which listens on a Unix domain -socket. This corresponds to the *--listen* options for *mu scm**. +socket. This corresponds to the *--listen* option for *mu scm*. The store object (including the Xapian database) is shared between the server and the REPL. diff --git a/man/mu-view.1.org b/man/mu-view.1.org index 6f6a8ec5..fbb6a93f 100644 --- a/man/mu-view.1.org +++ b/man/mu-view.1.org @@ -43,7 +43,7 @@ useful when you want to further process them. Attempt to decrypt encrypted message bodies. This is only possible if *mu* was built with crypto-support. -** --auto-retrieve +** -r, --auto-retrieve Attempt to retrieve crypto-keys automatically from the network, when needed. #+include: "common-options.inc" :minlevel 1 diff --git a/man/mu.1.org b/man/mu.1.org index 80f36290..f86ab662 100644 --- a/man/mu.1.org +++ b/man/mu.1.org @@ -25,9 +25,13 @@ For information about the common options, see *COMMON OPTIONS*. - *index*: (re)index the messages in a Maildir - *info*: show information about the *mu* database - *init*: initialize the *mu* database +- *labels*: manage message labels - *mkdir*: create a new Maildir +- *move*: move a message or change its flags - *remove*: remove specific messages from the database +- *scm*: start a Guile/Scheme shell or run a script - *server*: start a server process (for ~mu4e~-internal use) +- *verify*: verify cryptographic message signatures - *view*: view a specific message Each of the commands have their own manpage *mu-*. @@ -57,9 +61,9 @@ man-page as well. Some *mu* commands support colorized output, and do so by default when writing to a TTY (roughly, to a screen). When not writing to a TTY, for instance when redirection the output to a file or using a pipe, the default is to *not* show -output. +colors. -If you don no want colors, you can use *--nocolor*. +If you do not want colors, you can use *--nocolor*. If you want colors even when it is not the default, use *--nocolor=false*. @@ -81,15 +85,15 @@ the output is always UTF-8, regardless of the locale: * DATABASE AND FILE -The *index*, *find*, and *cfind* commands work with the database, while the other -ones work on individual mail files. Hence, running *view*, *mkdir* and *extract* does -not require the *mu* database. +The *index*, *find*, *cfind*, *move*, *add*, *remove* and *labels* commands work with the +database, while the other ones work on individual mail files. Hence, running +*view*, *mkdir* and *extract* does not require the *mu* database. * LOGGING *mu* logs to the standard logging location, which is either the systemd journal, *syslog* or a log file (by default, _~/.cache/mu/mu.log_), depending on your -*system's setup; the first that appears to be working is used. +system's setup; the first that appears to be working is used. When using a log file, 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 @@ -112,9 +116,13 @@ on logging below. {{{man-link(mu-index,1)}}}, {{{man-link(mu-info,1)}}}, {{{man-link(mu-init,1)}}}, +{{{man-link(mu-labels,1)}}}, {{{man-link(mu-mkdir,1)}}}, +{{{man-link(mu-move,1)}}}, {{{man-link(mu-remove,1)}}}, +{{{man-link(mu-scm,1)}}}, {{{man-link(mu-server,1)}}}, +{{{man-link(mu-verify,1)}}}, {{{man-link(mu-view,1)}}}, {{{man-link(mu-query,7)}}}, -{{{man-link(mu-easy,1)}}} +{{{man-link(mu-easy,7)}}}