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.20.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: ^0.0.1

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!

License

This project is licensed under an MIT license.

Libraries

ansi
ansi_color
buffer
buffer_line
cell
cell_attr
cell_color
char_size
charset
color_default
color_scheme
csi
debug_handler
flutter
helpers
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
position
qt_keyname
sbc
scroll_range
selection
sgr
shortcut
tabs
terminal
terminal_view
text_layout_cache
unicode_v11
xterm