Terminal constructor

Terminal({
  1. TerminalBackend? backend,
  2. BellHandler onBell = _defaultBellHandler,
  3. TitleChangeHandler onTitleChange = _defaultTitleHandler,
  4. IconChangeHandler onIconChange = _defaultIconHandler,
  5. PlatformBehavior platform = PlatformBehaviors.unix,
  6. TerminalTheme theme = TerminalThemes.defaultTheme,
  7. required int maxLines,
})

Implementation

Terminal({
  this.backend,
  this.onBell = _defaultBellHandler,
  this.onTitleChange = _defaultTitleHandler,
  this.onIconChange = _defaultIconHandler,
  this.platform = PlatformBehaviors.unix,
  this.theme = TerminalThemes.defaultTheme,
  required int maxLines,
}) : _maxLines = maxLines {
  _search = TerminalSearch(this);
  _userSearchTask = _search.createSearchTask("UserSearch");
  backend?.init();
  backend?.exitCode.then((value) {
    _isTerminated = true;
    _backendExited.complete(value);
  });
  backend?.out.listen(write);
  _mainBuffer = Buffer(terminal: this, isAltBuffer: false);
  _altBuffer = Buffer(terminal: this, isAltBuffer: true);
  _buffer = _mainBuffer;

  cursor = Cursor(
    fg: theme.foreground,
    bg: TerminalColor.transparent, // transparent
    flags: 0x00, // no flags
  );

  tabs.reset();
}