7 releases

0.0.7 Nov 30, 2024
0.0.6 Nov 26, 2024
0.0.3 Sep 23, 2024

#909 in GUI

Download history 112/week @ 2024-09-14 355/week @ 2024-09-21 44/week @ 2024-09-28 2/week @ 2024-10-05 236/week @ 2024-11-16 165/week @ 2024-11-23 144/week @ 2024-11-30

546 downloads per month

Apache-2.0

135KB
1K SLoC

OSUI

osui

Crates.io Version GitHub Org's stars GitHub License

OSUI is a customizable terminal user interface (TUI) library written in Rust. It provides a set of components and rsx to build interactive command-line interfaces with ease.

Features

  • Custom rsx syntax.
  • Define and manage UI components.
  • Handle keyboard input seamlessly.
  • Create complex layouts using nested elements.
  • Customizable element sizes and styles.

Getting Started

cargo add osui

Example Usage

Here’s a simple example of how to create a basic UI with OSUI:

use osui::prelude::*;

fn main() {
    run(&mut rsx! {
        text { "Hello, World!" }
    });
}

How it works

Credit to priz.js (discord) for the idea of using C for multithreading

Contributing

Contributions are welcome! If you have suggestions or improvements, feel free to submit a pull request or open an issue.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Dependencies

~5–15MB
~209K SLoC