fltk-term

Crates.iofltk-term
lib.rsfltk-term
version0.2.5
created_at2023-10-20 22:42:04.476059+00
updated_at2025-10-02 20:00:24.441203+00
descriptionA minimal terminal widget for fltk
homepage
repositoryhttps://github.com/fltk-rs/fltk-term
max_upload_size
id1009496
size103,329
Mohammed Alyousef (MoAlyousef)

documentation

https://docs.rs/fltk-term

README

fltk-term

The fltk-term terminal is quite minimal, supports a limited subset of ansi escape sequences using vte, i.e. don't expect to run vim in it!, and is powered by portable-pty.

Known issues

  • On Windows, the terminal defaults to cmd. More ansi escape sequences need to be handled to support powershell.

Usage

use fltk_term::PPTerm;
use fltk::{prelude::*, *};

fn main() {
    let a = app::App::default();
    let mut w = window::Window::default().with_size(600, 400);
    // Defer PTY start until after window sizing to avoid truncated first prompt
    let mut term = PPTerm::new_deferred(0, 0, 0, 0, None).size_of_parent();
    w.end();
    w.show();

    // Start the PTY now that the widget has a real size
    term.start();

    app::add_timeout3(0.2, move |_| {
        term.write_all(b"echo -e \"\x1b[1;31mHELLO\"\n").unwrap();
    });

    a.run().unwrap();
}
Commit count: 6

cargo fmt