mirror of https://codeberg.org/cage/tinmop/
299 lines
7.3 KiB
Plaintext
299 lines
7.3 KiB
Plaintext
━━━━━━━━
|
||
TINMOP
|
||
━━━━━━━━
|
||
|
||
|
||
Table of Contents
|
||
─────────────────
|
||
|
||
1. Introduction
|
||
2. Peculiar Features
|
||
3. Dependency
|
||
.. 1. Programs
|
||
.. 2. Lisp Libraries
|
||
.. 3. Foreign (C language) library
|
||
4. Install
|
||
5. Usage
|
||
6. BUGS
|
||
7. Translations
|
||
8. License
|
||
9. Privacy
|
||
10. Contributing
|
||
11. FAQ
|
||
12. NO WARRANTY
|
||
13. Acknowledgment
|
||
|
||
|
||
|
||
|
||
|
||
1 Introduction
|
||
══════════════
|
||
|
||
Tinmop is an opinionated client for Mastodon (or Pleroma using the
|
||
mastodon API). It offer a distraction free terminal interface.
|
||
|
||
The name is a recursive acronym: "Tinmop Is Not Mutt or Pine". The
|
||
older of us can remember that, in turn, Pine is an acronym as well:
|
||
"Pine Is Not Elm" and, finally, Elm means (according to Wikipedia):
|
||
"Electronic Mail".
|
||
|
||
|
||
2 Peculiar Features
|
||
═══════════════════
|
||
|
||
• tree structure of messages;
|
||
• subscriptions of hashtag;
|
||
• encrypted direct message (but see 11);
|
||
• no mentions notification, no knowlege of when or who favourited your
|
||
status;
|
||
• No blocking or muting, the client can be configured to ignore a list
|
||
of accounts.
|
||
|
||
|
||
3 Dependency
|
||
════════════
|
||
|
||
3.1 Programs
|
||
────────────
|
||
|
||
⁃ for running the program:
|
||
• SBCL compiler;
|
||
• xdg-open;
|
||
• your favourite editor (default: nano).
|
||
|
||
⁃ to install the package, including running the script to install lisp
|
||
libraries (`quick_quicklisp.sh'):
|
||
• GNU AWK (Gawk);
|
||
• BASH shell.
|
||
|
||
|
||
3.2 Lisp Libraries
|
||
──────────────────
|
||
|
||
• alexandria;
|
||
• cl-ppcre;
|
||
• tooter;
|
||
• croatoan;
|
||
• osicat;
|
||
• cl-spark;
|
||
• access;
|
||
• sqlite;
|
||
• sxql;
|
||
• sxql-composer;
|
||
• marshal;
|
||
• bordeaux-threads;
|
||
• log4cl;
|
||
• local-time;
|
||
• cl-colors2;
|
||
• cl-i18n;
|
||
• clunit2;
|
||
• esrap;
|
||
• ieee-floats;
|
||
• parse-number;
|
||
• cl-html5-parser;
|
||
• unix-opts;
|
||
• crypto-shortcuts;
|
||
• drakma.
|
||
|
||
|
||
3.3 Foreign (C language) library
|
||
────────────────────────────────
|
||
|
||
• libssl
|
||
|
||
|
||
4 Install
|
||
═════════
|
||
|
||
1. optional step needed only if you have not already the configure
|
||
script, you will need `autotools' for that.
|
||
|
||
┌────
|
||
│ $ autoreconf -fiv
|
||
└────
|
||
|
||
2. run `configure' and resolve the missing dependencies (if any)
|
||
|
||
┌────
|
||
│ $ ./configure
|
||
└────
|
||
|
||
3. the script `quick-quicklisp.sh' will download and install the
|
||
library manager and the library on your home dir.
|
||
|
||
┌────
|
||
│ $ ./quick_quicklisp.sh
|
||
└────
|
||
|
||
This step is optional if you have already installed quicklisp, in
|
||
this case just load the [dependencies] using the client installed
|
||
on your computer.
|
||
|
||
4. clone in `$HOME/quicklisp/local-projects/' the latest version of
|
||
tooter, a library to access mastodon API.
|
||
|
||
This step is temporary as this version will get into quicklisp
|
||
eventually.
|
||
┌────
|
||
│ $ cd $HOME/quicklisp/local-projects/
|
||
│ $ git clone https://github.com/Shinmera/tooter.git
|
||
└────
|
||
|
||
5. 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.
|
||
┌────
|
||
│ $ cd $HOME/quicklisp/local-projects/
|
||
│ $ git clone https://github.com/McParen/croatoan.git
|
||
└────
|
||
|
||
6. build the executable:
|
||
|
||
┌────
|
||
│ $ make
|
||
└────
|
||
|
||
7. install on your system:
|
||
|
||
┌────
|
||
│ $ make install
|
||
└────
|
||
|
||
8. run the software!
|
||
|
||
┌────
|
||
│ $ tinmop
|
||
└────
|
||
|
||
|
||
[dependencies] See section 3
|
||
|
||
|
||
5 Usage
|
||
═══════
|
||
|
||
See the command line options:
|
||
|
||
┌────
|
||
│ $ tinmop -h
|
||
└────
|
||
|
||
To get instruction about configuration:
|
||
|
||
┌────
|
||
│ $ man tinmop
|
||
└────
|
||
|
||
|
||
6 BUGS
|
||
══════
|
||
|
||
Please file bug reports on the [notabug repository].
|
||
|
||
|
||
[notabug repository] <https://notabug.org/cage/tinmop/>
|
||
|
||
|
||
7 Translations
|
||
══════════════
|
||
|
||
Only Italian translation is regularly updated.
|
||
|
||
|
||
8 License
|
||
═════════
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
|
||
9 Privacy
|
||
═════════
|
||
|
||
This software does collect nothing from its users in places different
|
||
from their local computer.
|
||
|
||
But launching `quick_quicklisp.sh' will contact
|
||
<https://www.quicklisp.org/>, check the [quicklisp sources] for
|
||
details.
|
||
|
||
|
||
[quicklisp sources] <https://beta.quicklisp.org/quicklisp.lisp>
|
||
|
||
|
||
10 Contributing
|
||
═══════════════
|
||
|
||
Any help is appreciated. If you intend to contribute please point your
|
||
browser to the [issue tracker] or file a [pull request].
|
||
|
||
But, please take a minute to read the file <file:./CONTRIBUTING.org>
|
||
|
||
|
||
[issue tracker] <https://notabug.org/cage/tinmop/issues>
|
||
|
||
[pull request] <https://notabug.org/cage/tinmop/pulls>
|
||
|
||
|
||
11 FAQ
|
||
══════
|
||
|
||
• 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.
|
||
|
||
So, please do not consider the encrypted message secure at all.
|
||
|
||
|
||
12 NO WARRANTY
|
||
══════════════
|
||
|
||
tinmop: an humble mastodon client Copyright (C) 2020 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 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/] <http://www.gnu.org/licenses/>
|
||
|
||
|
||
13 Acknowledgment
|
||
═════════════════
|
||
|
||
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.
|
||
|
||
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".
|