updateFromEvent method

bool updateFromEvent(
  1. Event event
)

Updates capabilities based on an event.

Returns true if any capability changed.

Implementation

bool updateFromEvent(Event event) {
  if (event is KittyGraphicsEvent) {
    if (!hasKittyGraphics) {
      hasKittyGraphics = true;
      return true;
    }
  } else if (event is KeyboardEnhancementsEvent) {
    if (!hasKeyboardEnhancements) {
      hasKeyboardEnhancements = true;
      return true;
    }
  } else if (event is PrimaryDeviceAttributesEvent) {
    primaryAttributes = event.attrs;
    // Attribute 4 is Sixel.
    final oldSixel = hasSixel;
    hasSixel = event.attrs.contains(4);
    return oldSixel != hasSixel;
  } else if (event is BackgroundColorEvent) {
    backgroundColor = event.color;
    return true;
  } else if (event is ColorPaletteEvent) {
    if (event.color != null) {
      palette[event.index] = event.color!;
      return true;
    }
  } else if (event is SecondaryDeviceAttributesEvent) {
    // iTerm2 often identifies itself in secondary DA or via environment.
    // We also check environment in Terminal.
  }
  return false;
}