Actions Package version GitHub repo size GitHub issues GitHub pull requests
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
- π¦ 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.
1. Add this to your package's pubspec.yaml file:
dependencies: ... xterm: ^3.2.6
2. Create the terminal:
import 'package:xterm/xterm.dart'; ... terminal = Terminal();
Listen to user interaction with the terminal by simply adding a onOutput callback:
terminal = Terminal(); terminal.onOutput = (output) { print('output: $output'); }
3. Create the view, attach the terminal to the view:
import 'package:xterm/flutter.dart'; ... child: TerminalView(terminal),
4. Write something to the terminal:
terminal.write('Hello, world!');
Done!
-
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.
Please file feature requests and bugs at the issue tracker.
Contributions are always welcome!
This project is licensed under an MIT license.