All Projects → Termare → termare_view

Termare / termare_view

Licence: MIT license
支持全平台的终端模拟器,使用 Flutter 开发,不依赖平台代码。

Programming Languages

dart
5743 projects
C++
36643 projects - #6 most used programming language
CMake
9771 projects
HTML
75241 projects
c
50402 projects - #5 most used programming language
swift
15916 projects

Projects that are alternatives of or similar to termare view

wcwidth
A Unicode 13-conformant implementation of wcwidth() in C.
Stars: ✭ 28 (-17.65%)
Mutual labels:  termux
Reborn
ReborN SMS BOMBER | SpeedX & 4NAT
Stars: ✭ 126 (+270.59%)
Mutual labels:  termux
nero-phishing-server
An full HTTP server for Phishing. Downloads recursively the entire webpage.
Stars: ✭ 108 (+217.65%)
Mutual labels:  termux
games-wabot
Games-wabot is RPG Bot Whatsapp. Now support Multi-device!!, check branch multi-device
Stars: ✭ 165 (+385.29%)
Mutual labels:  termux
termux-shell
Beautify your Termux App with this Shell 😍
Stars: ✭ 149 (+338.24%)
Mutual labels:  termux
webterminal
The first and the most powerful web-based terminal for InterSystems IRIS®, InterSystems Caché®, Ensemble®, HealthShare®, TrakCare® and other products built on top of InterSystems Data Platforms.
Stars: ✭ 71 (+108.82%)
Mutual labels:  terminal-emulators
Brutegram
Instagram multi-bruteforce Platfrom
Stars: ✭ 183 (+438.24%)
Mutual labels:  termux
Mr.Holmes
🔍 A Complete Osint Tool
Stars: ✭ 307 (+802.94%)
Mutual labels:  termux
Termux-GUI
Graphical User Interface for Termux (XFCE and MATE)
Stars: ✭ 46 (+35.29%)
Mutual labels:  termux
E4GL30S1NT
E4GL30S1NT - Simple Information Gathering Tool
Stars: ✭ 139 (+308.82%)
Mutual labels:  termux
TelegramScraper
Using this tool you can easily add so many members from any group to your group. Less than 2 minutes. Super easy. Time saver. But this tool is only for educational purpose. You could be banned from Telegram. So be careful. Recommanded to use this tool only on Termux.
Stars: ✭ 234 (+588.24%)
Mutual labels:  termux
termux-arch
You can use setupTermuxArch.sh 📲 to install Arch Linux in Termux on Android and Chrome. This setup script will attempt to set Arch Linux up in your Termux environment.
Stars: ✭ 25 (-26.47%)
Mutual labels:  termux
termux-snippets
An integrated tool and a collection of snippets which helps in the various aspects of the terminal.
Stars: ✭ 28 (-17.65%)
Mutual labels:  termux
make ext4fs
termux make_ext4fs sefcontext_decompile img2simg simg2img
Stars: ✭ 29 (-14.71%)
Mutual labels:  termux
hackX
hackX for hackers of the professional and beginner
Stars: ✭ 21 (-38.24%)
Mutual labels:  termux
Anonymous
Message from Anonymous :)
Stars: ✭ 24 (-29.41%)
Mutual labels:  termux
vim-terminal
A Vim plugin that opens an interactive terminal in a buffer for running programs
Stars: ✭ 45 (+32.35%)
Mutual labels:  terminal-emulators
viconf
My (n)Vim config files
Stars: ✭ 18 (-47.06%)
Mutual labels:  termux
JAR
Just Another Repo
Stars: ✭ 53 (+55.88%)
Mutual labels:  termux
TermuxPRoot
SetupTermuxPRoot.sh 📲 shall install Linux distributions in Termux on Android and Chrome. This setup script will attempt to set Linux distributions up in your Termux environment.
Stars: ✭ 59 (+73.53%)
Mutual labels:  termux

termare_view

Language: 中文简体 | English

Last Commits Code size License Platform download time open issues fork code line build Codacy Badge

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

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

开始使用

引入项目

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

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

创建终端控制器

TermareController controller = TermareController();

使用组件

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

TermareView(
  controller: controller,
),

让终端显示一些东西

controller.write('hello termare_view');

代码在 example 中。

更详细的例子

相关文章

已支持序列文档

终端序列支持文档

Q&A

为什么没有使用 xterm.dart

最初开发这个组件的原因是因为个人的一个项目需要在 Flutter 中集成一个终端模拟器,至今这也很好的实现了我想要的需求。 本仓库与 xterm.dart 的开始时间基本上是差不多的,我尝试将本仓库的内容合并到 xterm.dart,但最后由于代码风格 太不统一,还是决定像 termux-view 那样,单独维护一个更适应安卓端场景的终端。

但 xterm.dart 目前的很多功能是比 termare 多的,架构上的设计也更优一些。

为何要用Flutter重写而不是...?

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

是否存在未适配的序列?

按照 xterm.js 的 序列文档 适配了其中 90% 的序列,但个别序列实现比较复杂,例如 CSI ps;ps r,目前能正常解析,但在序列的行为表现上还有问题,还有个别序列没获取到具体的行为,例如ESC \。 一些命令如 vim,htop,nano,在运行的时候使用到了较多的序列,主要表现在 vim 编写文本时,内容超过终端高度时涉及到的序列。而 htop 输出的终端序列实在太多,不好定位是哪个序列的问题导致表现上的差异。

如何帮助开发?

测试序列可以通过输入指定的序列对比 xterm.js 或者操作系统中本地终端的显示。 发现可优化的地方你可以提交 issue 或 pr。

pr 请尽量保证与当前项目代码风格一致喔。

以下来自 termux 仓库的终端资源

Terminal resources

Terminal emulators

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].