ProgramOptions constructor

const ProgramOptions({
  1. bool altScreen = true,
  2. ScreenMode? screenMode,
  3. int inlineHeight = 4,
  4. UiAnchor uiAnchor = UiAnchor.bottom,
  5. bool mouse = false,
  6. MouseMode mouseMode = MouseMode.none,
  7. int fps = 60,
  8. bool frameTick = true,
  9. bool hideCursor = true,
  10. bool bracketedPaste = false,
  11. Duration inputTimeout = const Duration(milliseconds: 50),
  12. bool catchPanics = true,
  13. int maxStackFrames = 10,
  14. MessageFilter? filter,
  15. ProgramInterceptor? interceptor,
  16. ProgramReplay? replay,
  17. bool blockInputWhileReplay = false,
  18. bool signalHandlers = true,
  19. bool sendInterrupt = true,
  20. bool sendSuspendSignal = true,
  21. String? startupTitle,
  22. Stream<List<int>>? input,
  23. void output(
    1. String
    )?,
  24. bool disableRenderer = false,
  25. bool ansiCompress = false,
  26. bool useUltravioletRenderer = true,
  27. bool useUltravioletInputDecoder = true,
  28. bool? startupProbes,
  29. Future<void>? cancelSignal,
  30. List<String>? environment,
  31. bool inputTTY = false,
  32. ({bool useBackspace, bool useTabs})? movementCapsOverride,
  33. bool shutdownSharedStdinOnExit = true,
  34. Duration metricsInterval = const Duration(seconds: 1),
  35. RenderBudgetOptions renderBudget = const RenderBudgetOptions(),
})

Creates program configuration options.

When screenMode is provided it takes precedence over altScreen. The altScreen field is retained for backward compatibility and resolves to true when screenMode is ScreenMode.fullScreen.

Implementation

const ProgramOptions({
  this.altScreen = true,
  this.screenMode,
  this.inlineHeight = 4,
  this.uiAnchor = UiAnchor.bottom,
  this.mouse = false,
  this.mouseMode = MouseMode.none,
  this.fps = 60,
  this.frameTick = true,
  this.hideCursor = true,
  this.bracketedPaste = false,
  this.inputTimeout = const Duration(milliseconds: 50),
  this.catchPanics = true,
  this.maxStackFrames = 10,
  this.filter,
  this.interceptor,
  this.replay,
  this.blockInputWhileReplay = false,
  this.signalHandlers = true,
  this.sendInterrupt = true,
  this.sendSuspendSignal = true,
  this.startupTitle,
  this.input,
  this.output,
  this.disableRenderer = false,
  this.ansiCompress = false,
  this.useUltravioletRenderer = true,
  this.useUltravioletInputDecoder = true,
  this.startupProbes,
  this.cancelSignal,
  this.environment,
  this.inputTTY = false,
  this.movementCapsOverride,
  this.shutdownSharedStdinOnExit = true,
  this.metricsInterval = const Duration(seconds: 1),
  this.renderBudget = const RenderBudgetOptions(),
}) : assert(fps >= 1 && fps <= 120, 'fps must be between 1 and 120');