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
99,768 每月下载量
此软件包已失去人气
405KB
12K SLoC
tui-rs
tui-rs
是一个用 Rust 编写的库,用于构建丰富的终端用户界面和仪表板。它受到了 Javascript
库 blessed-contrib 和 Go
库 termui 的极大启发。
该库支持多个后端
该库基于即时渲染和中间缓冲区原理。这意味着在每一帧新画面中,你应该构建所有应包含在 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 的应用
- spotify-tui
- bandwhich
- kmon
- gpg-tui
- ytop
- zenith
- bottom
- oha
- gitui
- rust-sadari-cli
- desed
- diskonaut
- tickrs
- rusty-krab-manager
- termchat
- taskwarrior-tui
- gping
- Vector
- KDash
- xplr
- minesweep
- Battleship.rs
- termscp
- joshuto
- adsb_deku/radar
- hoard
- tokio-console:异步 Rust 程序的诊断和调试工具。
- hwatch:替代 watch 命令,可记录命令执行结果并显示其历史和差异。
- ytui-music:在终端内收听 YouTube 中的音乐。
- mqttui:从终端快速订阅或发布 MQTT 主题。
- meteo-tui:通过命令行获取法国天气预报。
- picterm:在终端中预览图片。
- gobang:一个跨平台的 TUI 数据库管理工具。
替代方案
您可能想查看 Cursive,作为在 Rust 中构建文本用户界面的替代方案。
许可
依赖
~2–11MB
~98K SLoC