https://github.com/taylordotfish/filterm
Filter terminal data to and from a child process
https://github.com/taylordotfish/filterm
child filter gnu-linux linux process rust terminal unix
Last synced: 4 months ago
JSON representation
Filter terminal data to and from a child process
- Host: GitHub
- URL: https://github.com/taylordotfish/filterm
- Owner: taylordotfish
- License: gpl-3.0
- Created: 2021-10-27T06:09:51.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-07-28T03:37:49.000Z (11 months ago)
- Last Synced: 2026-02-13T08:51:39.855Z (4 months ago)
- Topics: child, filter, gnu-linux, linux, process, rust, terminal, unix
- Language: Rust
- Homepage:
- Size: 146 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Filterm
=======
Filterm lets you run a child process while piping all terminal data to and
from the child through a custom filter. This lets you modify things like
ANSI escape sequences that get sent from the child.
The main way of using Filterm is to define a custom filter by implementing
the [`Filter`] trait, and then call [`run`].
For an example of Filterm in use, see [Monoterm].
Platform support
----------------
Filterm has been tested on GNU/Linux. It may work on other Unix-like
operating systems, as it avoids using Linux- and GNU-specific functionality
and sticks to POSIX whenever possible.
[Monoterm]: https://github.com/taylordotfish/monoterm
[`Filter`]: https://docs.rs/filterm/0.5/filterm/trait.Filter.html
[`run`]: https://docs.rs/filterm/0.5/filterm/fn.run.html
Documentation
-------------
[Documentation is available on docs.rs.](https://docs.rs/filterm/0.5)
License
-------
Filterm is licensed under version 3 of the GNU General Public License,
or (at your option) any later version. See [LICENSE](LICENSE).
Contributing
------------
By contributing to Filterm, you agree that your contribution may be used
according to the terms of Filterm’s license.