Skip to content

SoFluffyOS/xterm2

Repository files navigation

xterm2

Package version

xterm2 is a maintained fork of the original xterm package from TerminalStudio/xterm.dart. The original package is no longer maintained, so this fork continues the package under a new pub package name.

xterm2 is a fast and fully-featured terminal emulator for Flutter applications, with support for mobile and desktop platforms.

This package requires Flutter version >=3.19.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:
  ...
  xterm2: ^1.0.0

2. Create the terminal:

import 'package:xterm2/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:xterm2/flutter.dart';
...
child: TerminalView(terminal),

4. Write something to the terminal:

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

Done!

More examples

For the original package history, see TerminalStudio/xterm.dart.

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.

About

Maintained Flutter terminal emulator package with fast rendering and broad VT/xterm compatibility.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors