Scylla Framework
  • API Reference
Search Results for

    Show / Hide Table of Contents
    • Scylla.Console.TextMode
      • IConsoleScreen
      • TextModeDebugConsoleDisplay
      • TicTacToeCommand
      • TicTacToeScreen
    • Scylla.TextMode
      • ANSIAttributeParser
      • ANSIColor
      • ANSISGRAttributes
      • AmbientEffectBase
      • BackgroundBlendMode
      • BoxStyle
      • BoxStyleCharacters
      • BoxStyleCharacters.BoxChars
      • CRTSettings
      • Cell
      • CellAttributes
      • CellAttributesExtensions
      • CellBuffer
      • CellBufferRenderer
      • CellGrid
      • CellMask
      • CellPosition
      • CellRange
      • CellRect
      • ColorCycleEffect
      • ColorCycleEffectPreset
      • CrossFadeEffect
      • CursorStyle
      • DecodeEffect
      • DecodeEffectPreset
      • DigitalRainEffect
      • DigitalRainEffectPreset
      • EffectsSettings
      • FadeEffect
      • FadeEffectPreset
      • FlickerEffect
      • FlickerEffectPreset
      • GlitchEffect
      • GlitchEffectPreset
      • GlyphAtlasCache
      • GridSettings
      • IAutoCompleter
      • IInputHistory
      • ITextEffect
      • ITextEffectContext
      • ITextModeGridProvider
      • ITextModePointerMapper
      • ITextModeRenderSource
      • ITextModeViewHost
      • IVTParserHandler
      • InputHistory
      • MaskTransitionEffect
      • MouseEncodingMode
      • MouseTrackingMode
      • PackedGlyphData
      • PulseEffect
      • PulseEffectPreset
      • PushEffect
      • PushEffectPreset
      • SDFSettings
      • ScrollbackAttributeRun
      • ScrollbackLine
      • ScyllaTextMode
      • ScyllaTextMode.Meta
      • ScyllaTextModeConfiguration
      • SlideInEffect
      • SlideInEffectPreset
      • StaticTuneInEffect
      • StaticTuneInEffectPreset
      • TerminalCLI
      • TerminalEmulator
      • TerminalGridRenderer
      • TerminalInputEncoder
      • TerminalMouseButton
      • TerminalScrollbackBuffer
      • TerminalSettings
      • TextAlignment
      • TextEffectBase
      • TextEffectCompletedEvent
      • TextEffectDirection
      • TextEffectExtensions
      • TextEffectMaskPattern
      • TextEffectPreset
      • TextEffectPushMode
      • TextEffectSequencer
      • TextEffectStartedEvent
      • TextEffectState
      • TextEffectTimeMode
      • TextEffects
      • TextModeCellBorder
      • TextModeColorDefaults
      • TextModeColorScheme
      • TextModeColorSet
      • TextModeConfigurationChangedEvent
      • TextModeConsole
      • TextModeConstants
      • TextModeEffectPlayer
      • TextModeGridCapture
      • TextModeLayoutUtil
      • TextModeMaterials
      • TextModeMouseReporter
      • TextModeMouseReportingEvent
      • TextModeSelectionChangedEvent
      • TextModeSelectionEndedEvent
      • TextModeSelectionManager
      • TextModeSelectionStartedEvent
      • TextModeTerminal
      • TextModeTerminalColorTheme
      • TextModeTerminalHost
      • TextModeTerminalSettings
      • TextModeTerminalStartMode
      • TextModeThemeBackground
      • TextModeThemeChangedEvent
      • TextModeThemeRemapper
      • TextModeThemes
      • TextModeView
      • TextWrapMode
      • ThemeSettings
      • TransitionEffectBase
      • TransitionEffectPreset
      • TwinkleEffect
      • TwinkleEffectPreset
      • TypewriterCharacterRevealedEvent
      • TypewriterEffect
      • TypewriterEffectPreset
      • UITextModeView
      • VTParser
      • WaveEffect
      • WaveEffectPreset
    • Scylla.TextMode.CRT
      • CRTBeam
      • CRTBeamClock
      • CRTBeamScanDirection
      • CRTBeamStatus
      • CRTCalibrationPattern
      • CRTCurvatureShape
      • CRTGeometry
      • CRTHDR
      • CRTHDRDisplay
      • CRTHDRTarget
      • CRTHorizontalKernel
      • CRTImageRegion
      • CRTMaskType
      • CRTQualityTier
      • CRTScaleMode
      • CRTSignalStandard
      • CRTSignalType
      • ITextModeCRTCameraEffect
      • ITextModeCRTHDRDisplaySource
      • TextModeCRTBeam
      • TextModeCRTCalibration
      • TextModeCRTCameraEffects
      • TextModeCRTConstants
      • TextModeCRTDriver
      • TextModeCRTHDR
      • TextModeCRTImageRenderer
      • TextModeCRTMonitor
      • TextModeCRTPreset
      • TextModeCRTPresetRegistry
      • TextModeCRTScreen
      • TextModeCRTSettings
      • TextModeCRTTube
    • Scylla.TextMode.Editor
      • CellGridPreviewWidget
      • ColorPaletteWidget
      • ITextModeCRTCameraSetupProvider
      • ScyllaTextModeConfigurationEditor
      • ScyllaTextModeDependencyProvider
      • ScyllaTextModeEditor
      • ScyllaTextModeMenuItems
      • ScyllaTextModeShaderProvider
      • TextModeCRTCameraSetup
      • TextModeCRTCameraStatus
      • TextModeCRTDriverEditor
      • TextModeCRTMonitorEditor
      • TextModeCRTPresetEditor
      • TextModeCRTPresetGenerator
      • TextModeColorAssetGenerator
      • TextModeColorPaletteDefaults
      • TextModeTerminalHostEditor
      • TextModeThemeField
      • TextModeViewEditor
      • TextModeViewEditorBase
      • UITextModeViewEditor
    • Scylla.TextMode.URP
      • CRTQualityTierParameter
      • TextModeCRTInjectionPoint
      • TextModeCRTPresetParameter
      • TextModeCRTRendererFeature
      • TextModeCRTVolume

    Struct TextModeTerminalSettings

    Configuration settings for a TextModeTerminal. Describes text rendering, cursor, scrollback, CLI, and selection options. Use CreateDefault() for sensible defaults.

    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    ValueType.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Scylla.TextMode
    Assembly: ScyllaTextMode.dll
    Syntax
    [Serializable]
    public struct TextModeTerminalSettings

    Fields

    AutoScroll

    Whether new content automatically scrolls to the bottom.

    Declaration
    [Tooltip("Whether the terminal scrolls to the newest line when one is added.")]
    public bool AutoScroll
    Field Value
    Type Description
    bool

    CLIEnabled

    Whether the CLI input row is enabled.

    Declaration
    [Tooltip("Whether the terminal has a command line at the bottom that the player can type into.")]
    public bool CLIEnabled
    Field Value
    Type Description
    bool

    CLITextColor

    Foreground color for CLI prompt and input text.

    Declaration
    [Tooltip("Color of the prompt and the typed text on the command line. A color theme replaces it.")]
    public Color32 CLITextColor
    Field Value
    Type Description
    Color32

    CellBorder

    Frame of whole cells around the terminal's content, per side. The border cells are part of the view's grid and always show DefaultBackground, but the terminal never writes into them: its columns, rows, line wrapping, scrolling and cursor stay inside the frame. See CellBorder.

    Declaration
    [Tooltip("A frame of whole cells around the text, per side. The border cells show the grid's background color, but text, line wrapping, scrolling and the cursor stay inside the frame.")]
    public TextModeCellBorder CellBorder
    Field Value
    Type Description
    TextModeCellBorder

    CharSpacing

    Character spacing multiplier for column width.

    Declaration
    [Tooltip("Character width multiplier. 1 is the font's natural character width, lower values pack characters tighter and higher values spread them out.")]
    [Range(0.5, 3)]
    public float CharSpacing
    Field Value
    Type Description
    float

    ClearAfterSubmit

    Whether to clear the input field after submitting a command.

    Declaration
    [Tooltip("Whether the command line empties after the player presses Enter.")]
    public bool ClearAfterSubmit
    Field Value
    Type Description
    bool

    CommandPrompt

    The command prompt string displayed before input text.

    Declaration
    [Tooltip("Text shown in front of the command line, such as \"> \".")]
    public string CommandPrompt
    Field Value
    Type Description
    string

    CursorBlinkRate

    Cursor blink rate in full cycles per second.

    Declaration
    [Tooltip("How many times per second the cursor blinks.")]
    [Range(0.5, 3)]
    public float CursorBlinkRate
    Field Value
    Type Description
    float

    CursorBlinking

    Whether the cursor blinks.

    Declaration
    [Tooltip("Whether the cursor blinks.")]
    public bool CursorBlinking
    Field Value
    Type Description
    bool

    CursorColor

    Color of the cursor.

    Declaration
    [Tooltip("Color of the cursor. A color theme replaces it.")]
    public Color CursorColor
    Field Value
    Type Description
    Color

    CursorStyle

    Visual style of the CLI cursor.

    Declaration
    [Tooltip("Shape of the cursor, such as a block, a vertical bar or an underscore.")]
    public CursorStyle CursorStyle
    Field Value
    Type Description
    CursorStyle

    DefaultBackground

    Default background color for cells. Use transparent (0,0,0,0) to let the parent background show through.

    Declaration
    [Tooltip("Background color of the cells. A fully transparent color lets whatever is behind the terminal show through.")]
    public Color32 DefaultBackground
    Field Value
    Type Description
    Color32

    DefaultForeground

    Default foreground color for text.

    Declaration
    [Tooltip("Color of text that has no color of its own. A color theme replaces it.")]
    public Color32 DefaultForeground
    Field Value
    Type Description
    Color32

    EnableDragScroll

    Whether drag-to-scroll is enabled.

    Declaration
    [Tooltip("Whether the player can scroll the log by dragging it with the mouse.")]
    public bool EnableDragScroll
    Field Value
    Type Description
    bool

    FillPadding

    Whether the Padding around the grid shows the grid's background color. When false the padding is transparent. CreateDefault() turns it on.

    Declaration
    [Tooltip("Whether the padding around the grid shows the grid's background color. Turn it off for transparent padding, so whatever lies behind the terminal shows through.")]
    [FormerlySerializedAs("CellBorderFollowsTheme")]
    public bool FillPadding
    Field Value
    Type Description
    bool
    Remarks

    The terminal itself draws nothing in the padding; whoever places the terminal fills it. TextModeTerminalHost follows this setting. Code that builds a TextModeTerminal directly reads it to decide whether to put a background behind the terminal.

    FilteredCharacters

    Characters that are filtered from CLI input. Any character in this string will be rejected by the input handler.

    Declaration
    [Tooltip("Characters the command line does not accept. Typing one of them does nothing.")]
    public string FilteredCharacters
    Field Value
    Type Description
    string

    FontSize

    Font size in pixels.

    Declaration
    [Tooltip("Font size in pixels. It sets the height of a row, and the number of columns and rows follows from the size of the terminal's area.")]
    [Range(6, 256)]
    public float FontSize
    Field Value
    Type Description
    float

    LineSpacing

    Line spacing multiplier for row height.

    Declaration
    [Tooltip("Line height multiplier. 1 is the font's natural line height, higher values add space between rows.")]
    [Range(0.5, 3)]
    public float LineSpacing
    Field Value
    Type Description
    float

    MAX_FONT_SIZE

    Largest terminal font size in pixels that Validate() allows, the same limit the views have.

    Declaration
    public const float MAX_FONT_SIZE = 256
    Field Value
    Type Description
    float

    MIN_FONT_SIZE

    Smallest terminal font size in pixels that Validate() allows.

    Declaration
    public const float MIN_FONT_SIZE = 6
    Field Value
    Type Description
    float

    OpenHyperlinksOnCtrlClick

    Whether Ctrl+click on a hyperlink in full-screen mode opens it in the system browser.

    Declaration
    [Tooltip("Whether Ctrl+click on a link in full-screen mode opens it in the system browser. Only http, https and mailto links are opened.")]
    public bool OpenHyperlinksOnCtrlClick
    Field Value
    Type Description
    bool
    Remarks

    Only http, https and mailto links are opened, since the link comes from whatever a program printed. OnHyperlinkClicked is raised for every Ctrl+clicked link either way, so turn this off when the host handles links itself.

    Padding

    Padding in pixels applied as inset around the grid view. The space it leaves is outside the grid, so nothing the view draws, including a CRT, covers it. Use CellBorder for a frame that belongs to the grid.

    Declaration
    [Tooltip("Empty space in pixels between the edge of the terminal's area and the text. The terminal draws nothing there, not even a CRT; use Cell Border for a frame that belongs to the grid.")]
    [Range(0, 40)]
    public float Padding
    Field Value
    Type Description
    float

    ScrollbackCapacity

    Maximum number of lines retained in the scrollback buffer.

    Declaration
    [Tooltip("How many lines the terminal keeps, so the player can scroll back to them.")]
    [Range(100, 10000)]
    public int ScrollbackCapacity
    Field Value
    Type Description
    int

    SelectionColor

    Fill color drawn behind selected text.

    Declaration
    [Tooltip("Background color of selected text. A color theme replaces it.")]
    public Color SelectionColor
    Field Value
    Type Description
    Color

    SelectionEnabled

    Whether text selection is enabled.

    Declaration
    [Tooltip("Whether the player can select text with the mouse.")]
    public bool SelectionEnabled
    Field Value
    Type Description
    bool

    SelectionTextColor

    Color of selected text, drawn on SelectionColor.

    Declaration
    [Tooltip("Color of selected text. A color theme replaces it.")]
    public Color SelectionTextColor
    Field Value
    Type Description
    Color

    TextBlinkRate

    Text blink rate in full cycles per second (for the Blink cell attribute).

    Declaration
    [Tooltip("How many times per second blinking text blinks.")]
    [Range(0.1, 10)]
    public float TextBlinkRate
    Field Value
    Type Description
    float

    ThemeName

    Name of the color theme the terminal takes its colors from, or empty to use the explicit color fields.

    Declaration
    [Tooltip("Name of the color theme the terminal takes its colors from. Leave it empty to use the colors set here.")]
    public string ThemeName
    Field Value
    Type Description
    string
    Remarks

    When this names a theme, the terminal resolves it and overwrites DefaultForeground, CursorColor, CLITextColor, SelectionColor and SelectionTextColor from it.

    DefaultBackground is deliberately left alone. A host that set it transparent so its own backdrop shows through, which is what the debug console does, would otherwise lose that backdrop the moment a theme was applied.

    By default the named theme is only where the terminal starts: it follows every later change of the project theme, including the one the TextMode module makes when it starts. Turn on UseOwnTheme to keep the named theme.

    UseBuiltInClipboardShortcuts

    Whether the terminal handles the clipboard shortcuts itself: Ctrl+C (Cmd+C on macOS) copies the selection, and Ctrl+V, Cmd+V or Shift+Insert pastes into the command line.

    Declaration
    [Tooltip("Whether the terminal handles the clipboard keys itself. Ctrl+C (Cmd+C on macOS) copies the selection, and Ctrl+V, Cmd+V or Shift+Insert pastes into the command line. Turn it off when the game maps these keys through its own input.")]
    public bool UseBuiltInClipboardShortcuts
    Field Value
    Type Description
    bool
    Remarks

    Turn this off when the host maps those keys through its own input, and call CopySelectionToClipboard() and PasteIntoCommandLine(string) from there. Otherwise both would act on the same key press.

    UseOwnTheme

    Whether the terminal keeps the theme named in ThemeName instead of following the project theme.

    Declaration
    [Tooltip("Whether the terminal keeps the theme named in Theme Name, instead of following the project theme when it changes.")]
    public bool UseOwnTheme
    Field Value
    Type Description
    bool
    Remarks

    A terminal with its own theme ignores project theme changes, and the standard ANSI colors that programs ask for with escape sequences come from its own theme as well. Inverting the colors with SetInverted(bool) still applies to every view, this terminal included. Has no effect while ThemeName is empty.

    Methods

    CreateDefault()

    Creates a new TextModeTerminalSettings with sensible default values.

    Declaration
    public static TextModeTerminalSettings CreateDefault()
    Returns
    Type Description
    TextModeTerminalSettings

    A settings instance with default configuration.

    Validate()

    Validates and clamps all settings values to their valid ranges. Call this after constructing settings from external data to ensure all values are within acceptable bounds.

    Declaration
    public void Validate()
    In this article
    Back to top Scylla Framework - TextMode Module API Documentation