No Description

xuty 47fb8064be Format terminal_view_test.dart 3 years ago
.github 4a79c87446 Use macos-latest in ci to enable golden tests 3 years ago
bin f79fdcaee9 Remove test code 3 years ago
example 44c91984f4 Virtual keyboard example #141 3 years ago
lib 4cc85ca7fe Translate text input to keyboard event 3 years ago
media ca3f642864 ➕ add ssh example 5 years ago
script b0ad0c00b8 Merge 'v3' to 'master' 3 years ago
test 47fb8064be Format terminal_view_test.dart 3 years ago
.gitignore b207636595 Add coverage upload step in ci 3 years ago
.metadata 263e378307 🎉 init 5 years ago
CHANGELOG.md 5886138da1 Bump version 3 years ago
LICENSE 263e378307 🎉 init 5 years ago
README.md 7b387414e2 Update README.md 3 years ago
analysis_options.yaml b0ad0c00b8 Merge 'v3' to 'master' 3 years ago
pubspec.lock 914586fee6 Add tests for EscapeParser 3 years ago
pubspec.yaml d20e2d74bb Merge pull request #129 from tauu/limited-window-manipulation 3 years ago

README.md

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.