Framework

Crossterm – terminal manipulation library

Crossterm is a pure-rust, terminal manipulation library that makes it possible to write cross-platform text-based interfaces.

This is free and open source software.

Key Features

  • Cross-platform.
  • Multi-threaded (send, sync).
  • Detailed documentation.
  • Few dependencies.
  • Full control over writing and flushing output buffer.
  • Is tty.
  • Cursor:
    • Move the cursor N times (up, down, left, right).
    • Move to previous / next line.
    • Move to column.
    • Set/get the cursor position.
    • Store the cursor position and restore to it later.
    • Hide/show the cursor.
    • Enable/disable cursor blinking (not all terminals do support this feature).
  • Styled output:
    • Foreground color (16 base colors).
    • Background color (16 base colors).
    • 256 (ANSI) color support (Windows 10 and UNIX only).
    • RGB color support (Windows 10 and UNIX only).
    • Text attributes like bold, italic, underscore, crossed, etc.
  • Terminal:
    • Clear (all lines, current line, from cursor down and up, until new line).
    • Scroll up, down.
    • Set/get the terminal size.
    • Exit current process.
    • Alternate screen.
    • Raw screen.
    • Set terminal title.
    • Enable/disable line wrapping.
  • Event:
    • Input Events.
    • Mouse Events (press, release, position, button, drag).
    • Terminal Resize Events.
    • Advanced modifier (SHIFT | ALT | CTRL) support for both mouse and key events and
      futures Stream (feature ‘event-stream’).
    • Poll/read API.

Website: github.com/crossterm-rs/crossterm
Support:
Developer: Timon
License: MIT License

Crossterm is written in Rust. Learn Rust with our recommended free books and free tutorials.


Related Software

Rust TUI Frameworks
RatatuiSimple and flexible way to create text-based user interfaces in the terminal
CrosstermTerminal manipulation library
iocraftCraft CLIs, TUIs, and text-based IO
tui-realmComponent-driven Rust toolkit built around an Elm-style architecture
ZazTerminal manipulation library
tui-inputLibrary supporting multiple backends
AppCUI-rsFast cross-platform Rust library for rich terminal applications
R3BL TUIAsync Rust workspace for responsive, interactive terminal applications
RevueVue-inspired toolkit for building reactive terminal interfaces
TearsDeclarative Rust library for composing polished terminal interfaces
ReratuiModern reactive Rust library for dynamic terminal applications

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted