Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TerminalStudio/xterm.dart
💻 xterm.dart is a fast and fully-featured terminal emulator for Flutter, with support for mobile and desktop platforms.
https://github.com/TerminalStudio/xterm.dart
dart emulator flutter terminal terminal-emulator vte
Last synced: 1 day ago
JSON representation
💻 xterm.dart is a fast and fully-featured terminal emulator for Flutter, with support for mobile and desktop platforms.
- Host: GitHub
- URL: https://github.com/TerminalStudio/xterm.dart
- Owner: TerminalStudio
- License: mit
- Created: 2020-08-01T07:53:37.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-26T14:48:39.000Z (4 months ago)
- Last Synced: 2024-08-01T12:23:13.343Z (3 months ago)
- Topics: dart, emulator, flutter, terminal, terminal-emulator, vte
- Language: Dart
- Homepage: https://pub.dev/packages/xterm
- Size: 6.37 MB
- Stars: 474
- Watchers: 11
- Forks: 93
- Open Issues: 75
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
## xterm.dart
**xterm.dart** is a fast and fully-featured terminal emulator for Flutter applications, with support for mobile and desktop platforms.
> This package requires Flutter version >=3.0.0
## Screenshots
## Features
- 📦 **Works out of the box** No special configuration required.
- 🚀 **Fast** Renders at 60fps.
- 😀 **Wide character support** Supports CJK and emojis.
- ✂️ **Customizable**
- ✔ **Frontend independent**: The terminal core can work without flutter frontend.**What's new in 3.0.0:**
- 📱 Enhanced support for **mobile** platforms.
- ⌨️ Integrates with Flutter's **shortcut** system.
- 🎨 Allows changing **theme** at runtime.
- 💪 Better **performance**. No tree rebuilds anymore.
- 🈂️ Works with **IMEs**.## Getting Started
**1.** Add this to your package's pubspec.yaml file:
```yml
dependencies:
...
xterm: ^3.2.6
```**2.** Create the terminal:
```dart
import 'package:xterm/xterm.dart';
...
terminal = Terminal();
```Listen to user interaction with the terminal by simply adding a `onOutput` callback:
```dart
terminal = Terminal();terminal.onOutput = (output) {
print('output: $output');
}
```**3.** Create the view, attach the terminal to the view:
```dart
import 'package:xterm/flutter.dart';
...
child: TerminalView(terminal),
```**4.** Write something to the terminal:
```dart
terminal.write('Hello, world!');
```**Done!**
## More examples
- Write a simple terminal in ~100 lines of code:
https://github.com/TerminalStudio/xterm.dart/blob/master/example/lib/main.dart- Write a SSH client in ~100 lines of code with [dartssh2]:
https://github.com/TerminalStudio/xterm.dart/blob/master/example/lib/ssh.dart
For a complete project built with xterm.dart, check out [TerminalStudio].
## Features and bugs
Please file feature requests and bugs at the [issue tracker](https://github.com/TerminalStudio/xterm.dart/issues).
Contributions are always welcome!
## License
This project is licensed under an MIT license.
[dartssh2]: https://pub.dev/packages/dartssh2
[TerminalStudio]: https://github.com/TerminalStudio/studio