#dashboard #terminal #widgets #user-interface #default #rich #back-end

不维护 tui

构建丰富的终端用户界面或仪表板的库

37 个不稳定版本

0.19.0 2022年8月14日
0.18.0 2022年4月24日
0.17.0 2022年1月22日
0.16.0 2021年8月1日
0.1.1 2016年11月28日

39#rich

Download history 26269/week @ 2024-03-14 25298/week @ 2024-03-21 24881/week @ 2024-03-28 21930/week @ 2024-04-04 23339/week @ 2024-04-11 26208/week @ 2024-04-18 23676/week @ 2024-04-25 24093/week @ 2024-05-02 26090/week @ 2024-05-09 24315/week @ 2024-05-16 23294/week @ 2024-05-23 23290/week @ 2024-05-30 22612/week @ 2024-06-06 26273/week @ 2024-06-13 27078/week @ 2024-06-20 19867/week @ 2024-06-27

99,768 每月下载量
此软件包已失去人气

MIT 许可证

405KB
12K SLoC

tui-rs

Build Status Crate Status Docs Status

Demo cast under Linux Termite with Inconsolata font 12pt

tui-rs 是一个用 Rust 编写的库,用于构建丰富的终端用户界面和仪表板。它受到了 Javascriptblessed-contribGotermui 的极大启发。

该库支持多个后端

该库基于即时渲染和中间缓冲区原理。这意味着在每一帧新画面中,你应该构建所有应包含在 UI 中的小部件。虽然这为丰富的交互式 UI 提供了很大的灵活性,但对于高度动态的内容可能会引入一些开销。因此,实现尝试最小化生成以绘制更新 UI 的 ansi 转义序列的数量。实际上,由于 Rust 的速度,这种开销更多地来自终端模拟器而不是库本身。

此外,该库不提供任何输入处理或任何事件系统,你可以依靠前面提到的库来实现这些功能。

我正在积极寻找帮助维护此软件包的人。请参阅 此问题

Rust 版本要求

从版本 0.17.0 开始,tui 需要 rustc 版本 1.56.1 或更高

文档

演示

gif 中显示的演示可以在所有可用的后端中运行。

# crossterm
cargo run --example demo --release -- --tick-rate 200
# termion
cargo run --example demo --no-default-features --features=termion --release -- --tick-rate 200

其中 tick-rate 是 UI 刷新率(以毫秒为单位)。

UI 代码在 examples/demo/ui.rs 中,而应用程序状态在 examples/demo/app.rs 中。

如果您的终端无法正确显示用户界面中的符号,您可能需要在没有这些符号的情况下运行演示

cargo run --example demo --release -- --tick-rate 200 --enhanced-graphics false

小部件

该库提供了以下列表中的小部件

点击每个项目以查看示例的来源。使用 cargo 运行示例(例如,运行 gauge 示例 cargo run --example gauge),并按 q 键退出。

您可以通过运行 cargo make run-examples 来运行所有示例(需要 cargo-make,可通过 cargo install cargo-make 安装)。

第三方小部件

使用 tui 的应用

替代方案

您可能想查看 Cursive,作为在 Rust 中构建文本用户界面的替代方案。

许可

MIT

依赖

~2–11MB
~98K SLoC