X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=doc%2Findex.texi;h=38e7a66fc2fda173585b95c4e31d7e93e2311875;hb=4e819b71988b133a2d90ba62eb1c9a063e51e864;hp=b29347d5c0f53a9b5b920c6be3aee19b722df7a0;hpb=053fd7fb3435526cbbbe68a1bf03643a6327d206;p=mmc.git diff --git a/doc/index.texi b/doc/index.texi index b29347d..38e7a66 100644 --- a/doc/index.texi +++ b/doc/index.texi @@ -14,45 +14,25 @@ Copyright @copyright{} 2023 @email{stargrave@@stargrave.org, Sergey Matveev} I wrote it solely for my personal needs, but you may find its simplicity and flexibility useful. -Mattermost (MM) does not have any sane and convenient client. GUI, -mobile versions and browser application requiring you to frequently -update your Web-browser are not an option of course. - -@url{https://github.com/matterhorn-chat/matterhorn, Matterhorn} is the -only known console/terminal client for me, but until there will be any -official instructions how to bootstrap Haskell compiler, I can not even -try it. @url{https://github.com/42wim/matterircd, matterircd} was the -only possibility to use that platform (that is forced to be used by my -employer) that acts like an ordinary IRC-server bridged with MM. - -But IRC-client (@url{https://irssi.org/, irssi} in my case) can not send -long and multiline messages, because of IRC protocol limitations. And -because of frequent cyrillic alphabet usage, that takes twice as long -bytes per character, messages are relatively short and are often split -on single word boundary. Also it has neither vi-editing capabilities, -nor simple way to use/emulate @command{readline} or use external editor. -@command{matterircd} converted attached files to URLs that can be used -with supplementary utility to download them from the server with proper -authorization. - -Fortunately MM is written on Go and has convenient simple library to -deal with its API. So I tried to write my own console implementation -from the scratch without those IRC-limitations. I thought about bridging -to XMPP protocol, that won't have any noticeable limitations, even -containing file transfer possibility, but denied the idea as yet another -level of complication. Moreover I was not sure that I was satisfied with -any known XMPP-client (although in general I liked -@url{https://mcabber.com/, mcabber}). Writing an ordinary TUI -application with high level library similar to @command{curses} seemed -to be pretty complicated task and reinventing of yet another bicycle. -Initially I was not a fan at all of -@url{https://tools.suckless.org/ii/usage/, suckless} way of chat clients -building, where you have bunch of FIFOs per channel you deal with. But -more I thought, that idea started to look nicer and nicer. -@ref{Architecture, Look} what I came to! +@itemize +@item @url{https://tools.suckless.org/ii/, Suckless} minimalist FIFO and +filesystem-based backend. @url{https://github.com/tmux/tmux/wiki, tmux} +based frontend with colourized output. +@item Ability to store channel's whole message history, keeping +threading meta information in both human and machine friendly format. +@item Ability to send and retrieve files. Multiline messages support. +@item All channels refreshing after the login. +@end itemize + +@command{mmc} is +@url{https://www.gnu.org/philosophy/pragmatic.html, copylefted} +@url{https://www.gnu.org/philosophy/free-sw.html, free software} +licenced under @url{https://www.gnu.org/licenses/agpl-3.0.html, GNU +Affero GPLv3}. @insertcopying +@include why.texi @include arch.texi @include usage.texi @include faq.texi