diff --git a/README.org b/README.org index 1216ec8..d3047c1 100644 --- a/README.org +++ b/README.org @@ -11,17 +11,12 @@ * Introduction - Tinmop is an opinionated client for - [[https://gemini.circumlunar.space/][gemini protocol]], Gopher, - [[https://pleroma.social/][Pleroma]] (using the mastodon API) and - [[https://kamid.omarpolo.com/][kamid]] protocols. It offer a - distraction free terminal interface and a GUI for connecting to the - geminispace. + Tinmop is an opinionated client for [[https://gemini.circumlunar.space/][gemini protocol]], Gopher, + [[https://joinmastodon.org/][Mastodon]], [[https://pleroma.social/][Pleroma]] (using the mastodon API) and [[https://kamid.omarpolo.com/][kamid]] protocols. It offer a + distraction free terminal interface and a GUI for connecting to the geminispace. - The name is a recursive acronym: "Tinmop Is Not Mutt or Pine". The - older of us can remember that, in turn, Pine is sometimes considered - an acronym as well: "Pine Is Not Elm" and, finally, Elm means - (according to Wikipedia): "Electronic Mail". + The name is a recursive acronym: "Tinmop Is Not Mutt or Pine". The older of us can remember that, in turn, Pine is sometimes considered + an acronym as well: "Pine Is Not Elm" and, finally, Elm means (according to Wikipedia): "Electronic Mail". * Peculiar Features @@ -29,17 +24,13 @@ - subscriptions of hashtag; - programmable and extensible; - encrypted direct message (but see [[FAQ]]); - - no mentions notification, no knowledge of when or who favourited - your status; - - No blocking or muting, the client can be configured to ignore - a list of accounts. + - no mentions notification, no knowledge of when or who favourited your status; + - No blocking or muting, the client can be configured to ignore a list of accounts. ** Important note - This is alpha quality software, many things are broken, some - feature are missing some works with unintended/unexpected side - effects; this software is for testing only and remember that there - is [[NO WARRANTY][NO WARRANTY]]. + This is alpha quality software, many things are broken, some feature are missing some works with unintended/unexpected side + effects; this software is for testing only and remember that there is [[NO WARRANTY][NO WARRANTY]]. * Dependency @@ -48,8 +39,7 @@ + to build the package: xgettext. - + to install the package, including running the script to install - lisp libraries (~quick_quicklisp.sh~): + + to install the package, including running the script to install lisp libraries (~quick_quicklisp.sh~): - AWK; - git. @@ -65,10 +55,10 @@ - man - imagemagick - All the dependencies above should be available using the package - manager of your distribution (~apt~, ~yum~ etc). + All the dependencies above should be available using the package manager of your distribution (~apt~, ~yum~ etc). ** Lisp Libraries + - alexandria; - cl-ppcre-unicode; - tooter; @@ -99,16 +89,13 @@ - percent-encoding; - trivial-clipboard. - All these libraries will be downloaded, compiled and installed by - the script ~quick_quicklisp.sh~, see below. + All these libraries will be downloaded, compiled and installed by the script ~quick_quicklisp.sh~, see below. ** Foreign (C language) library - libssl (TLS socket) - The C library should be installed with their header (~*.h~) - files. On Debian or derived system this means installing the - library package with the ~-dev~ suffix as shown below: + The C library should be installed with their header (~*.h~) files. On Debian or derived system this means installing the library package with the ~-dev~ suffix as shown below: #+BEGIN_SRC sh # apt-get install libssl-dev @@ -140,8 +127,7 @@ or using a shell script [[https://guix.gnu.org/manual/en/guix.html#Binary-Installation][as explained in the guix manual]]. ** From source - 1. optional step needed only if you have not already the configure script, - you will need ~autotools~ for that. + 1. optional step needed only if you have not already the configure script, you will need ~autotools~ for that. #+BEGIN_SRC sh $ autoreconf -fiv @@ -153,23 +139,20 @@ $ ./configure #+END_SRC - 3. the script ~quick-quicklisp.sh~ will download and install the library manager and the - libraries on your home dir. + 3. the script ~quick-quicklisp.sh~ will download and install the library manager and the libraries on your home dir. #+BEGIN_SRC sh $ ./quick_quicklisp.sh #+END_SRC - This step is optional if you have already installed quicklisp, in - this case just load the [[Dependency][dependencies]] - using the client installed on your computer. + This step is optional if you have already installed quicklisp, in this case just load the [[Dependency][dependencies]] using the client installed on your computer. 4. optional step if you did not ran ~quick-quicklisp.sh~. - Clone in ~$HOME/quicklisp/local-projects/~ the latest version of - croatoan, a library to wrap the ncurses TUI library. + Clone in ~$HOME/quicklisp/local-projects/~ the latest version of croatoan, a library to wrap the ncurses TUI library. This step is temporary as this version will get into quicklisp eventually. + #+BEGIN_SRC sh $ cd $HOME/quicklisp/local-projects/ $ git clone https://github.com/McParen/croatoan.git @@ -199,9 +182,7 @@ $ tinmop #+END_SRC - 9. An error will be printed about a missing file - place a simple configuration file in one of the directory the software indicated. - See [[FAQ][the FAQ below]]. + 9. An error will be printed about a missing file place a simple configuration file in one of the directory the software indicated. See [[FAQ][the FAQ below]]. * Usage @@ -230,56 +211,37 @@ * License - This program is released under GNU General Public license version 3 - or later (see COPYING file). + This program is released under GNU General Public license version 3 or later (see COPYING file). - The program use data and code from other sources, please see - LICENSES.org for credits. + The program use data and code from other sources, please see LICENSES.org for credits. - Although any efforts has been put to make the list of credits - exhaustive, errors are always possible. Please send correction to - cage-dev at twistfold dot it. + Although any efforts has been put to make the list of credits exhaustive, errors are always possible. Please send correction to cage-dev at twistfold dot it. * Privacy - The author of this software collects no user data information with - this software. + The author of this software collects no user data information with this software. - But this software is a client to connect and interact to one or more - remote computer. So potentially it could share a lot of information - with other actors but just after the user allowed it to do so. + But this software is a client to connect and interact to one or more remote computer. So potentially it could share a lot of information with other actors but just after the user allowed it to do so. - It is the user responsibility to checks the privacy conditions of the - instance this software connect to. + It is the user responsibility to checks the privacy conditions of the instance this software connect to. - Moreover launching ~quick_quicklisp.sh~ will contact - [[https://www.quicklisp.org/]], check the - [[https://beta.quicklisp.org/quicklisp.lisp][quicklisp sources]] for - details. + Moreover launching ~quick_quicklisp.sh~ will contact [[https://www.quicklisp.org/]], check the [[https://beta.quicklisp.org/quicklisp.lisp][quicklisp sources]] for details. - By default, pressing "!" will contact the remote service located at: - "gemini://geminispace.info/search". + By default, pressing "!" will contact the remote service located at: "gemini://geminispace.info/search". * Contributing - Any help is appreciated. If you intend to contribute please point - your browser to the - [[https://codeberg.org/cage/tinmop/issues][issue tracker]] or file a - [[https://codeberg.org/cage/tinmop/pulls][pull request]]. + Any help is appreciated. If you intend to contribute please point your browser to the [[https://codeberg.org/cage/tinmop/issues][issue tracker]] or file a [[https://codeberg.org/cage/tinmop/pulls][pull request]]. - But, please take a minute to read the file [[./CONTRIBUTING.org]] + But, please, take a minute to read the file [[./CONTRIBUTING.org]] before * FAQ - - I just tried to start the program for the first time but it give - me a weird error, what's wrong? + - I just tried to start the program for the first time but it give me a weird error, what's wrong? Did you wrote a configuration file before starting? - Tinmop expects a configuration file in your config directory - (usually ~$HOME/.config/tinmop/~). This file must contains at - least the username and the name of the instance you want to - connect. + Tinmop expects a configuration file in your config directory (usually ~$HOME/.config/tinmop/~). This file must contains at least the username and the name of the instance you want to connect. Example : #+BEGIN_SRC text @@ -295,28 +257,19 @@ username = username #+END_SRC - If this file does not exists or is invalid tinmop could be used - just as a gemini client. + If this file does not exists or is invalid tinmop could be used just as a gemini client. Please check the man page (tinmop(1)) for more information. - - The ~quick_quicklisp.sh~ script failed and refuse to start again, - what can I do? + - The ~quick_quicklisp.sh~ script failed and refuse to start again, what can I do? - If tinmop is the first Common lisp program you have ever installed - installed, try to rename the directory ~$/HOME/quicklisp~ and, - then, restart the script. + If tinmop is the first Common lisp program you have ever installed installed, try to rename the directory ~$/HOME/quicklisp~ and, then, restart the script. If problem persists [[BUGS][contact me]]. - Is tinmop compatible with mastodon servers? - Unfortunately no, the way some API endpoint provide the toots is - not suitable for this client, for more information please go - [[https://github.com/tootsuite/mastodon/issues/13817][here]]. - - I hope this will change in the future but this depends entirely - from the people are developing the server. + Yes, in fact I am using tinmop with a Mastodon istance on a daily basis. - OK the program is running but how can i use it? @@ -328,58 +281,38 @@ [[https://codeberg.org/cage/tinmop/issues/]] - Please also, if possible, send the backtrace of the process. To - print a backtrace just write ~backtrace~ when the debugger has - been invoked. + Please also, if possible, send the backtrace of the process. To print a backtrace just write ~backtrace~ when the debugger has been invoked. *Important note* - The backtrace can contains sensitive and personal information, - please always *carefully checks* the backtrace contents before - making this information public! + The backtrace can contains sensitive and personal information, please always *carefully checks* the backtrace contents before making this information public! - Are the encrypted messages secure? - *No*. First only a symmetric encryption scheme is implemented (so - there is a problem of secure key exchanging). Moreover i am not a - crypto expert and probably i made something wrong. Note that i am - not claiming that the algorithm (AES256) or the implementation of - such encrypting algorithm is flawed but that, likely, is flawed - the code i wrote to use the crypto library in this software. + *No*. First only a symmetric encryption scheme is implemented (so there is a problem of secure key exchanging). Moreover i am not a crypto expert and probably i made something wrong. Note that i am not claiming that the algorithm (AES256) or the implementation of such encrypting algorithm is flawed but that, likely, is flawed the code i wrote to use the crypto library in this software. So, please do not consider the encrypted message secure at all. * NO WARRANTY - tinmop: an humble gemini and pleroma client - Copyright (C) 2020 cage + tinmop: a multiprotocol client + Copyright © cage - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. - If not, see [[http://www.gnu.org/licenses/][http://www.gnu.org/licenses/]]. + You should have received a copy of the GNU General Public License along with this program. If not, see [[http://www.gnu.org/licenses/][http://www.gnu.org/licenses/]]. * Acknowledgment - My deep thanks to the folks that provided us with wonderful SBCL and - Common lisp libraries. + My deep thanks to the folks that provided us with wonderful SBCL and Common lisp libraries. - In particular i want to thanks the authors of the libraries Croatoan - and Tooter for their help when I started to develop this program. + In particular i want to thanks the authors of the libraries Croatoan and Tooter for their help when I started to develop this program. - There are more people i borrowed code and data from, they are - mentioned in the file LINCENSES.org + There are more people i borrowed code and data from, they are mentioned in the file LINCENSES.org - This program is was born also with the help of CCCP: "Collettivo - Computer Club Palermo". + This program is was born also with the help of CCCP: "Collettivo Computer Club Palermo". Also thanks to "barbar" for testing of the installation scripts.