#tui #terminal #dashboard #terminal-interface #widgets #fork #user-interface

tui-temp-fork

个人修改的 tui 分支。你可能想使用实际版本(见仓库链接)。

6 个版本

0.6.7 2019年11月5日
0.6.6 2019年11月5日
0.6.5 2019年10月10日
0.6.4 2019年9月25日

#527 in 命令行界面

MIT 许可证

340KB
11K SLoC

tui-rs

Build Status Crate Status Docs Status

Demo cast under Linux Termite with Inconsolata font 12pt

tui-rs 是一个用于构建丰富终端用户界面和仪表板的 Rust 库。它深受 blessed-contrib 这个 Javascript 库和 termui 这个 Go 库的启发。

该库本身支持四种不同的后端来绘制到终端。你可以选择以下之一

但是,某些功能可能仅适用于这四个中的一个。

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

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

文档

演示

在 gif 中展示的演示可以在所有可用的后端中运行(exmples/*_demo.rs 文件)。例如,要查看 termion 版本,可以运行

cargo run --example termion_demo --release -- --tick-rate 200

UI代码位于examples/demo/ui.rs,而应用程序状态位于examples/demo/app.rs

小部件

该库包含以下列表的小部件

单击每个项目查看示例的源代码。使用cargo运行示例(例如,运行演示:cargo run --example demo),并按q键退出。

您可以通过运行make run-examples来运行所有示例。

第三方小部件

替代方案

您可能想查看Cursive,以获取在Rust中构建文本用户界面的替代解决方案。

许可

MIT

依赖项

~2–11MB
~106K SLoC