#tui #terminal #ui #tty #console

rustty

终端UI库

13个版本

使用旧Rust 2015

0.1.12 2016年6月22日
0.1.11 2016年5月30日
0.1.9 2015年10月10日
0.1.8 2015年8月1日
0.1.2 2015年5月26日

#883 in 命令行界面

Download history 6/week @ 2023-12-04 12/week @ 2023-12-11 18/week @ 2023-12-18 8/week @ 2023-12-25 2/week @ 2024-01-01 18/week @ 2024-01-08 13/week @ 2024-01-15 8/week @ 2024-01-22 6/week @ 2024-02-05 21/week @ 2024-02-12 24/week @ 2024-02-19 45/week @ 2024-02-26 31/week @ 2024-03-04 36/week @ 2024-03-11 39/week @ 2024-03-18

每月下载量152
用于 rustty-oxide

MIT 许可协议

62KB
1K SLoC

rustty: 终端UI库

Build Status Crates.io Crates.io

简介

Rustty 是一个终端UI库,它提供了一个简单、简洁的底层终端设备抽象。

Rustty 基于单元格和事件的原理。终端显示是一组单元格,每个单元格包含一个字符及其前景和背景样式。事件是终端与其状态变化通信的方式;事件从终端接收,处理,并推送到输入流中,以便读取和响应。

安装

安装简单,要使用 rustty,首先将以下内容添加到您的 Cargo.toml

[dependencies]
rustty = "*"

然后,将以下内容添加到您的crate根目录

extern crate rustty;

概念

本节的目的在于介绍并解释rustty的主要概念及其设计背后的决策。

终端

终端表示可以想象成这样

0-------------------------------cols (x)
|
|
|
|
|
|
|
|
rows (y)

沿x轴是列,沿y轴是行。左上角是原点,从索引(0, 0)开始,延伸到(cols, rows)。每个点(x, y)代表一个单独的单元格,这是下一个主题。

单元格

单元格是字符显示器上的一个单独点,代表一个字符及其前景和背景样式。

事件

事件是表示终端状态变化的。终端有一个相关的事件流,它类似于UNIX管道或FIFO队列。当事件发生时,它们会被推送到流的末尾;当读取事件时,它们会被从流的开始处取出。

使用指南

示例和用法建议可以在 API 文档 中找到。

联系方式

如果您遇到任何关于库的问题或有建议,请通过 问题跟踪器 进行报告。

如果您有任何进一步的问题,请随时 给我发邮件,我会尽快回复。

依赖

~2–11MB
~117K SLoC