@node Usage @unnumbered Usage @enumerate @item Get the @url{git://git.stargrave.org/mmc.git, source code} and compile Go programs in @file{cmd} subdirectory: @code{./build}. @item Create and change to the directory where the state will be kept. @item Place your MM's credentials to @env{$NETRC} (@file{~/.netrc} by default). For example @code{machine mm.invalid login stargrave@@mm.invalid password PASSWORD}. @item Set @env{$MMC_ENTRYPOINT} environment variable to your entrypoint. @item Run @command{cmd/start} and you should see started @command{tmux} with split window, running @command{cmd/mmc} and list of user statuses. @item By pressing @code{Prefix+c}, list of available users/channels is shown inside @command{fzf}. Choose the desired one. @item A new window (if it did not exist) will appear with the history of messages and a part where you can type you message inside @command{rlwrap}. You can call external editor (for multiline messages) with @code{Ctrl-^} key by default in that utility. @item Each time new message appears in the window, bell character is sent, alerting the @command{tmux} and (depending on your configuration) probably your running terminal. @item If message is edited or deleted, then @code{[EDIT]}/@code{[DEL]} prefix is prepended. If message contains appended files, then @code{[FILE] FILEID} message is shown. @item By pressing @code{Prefix+d} you will close the window. @item By pressing @code{Prefix+S}, list of available files is shown inside @command{fzf}, just to quickly display it. @item By pressing @code{Prefix+D}, list of available file links in current window is shown. Choose the desired one and it will be saved in @file{/tmp} directory. @item Status change and typing notifications are shown as a short-lived message at the bottom of the screen. @item If you want to send file to the user/channel, then send @code{/FILE /path/to/file} message. @item If you want to download some file, then you can invoke @command{cmd/dl path/to/state FILEID} utility, that will save the file to @file{FILEID.tar} archive in current directory and extract it. @item After you just logged in, @command{cmd/mmc} checks for new messages since you were offline, if any messages were in the state's history. So some windows could be automatically opened because of new messages. @item By pressing @code{Prefix+Q} you will destroy the whole session and quit @command{tmux}. @item @command{cmd/mmc} heartbeats server each minute to tell that you are online, preventing you becoming away. @item You can preliminary fill your history: @example for c (users/*(/) chans/*(/)) cmd/sb/all $c @end example @end enumerate