xterm.dart 1.0.0+ is available! 🎉

xterm.dart

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 >=1.22.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.

Getting Started

1. Add this to your package's pubspec.yaml file:

dependencies:
  ...
  xterm: ^1.1.0

2. Create the terminal:

import 'package:xterm/xterm.dart';
...
terminal = Terminal();

To listen for input, add an onInput handler:

terminal = Terminal(onInput: onInput);

void onInput(String input) {
 print('input: $input');
}

3. Create the view, then attach the terminal to the view:

import 'package:xterm/flutter.dart';
...
child: TerminalView(terminal: terminal),

4. Write something to the terminal:

terminal.write('Hello, world!');

Done!

Example

Features and bugs

Please file feature requests and bugs at the issue tracker.

Contributions are always welcome!

License

This project is licensed under an MIT license.

Libraries

ansi
ansi_color
buffer
buffer_line
cache
cell
cell_attr
char_size
charset
csi
debug_handler
flutter
hash_values
helpers
input_behavior
input_behavior_default
input_behavior_desktop
input_behavior_mobile
input_behaviors
input_listener
input_map
keys
keytab
keytab_default
keytab_escape
keytab_parse
keytab_record
keytab_token
modes
mouse_kind
mouse_listener
mouse_mode
observable
osc
oscillator
platform
position
qt_keyname
sbc
scroll_range
selection
sgr
shortcut
tabs
terminal
terminal_color
terminal_color_ref
terminal_style
terminal_theme
terminal_themes
terminal_view
unicode_v11
xterm