6 @item Get the @url{git://git.stargrave.org/mmc.git, source code} and
7 compile Go programs in @file{cmd} subdirectory.
10 for c (cmd/rd cmd/mmc cmd/scrollback cmd/ch-leave) @{
11 pushd $c ; go build -ldflags=-s ; popd
15 @item Create and change to the directory where the state will be kept.
17 @item Place your MM's credentials to @env{$NETRC} (@file{~/.netrc} by
19 @code{machine mm.invalid login stargrave@@mm.invalid password PASSWORD}.
21 @item Set @env{$MMC_ENTRYPOINT} environment variable to your entrypoint.
23 @item Run @command{cmd/start} and you should see started @command{tmux}
24 with split window and running @command{cmd/mmc}.
26 @item By pressing @code{Prefix+c}, list of available users/channels is
27 shown inside @command{fzf}. Choose the desired one.
29 @item A new window (if it did not exist) will appear with the history of
30 messages and a part where you can type you message inside
31 @command{rlwrap}. You can call external editor (for multiline messages)
32 with @code{Ctrl-^} key by default in that utility.
34 @item Each time new message appears in the window, bell character is
35 sent, alerting the @command{tmux} and (depending on your configuration)
36 probably your running terminal.
38 @item If message is edited or deleted, then @code{[EDIT]}/@code{[DEL]}
39 prefix is prepended. If message contains appended files, then
40 @code{[FILE] FILEID} message is shown.
42 @item By pressing @code{Prefix+d} you will close the window.
44 @item Status change and typing notifications are shown as a short-lived
45 message at the bottom of the screen.
47 @item If you want to send file to the user/channel, then send
48 @code{/FILE /path/to/file} message.
50 @item If you want to download some file, then you can invoke
51 @command{cmd/download FILEID} utility, that will save the file to
52 @file{FILEID.tar} archive in current directory.
54 @item After you just logged in, @command{cmd/mmc} checks for new
55 messages since you were offline, if any messages were in the state's
56 history. So some windows could be automatically opened because of new
59 @item By pressing @code{Prefix+Q} you will destroy the whole session and
62 @item @command{cmd/mmc} heartbeats server each minute to tell that you
63 are online, preventing you becoming away.
65 @item You can preliminary fill your history:
68 for c (users/*(/) chans/*(/)) @{
69 cmd/scrollback -whole `cat $c/id` > $c/out.rec
70 cmd/last-update < $c/out.rec > $c/last