termare_view

Language: 中文简体 | English

支持全平台的终端模拟器,使用 Flutter 开发,是一个通过 canvas 渲染的上层组件,不依赖任何平台代码。

终端序列支持文档

这个 view 就类似于 xterm.js 一样,仅仅是一个上层 UI 显示组件,你可以使用来自操作系统底层的终端流,亦或者是连接 ssh 服务器的终端流,只需要给这个组件输入,就能自动的解析终端序列渲染终端。

对于这个组件有问题的

开始使用

引入项目

这是一个纯 flutter package,所以只需要在 yaml 配置文件的 dependencies 下引入:

termare_view:
  git: https://github.com/termare/termare_view

创建终端控制器

TermareController controller = TermareController(
  showBackgroundLine: true,
);

使用组件

TermareView 是一个 Widget,通常情况下,只需要给一个 TermareController 作为终端组件的控制器即可。

TermareView(
  controller: controller,
),

让终端显示一些东西

controller.write('hello termare_view');

代码在 example 中。

更详细的例子

为何要用Flutter重写而不是安卓原生?

  • 一次编写,到处运行。
  • Flutter 当前作为非常优秀的跨平台框架,我想也能用它来编写一个全平台终端模拟器,从安卓前几代终端模拟器来看, 这可能是一个比较漫长的过程,而我的时间并不太多,但我会尽量尝试重写。
  • 我喜欢尝试。

更多原因请移步个人文章

是否存在未适配的序列?

我已经参考 xterm.js 中支持的序列,大部分序列均已适配,但仍有极个别较难的序列存在问题。

帮助开发?

测试序列可以通过输入指定的序列对比 xterm.js 或者操作系统中本地终端的显示。

Terminal resources

Terminal emulators

Libraries

termare_view