Skip to content

๐Ÿ’ป xterm.dart is a fast and fully-featured terminal emulator for Flutter, with support for mobile and desktop platforms.

License

Notifications You must be signed in to change notification settings

TerminalStudio/xterm.dart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

xterm.dart

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

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:

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!

More examples

For a complete project built with xterm.dart, check out TerminalStudio.

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.