#terminal #filter #unix #linux

filterm

Filter terminal data to and from a child process

11 unstable releases (3 breaking)

new 0.4.2 Sep 18, 2023
0.4.0 Dec 26, 2022
0.2.4 Sep 11, 2022
0.2.3 Jun 17, 2022
0.1.0 Oct 27, 2021

#312 in Unix APIs

Download history 12/week @ 2023-06-03 1/week @ 2023-06-10 28/week @ 2023-06-17 22/week @ 2023-06-24 27/week @ 2023-07-01 13/week @ 2023-07-08 9/week @ 2023-07-15 12/week @ 2023-07-22 9/week @ 2023-07-29 8/week @ 2023-08-05 9/week @ 2023-08-12 19/week @ 2023-08-19 16/week @ 2023-08-26 30/week @ 2023-09-02 11/week @ 2023-09-09 53/week @ 2023-09-16

111 downloads per month
Used in monoterm

GPL-3.0-or-later

41KB
947 lines

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.


lib.rs:

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.

Dependencies

~1.5MB
~33K SLoC