# remembering [pt][pt1] | [fr][fr1] | [eo][eo1] [pt1]: https://euandreh.xyz/remembering/pt/ [fr1]: https://euandreh.xyz/remembering/fr/ [eo1]: https://euandreh.xyz/remembering/eo/ Add memory to [`dmenu`][dmenu], [`fzf`][fzf] and similar tools. It can wrap such tools to accumulate preferences over time, and re-arrange the input according to common picks. ## Usage Replace: ```shell $ ls | fzf ``` with: ```shell $ ls | remembering -p fzf-sample -c fzf ``` and see your previous choices from `fzf` start to appear at the beginning of the list. Similar to [`yeganesh`][yeganesh], but with no build-time or run-time dependencies, and not coupled with `dmenu`. [dmenu]: https://tools.suckless.org/dmenu/ [fzf]: https://github.com/junegunn/fzf [yeganesh]: http://dmwit.com/yeganesh/ ## Installation ```shell $ make $ make check # make install ``` You can pass `PREFIX` or `DESTDIR` to `make`: ```shell $ make $ make check $ make install PREFIX=$HOME/.local ``` There are no dependencies or requirements, only standard tools such as POSIX sed, POSIX make, etc. ## Documentation ### Manuals The documentation is available via installed manpages or online: - [`remembering.1`] ([pt][pt.1], [fr][fr.1], [eo][eo.1]); - [`remembering.5`] ([pt][pt.5], [fr][fr.5], [eo][eo.5]). [`remembering.1`]: https://euandreh.xyz/remembering/en/remembering.1.html [pt.1]: https://euandreh.xyz/remembering/pt/remembering.1.html [fr.1]: https://euandreh.xyz/remembering/fr/remembering.1.html [eo.1]: https://euandreh.xyz/remembering/eo/remembering.1.html [`remembering.5`]: https://euandreh.xyz/remembering/en/remembering.5.html [pt.5]: https://euandreh.xyz/remembering/pt/remembering.5.html [fr.5]: https://euandreh.xyz/remembering/fr/remembering.5.html [eo.5]: https://euandreh.xyz/remembering/eo/remembering.5.html ### Directory structure The directory structure of the repository is: - `aux/`: personal scripts and helpers I've vendored in to ensure the repository is self contained, feel free to ignore it; - `doc/`: manpages, with their translated versions; - `po/`: gettext `.po` files for the translated languages and hunspell dictionaries for spell checking; - `src/`: main source code for the project; - `tests/`: integration tests for the project. ## Contributing Extra tools used for development are: - [Valgrind] for memory testing; - [ShellCheck] for validating scripts; - [po4a], [mdpo] and [gettext] for i18n and l10n support; - [makefile2graph] and [graphviz] for generating [makefile.svg]; - [pandoc] for generating the documentation HTML and website. [Valgrind]: https://valgrind.org [ShellCheck]: https://www.shellcheck.net/ [po4a]: https://po4a.org/index.php.en [gettext]: https://www.gnu.org/software/gettext/ [pandoc]: https://pandoc.org/ [mdpo]: https://mdpo.readthedocs.io/en/master/ [makefile2graph]: https://github.com/lindenb/makefile2graph [graphviz]: https://graphviz.org/ [makefile.svg]: https://euandreh.xyz/git-permalink/makefile.svg For running the extra development-only checks, run: ```shell $ make dev-check ``` and for generating the documentation HTML and website, run: ```shell $ make public ``` Send contributions to the [mailing list] via [`git send-email`](https://git-send-email.io/). ## Links - [homepage](https://euandre.org/s/remembering/en/) - [source code](https://euandre.org/git/remembering/) - [bug tracking](https://euandre.org/s/remembering/TODOs.html) - [mailing list] - [CI logs](https://euandre.org/s/remembering/ci/) - [CHANGELOG](https://euandre.org/s/remembering/en/CHANGELOG.html) [mailing list]: https://lists.sr.ht/~euandreh/public-inbox?search=%5Bremembering%5D ## Releases - [v0.3.0](https://euandre.org/git/remembering/commit/?id=v0.3.0) [remembering-v0.3.0.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.3.0.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.3.0.tar.gz.asc)) - 2022-11-25 - [v0.2.1](https://euandre.org/git/remembering/commit/?id=v0.2.1) [remembering-v0.2.1.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.2.1.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.2.1.tar.gz.asc)) - 2021-02-23 - [v0.2.0](https://euandre.org/git/remembering/commit/?id=v0.2.0) [remembering-v0.2.0.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.2.0.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.2.0.tar.gz.asc)) - 2021-02-21 - [v0.1.2](https://euandre.org/git/remembering/commit/?id=v0.1.2) [remembering-v0.1.2.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.1.2.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.1.2.tar.gz.asc)) - 2021-01-26 - [v0.1.1](https://euandre.org/git/remembering/commit/?id=v0.1.1) [remembering-v0.1.1.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.1.1.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.1.1.tar.gz.asc)) - 2021-01-26 - [v0.1.0](https://euandre.org/git/remembering/commit/?id=v0.1.0) [remembering-v0.1.0.tar.gz](https://euandre.org/git/remembering/snapshot/remembering-v0.1.0.tar.gz) ([sig](https://euandre.org/git/remembering/snapshot/remembering-v0.1.0.tar.gz.asc)) - 2021-01-26 ## License The code is licensed under [GNU Affero General Public License v3.0 or later][AGPL-3.0-or-later] (AGPL-3.0-or-later). [AGPL-3.0-or-later]: https://euandre.org/git/remembering/tree/COPYING