]> Sergey Matveev's repositories - mmc.git/blob - doc/usage.texi
Quick file download
[mmc.git] / doc / usage.texi
1 @node Usage
2 @unnumbered Usage
3
4 @enumerate
5
6 @item Get the @url{git://git.stargrave.org/mmc.git, source code} and
7 compile Go programs in @file{cmd} subdirectory.
8
9 @example
10 for c (cmd/rd cmd/mmc cmd/sb cmd/ch-leave) @{ pushd $c ; go build ; popd @}
11 @end example
12
13 @item Create and change to the directory where the state will be kept.
14
15 @item Place your MM's credentials to @env{$NETRC} (@file{~/.netrc} by
16 default). For example
17 @code{machine mm.invalid login stargrave@@mm.invalid password PASSWORD}.
18
19 @item Set @env{$MMC_ENTRYPOINT} environment variable to your entrypoint.
20
21 @item Run @command{cmd/start} and you should see started @command{tmux}
22 with split window, running @command{cmd/mmc} and list of user statuses.
23
24 @item By pressing @code{Prefix+c}, list of available users/channels is
25 shown inside @command{fzf}. Choose the desired one.
26
27 @item A new window (if it did not exist) will appear with the history of
28 messages and a part where you can type you message inside
29 @command{rlwrap}. You can call external editor (for multiline messages)
30 with @code{Ctrl-^} key by default in that utility.
31
32 @item Each time new message appears in the window, bell character is
33 sent, alerting the @command{tmux} and (depending on your configuration)
34 probably your running terminal.
35
36 @item If message is edited or deleted, then @code{[EDIT]}/@code{[DEL]}
37 prefix is prepended. If message contains appended files, then
38 @code{[FILE] FILEID} message is shown.
39
40 @item By pressing @code{Prefix+d} you will close the window.
41
42 @item By pressing @code{Prefix+S}, list of available files is shown
43 inside @command{fzf}, just to quickly display it.
44
45 @item By pressing @code{Prefix+D}, list of available file links in
46 current window is shown. Choose the desired one and it will be saved in
47 @file{/tmp} directory.
48
49 @item Status change and typing notifications are shown as a short-lived
50 message at the bottom of the screen.
51
52 @item If you want to send file to the user/channel, then send
53 @code{/FILE /path/to/file} message.
54
55 @item If you want to download some file, then you can invoke
56 @command{cmd/dl path/to/state FILEID} utility, that will save the file
57 to @file{FILEID.tar} archive in current directory and extract it.
58
59 @item After you just logged in, @command{cmd/mmc} checks for new
60 messages since you were offline, if any messages were in the state's
61 history. So some windows could be automatically opened because of new
62 messages.
63
64 @item By pressing @code{Prefix+Q} you will destroy the whole session and
65 quit @command{tmux}.
66
67 @item @command{cmd/mmc} heartbeats server each minute to tell that you
68 are online, preventing you becoming away.
69
70 @item You can preliminary fill your history:
71
72 @example
73 for c (users/*(/) chans/*(/)) cmd/sb/all $c
74 @end example
75
76 @end enumerate