| Crates.io | dummare |
| lib.rs | dummare |
| version | 0.1.2 |
| created_at | 2026-01-01 23:57:24.60439+00 |
| updated_at | 2026-01-02 18:06:11.656459+00 |
| description | Sanitize your terminal ouput for use with hard copy terminals |
| homepage | |
| repository | https://github.com/VorpalBlade/dummare |
| max_upload_size | |
| id | 2017737 |
| size | 106,084 |
Strips escape codes and such nonsense from terminal output to make it suitable for hard copy terminals (i.e. paper based terminals).
This is extremely niche. If you don't know why you would want this, you probably don't.
This emulates a terminal using PTYs, and uses a terminal parsing library to clean the output of everything that isn't plain text or a few allowlisted control characters (CR, LF, tab, bell, backspace).
It will work for simple use cases like progress bars and coloured text, but it won't handle complex full screen programs at all. Don't expect to run vi or emacs.
This is a Rust project built with Cargo. If you just want to use it, download a prebuilt binary from the releases page instead. If you want to contribute, standard Rust project structure applies.
However, if you need to build this for an obscure platform or such:
cargo build --release to build the project.target/release/dummare and can be copied to somewhere in your PATH.Run dummare --help to see usage information. Typical usage would be dummare bash to run bash
with output cleaned for a dumb terminal.
Remember to properly set your TERM in the parent environment. This is used to
detect what control codes your terminal supports (if any), if your terminal is a
real hard copy terminal or not, and for the terminal width.
A lot of the code was adapted from examples in the pty-process (MIT) crate.
Some code was adapted from core library code in strip-ansi-escapes (Apache-2.0 or MIT).
See comments in individual source files for the details.
Thank you to the authors or those projects.
"dummare" is Swedish for "dumber", and since this adapts your terminal for use with dumb terminals, that seemed like a fitting name.