Table of Contents

Namespace Terminal.Gui

Classes

AdvanceFocusEventArgs

The event arguments for AdvanceFocus(NavigationDirection, TabBehavior?) events.

Aligner

Aligns items within a container based on the specified Alignment. Both horizontal and vertical alignments are supported.

AllowedType

Describes a requirement on what FileInfo can be selected. This can be combined with other IAllowedType in a FileDialog to for example show only .csv files but let user change to open any if they want.

AllowedTypeAny

IAllowedType that allows selection of any types (.).

AppScope

The Scope<T> class for application-defined configuration settings.

AppendAutocomplete

Autocomplete for a TextField which shows suggestions within the box. Displayed suggestions can be completed using the tab key.

Application

A static, singleton class representing the application. This class is the entry point for the application.

ApplicationNavigation

Helper class for Application navigation. Held by Navigation

AssumeSupportDetector

Implementation of ISixelSupportDetector that assumes best case scenario (full support including transparency with 10x20 resolution).

AutocompleteBase

Abstract implementation of IAutocomplete allows for tailoring how autocomplete is rendered/interacted with.

AutocompleteContext

Describes the current state of a View which is proposing autocomplete. Suggestions are based on this state.

Axis

Renders a continuous line with grid line ticks and labels

AxisIncrementToRender

A location on an axis of a GraphView that may or may not have a label associated with it

Bar

Provides a horizontally or vertically oriented container for Shortcuts to be used as a menu, toolbar, or status bar.

BarSeries

Series of bars positioned at regular intervals

BarSeriesBar

A single bar in a BarSeries

Border

The Border for a View. Accessed via Border

Button

A button View that can be pressed with the mouse or keybaord.

CancelEventArgs<T>

EventArgs for events that convey changes to a property of type T.

CellActivatedEventArgs

Defines the event arguments for CellActivated event

CellColorGetterArgs

Arguments for a CellColorGetterDelegate. Describes a cell for which a rendering ColorScheme is being sought

CellToggledEventArgs

Event args for the CellToggled event.

CheckBox

Shows a check box that can be cycled between two or three states.

CheckBoxTableSourceWrapperBase

ITableSource for a TableView which adds a checkbox column as an additional column in the table.

CheckBoxTableSourceWrapperByIndex

Implementation of CheckBoxTableSourceWrapperBase which records toggled rows by their row number.

CheckBoxTableSourceWrapperByObject<T>

Implementation of CheckBoxTableSourceWrapperBase which records toggled rows by a property on row objects.

Clipboard

Provides cut, copy, and paste support for the OS clipboard.

ClipboardBase

Shared abstract class to enforce rules from the implementation of the IClipboard interface.

CollectionNavigator

Navigates a collection of items using keystrokes. The keystrokes are used to build a search string. The SearchString is used to find the next item in the collection that matches the search string when GetNextMatchingItem(int, char) is called.

If the user types keystrokes that can't be found in the collection, the search string is cleared and the next item is found that starts with the last keystroke.

If the user pauses keystrokes for a short time (see TypingDelay), the search string is cleared.

CollectionNavigatorBase

Navigates a collection of items using keystrokes. The keystrokes are used to build a search string. The SearchString is used to find the next item in the collection that matches the search string when GetNextMatchingItem(int, char) is called.

If the user types keystrokes that can't be found in the collection, the search string is cleared and the next item is found that starts with the last keystroke.

If the user pauses keystrokes for a short time (see TypingDelay), the search string is cleared.

ColorEventArgs

Event arguments for the Color events.

ColorParseException

An exception thrown when something goes wrong when trying to parse a Color.

ColorPicker

True color picker using HSL

ColorPicker16

The ColorPicker16View Color picker.

ColorPickerStyle

Contains style settings for ColorPicker e.g. which ColorModel to use.

ColorQuantizer

Translates colors in an image into a Palette of up to MaxColors colors (typically 256).

ColorScheme

Defines a standard set of Attributes for common visible elements in a View.

ColorStrings

Provides a mapping between Color and the W3C standard color name strings.

Colors

Holds the ColorSchemes that define the Attributes that are used by views to render themselves.

ColumnStyle

Describes how to render a given column in a TableView including Alignment and textual representation of cells (e.g. date formats) See TableView Deep Dive for more information.

ComboBox

Provides a drop-down list of items the user can select from.

CommandEventArgs

Event arguments for Command events.

ConfigProperty

Holds a property's value and the PropertyInfo that allows ConfigurationManager to get and set the property's value.

ConfigurationManager

Provides settings and configuration management for Terminal.Gui applications.

Users can set Terminal.Gui settings on a global or per-application basis by providing JSON formatted configuration files. The configuration files can be placed in at .tui folder in the user's home directory (e.g. C:/Users/username/.tui, or /usr/username/.tui), the folder where the Terminal.Gui application was launched from (e.g. ./.tui ), or as a resource within the Terminal.Gui application's main assembly.

Settings are defined in JSON format, according to this schema: https://gui-cs.github.io/Terminal.GuiV2Docs/schemas/tui-config-schema.json

Settings that will apply to all applications (global settings) reside in files named config.json. Settings that will apply to a specific Terminal.Gui application reside in files named appname.config.json, where appname is the assembly name of the application (e.g. UICatalog.config.json).

Settings are applied using the following precedence (higher precedence settings overwrite lower precedence settings):

1. Application configuration found in the users' home directory (~/.tui/appname.config.json) -- Highest precedence

2. Application configuration found in the directory the app was launched from ( ./.tui/appname.config.json).

3. Application configuration found in the applications' resources (Resources/config.json).

4. Global configuration found in the user's home directory (~/.tui/config.json).

5. Global configuration found in the directory the app was launched from (./.tui/config.json).

6. Global configuration in Terminal.Gui.dll's resources (Terminal.Gui.Resources.config.json) -- Lowest Precedence.

ConfigurationManagerEventArgs

Event arguments for the ConfigurationManager events.

ConsoleDriver

Base class for Terminal.Gui ConsoleDriver implementations.

ContentsChangedEventArgs

Event arguments for events for when the contents of the TextView change. E.g. the ContentsChanged event.

ContextMenu

ContextMenu provides a pop-up menu that can be positioned anywhere within a View. ContextMenu is analogous to MenuBar and, once activated, works like a sub-menu of a MenuBarItem (but can be positioned anywhere).

By default, a ContextMenu with sub-menus is displayed in a cascading manner, where each sub-menu pops out of the ContextMenu frame (either to the right or left, depending on where the ContextMenu is relative to the edge of the screen). By setting UseSubMenusSingleFrame to true, this behavior can be changed such that all sub-menus are drawn within the ContextMenu frame.

ContextMenus can be activated using the Shift-F10 key (by default; use the Key to change to another key).

Callers can cause the ContextMenu to be activated on a right-mouse click (or other interaction) by calling Show(MenuBarItem?).

ContextMenus are located using screen coordinates and appear above all other Views.

DataTableSource

ITableSource implementation that wraps a DataTable. This class is mutable: changes are permitted to the wrapped DataTable.

DateField

Simple Date editing View

DatePicker

The DatePickerView Date Picker.

DateTimeEventArgs<T>

Defines the event arguments for DateChanged and TimeChanged events.

DefaultFileOperations

Default file operation handlers using modal dialogs.

DelegateTreeBuilder<T>

Implementation of ITreeBuilder<T> that uses user defined functions

Dialog

The DialogView is a Window that by default is centered and contains one or more Buttons. It defaults to the Colors.ColorSchemes ["Dialog"] color scheme and has a 1 cell padding around the edges.

Dim

A Dim object describes the dimensions of a View. Dim is the type of the Width and Height properties of View.

Integer values are implicitly convertible to an absolute Dim. These objects are created using the static methods described below. The Dim objects can be combined with the addition and subtraction operators.

DimAbsolute

Represents a dimension that is a fixed size.

DimAuto

Represents a dimension that automatically sizes the view to fit all the view's Content, SubViews, and/or Text.

DimCombine

Represents a dimension that is a combination of two other dimensions.

DimFill

Represents a dimension that fills the dimension, leaving the specified margin.

DimFunc

Represents a function Dim object that computes the dimension by executing the provided function.

DimPercent

Represents a dimension that is a percentage of the width or height of the SuperView.

DimView

Represents a dimension that tracks the Height or Width of the specified View.

DrawEventArgs

Event args for draw events

DrawTreeViewLineEventArgs<T>

Event args for the DrawLine event

EnumerableTableSource<T>

ITableSource implementation that wraps arbitrary data.

EscSeqReqStatus

Represents the status of an ANSI escape sequence request made to the terminal using EscSeqRequests.

EscSeqRequests

Manages ANSI Escape Sequence requests and responses. The list of EscSeqReqStatus contains the status of the request. Each request is identified by the terminator (e.g. ESC[8t ... t is the terminator).

EscSeqUtils

Provides a platform-independent API for managing ANSI escape sequences.

EuclideanColorDistance

Calculates the distance between two colors using Euclidean distance in 3D RGB space. This measures the straight-line distance between the two points representing the colors.

Euclidean distance in RGB space is calculated as:

√((R2 - R1)² + (G2 - G1)² + (B2 - B1)²)
Values vary from 0 to ~441.67 linearly This distance metric is commonly used for comparing colors in RGB space, though it doesn't account for perceptual differences in color.
EventArgs<T>

EventArgs for events that convey changes to a property of type T.

FakeConsole
FakeDriver

Implements a mock ConsoleDriver for unit testing

FakeDriver.Behaviors
FakeDriver.FakeClipboard
FileDialog

Modal dialog for selecting files/directories. Has auto-complete and expandable navigation pane (Recent, Root drives etc).

FileDialogStyle

Stores style settings for FileDialog.

FileSystemColorProvider

Provides a way to get the color of a file or directory.

FileSystemIconProvider

Determines which symbol to use to represent files and directories.

FileSystemTreeBuilder

TreeView builder for creating file system based trees.

FilesSelectedEventArgs

Event args for the FilesSelected event

FillPair

Describes a pair of IFill which cooperate in creating Attribute. One gives foreground color while other gives background.

FrameView

The FrameView is a container View with a border around it.

GlyphDefinitions

Defines the standard set of glyphs used to draw checkboxes, lines, borders, etc...

GrabMouseEventArgs

Args GrabMouse related events.

Gradient

Describes a Spectrum of colors that can be combined to make a color gradient. Use BuildCoordinateColorMapping(int, int, GradientDirection) to create into gradient fill area maps.

GradientFill

Implementation of IFill that uses a color gradient (including radial, diagonal etc.).

GraphCellToRender

Describes how to render a single row/column of a GraphView based on the value(s) in ISeries at that location

GraphView

View for rendering graphs (bar, scatter, etc...).

HasFocusEventArgs

The event arguments for HasFocus events.

HexView

Hex viewer and editor View over a Stream

HexViewEditEventArgs

Defines the event arguments for Edited event.

HexViewEventArgs

Defines the event arguments for PositionChanged event.

HorizontalAxis

The horizontal (x-axis) of a GraphView

IterationEventArgs

Event arguments for the Iteration event.

Key

Provides an abstraction for common keyboard operations and state. Used for processing keyboard input and raising keyboard events.

KeyBindings

Provides a collection of KeyBinding objects bound to a Key.

KeyChangedEventArgs

Event args for when a Key is changed from one value to a new value (e.g. in HotKeyChanged)

KeyJsonConverter

Support for Key in JSON in the form of "Ctrl-X" or "Alt-Shift-F1".

KeystrokeNavigatorEventArgs

Event arguments for the SearchStringChanged event.

Label

The Label View displays text that describes the View next in the Subviews. When Label recieves a HotKey command it will pass it to the next View in Subviews.

LayoutEventArgs

Event arguments for the SubviewsLaidOut event.

LayoutException

Represents an exception that is thrown when a layout operation fails.

LegendAnnotation

A box containing symbol definitions e.g. meanings for colors in a graph. The 'Key' to the graph

Line

Draws a single line using the LineStyle specified by BorderStyle.

LineCanvas

Facilitates box drawing and line intersection detection and rendering. Does not support diagonal lines.

LineF

Describes two points in graph space and a line between them

LineView

A straight line control either horizontal or vertical

ListColumnStyle

Defines rendering options that affect how the view is displayed.

ListTableSource

ITableSource implementation that wraps a IList. This class is mutable: changes are permitted to the wrapped IList.

ListView

ListView View renders a scrollable list of data where each item can be activated to perform an action.

ListViewItemEventArgs

EventArgs for ListView events.

ListViewRowEventArgs

EventArgs used by the RowRender event.

ListWrapper<T>

Provides a default implementation of IListDataSource that renders ListView items using ToString().

Margin

The Margin for a View. Accessed via Margin

MenuBar

Provides a menu bar that spans the top of a Toplevel View with drop-down and cascading menus.

By default, any sub-sub-menus (sub-menus of the MenuItems added to MenuBarItems) are displayed in a cascading manner, where each sub-sub-menu pops out of the sub-menu frame (either to the right or left, depending on where the sub-menu is relative to the edge of the screen). By setting UseSubMenusSingleFrame to true, this behavior can be changed such that all sub-sub-menus are drawn within a single frame below the MenuBar.

MenuBarItem

MenuBarItem is a menu item on MenuBar. MenuBarItems do not support ShortcutKey.

MenuBarv2

A menu bar is a View that snaps to the top of a Toplevel displaying set of Shortcuts.

MenuClosingEventArgs

An EventArgs which allows passing a cancelable menu closing event.

MenuItem

A MenuItem has title, an associated help text, and an action to execute on activation. MenuItems can also have a checked indicator (see Checked).

MenuOpenedEventArgs

Defines arguments for the MenuOpened event

MenuOpeningEventArgs

An EventArgs which allows passing a cancelable menu opening event or replacing with a new MenuBarItem.

Menuv2
MessageBox

MessageBox displays a modal message to the user, with a title, a message and a series of options that the user can choose from.

MouseEventArgs

Specifies the event arguments for MouseEventArgs. This is a higher-level construct than the wrapped MouseEventArgs class and is used for the events defined on View and subclasses of View (e.g. MouseEnter and MouseClick).

MouseFlagsChangedEventArgs

Args for events that describe a change in MouseFlags

MultiBarSeries

Collection of BarSeries in which bars are clustered by category

NumericUpDown

Enables the user to increase or decrease an int by clicking on the up or down buttons.

NumericUpDown<T>

Enables the user to increase or decrease a value with the mouse or keyboard.

ObjectActivatedEventArgs<T>

Event args for the ObjectActivated event

OpenDialog

The OpenDialogprovides an interactive dialog box for users to select files or directories.

OrientationHelper

Helper class for implementing IOrientation.

Padding

The Padding for a View. Accessed via Padding

PathAnnotation

Sequence of lines to connect points e.g. of a ScatterSeries

PointEventArgs

Event args for events which relate to a single Point

PopupAutocomplete

Renders an overlay on another view at a given point that allows selecting from a range of 'autocomplete' options.

Pos

Describes the position of a View which can be an absolute value, a percentage, centered, or relative to the ending dimension. Integer values are implicitly convertible to an absolute Pos. These objects are created using the static methods Percent, AnchorEnd, and Center. The Pos objects can be combined with the addition and subtraction operators.

PosAbsolute

Represents an absolute position in the layout. This is used to specify a fixed position in the layout.

PosAlign

Enables alignment of a set of views.

PosAnchorEnd

Represents a position anchored to the end (right side or bottom).

PosCenter

Represents a position that is centered.

PosCombine

Represents a position that is a combination of two other positions.

PosFunc

Represents a position that is computed by executing a function that returns an integer position.

PosPercent

Represents a position that is a percentage of the width or height of the SuperView.

PosView

Represents a position that is anchored to the side of another view.

ProgressBar

A Progress Bar view that can indicate progress of an activity visually.

RadioGroup

Displays a group of labels with an idicator of which one is selected.

Responder

Responder base class implemented by objects that want to participate on keyboard and mouse input.

RowColorGetterArgs

Arguments for RowColorGetterDelegate. Describes a row of data in a ITableSource for which ColorScheme is sought.

RunState

The execution state for a Toplevel view.

RunStateEventArgs

Event arguments for events about RunState

RuneExtensions

Extends Rune to support TUI text manipulation.

SaveDialog

The SaveDialog provides an interactive dialog box for users to pick a file to save.

ScatterSeries

Series composed of any number of discrete data points

Scope<T>

Defines a configuration settings scope. Classes that inherit from this abstract class can be used to define scopes for configuration settings. Each scope is a JSON object that contains a set of configuration settings.

ScrollBarView

ScrollBarViews are views that display a 1-character scrollbar, either horizontal or vertical

ScrollView

Scrollviews are views that present a window into a virtual space where subviews are added. Similar to the iOS UIScrollView.

SelectedCellChangedEventArgs

Defines the event arguments for SelectedCellChanged

SelectedItemChangedArgs

Event arguments for the SelectedItemChanged event.

SelectionChangedEventArgs<T>

Event arguments describing a change in selected object in a tree view

SerializableConfigurationProperty

An attribute that can be applied to a property to indicate that it should be included in the configuration file.

SettingsScope

The root object of Terminal.Gui configuration settings / JSON schema. Contains only properties attributed with SettingsScope.

Shortcut

Displays a command, help text, and a key binding. When the key specified by Key is pressed, the command will be invoked. Useful for displaying a command in Bar such as a menu, toolbar, or status bar.

SingleWordSuggestionGenerator

ISuggestionGenerator which suggests from a collection of words those that match the AutocompleteContext. You can update AllSuggestions at any time to change candidates considered for autocomplete.

SixelEncoder

Encodes a images into the sixel console image output format.

SixelSupportResult

Describes the discovered state of sixel support and ancillary information e.g. Resolution. You can use any ISixelSupportDetector to discover this information.

SixelToRender

Describes a request to render a given SixelData at a given ScreenPosition. Requires that the terminal and ConsoleDriver both support sixel.

SizeChangedEventArgs

Args for events about Size (e.g. Resized)

Slider

Slider control.

SliderAttributes

Slider<T> Legend Style

SliderEventArgs<T>

EventArgs for Slider<T> events.

SliderOptionEventArgs

EventArgs for Slider<T>SliderOption<T> events.

SliderOption<T>

Represents an option in a Slider<T> .

SliderStyle

Slider<T> Style

Slider<T>

Provides a slider control letting the user navigate from a set of typed options in a linear manner using the keyboard or mouse.

SolidFill

IFill implementation that uses a solid color for all points

SpinnerStyle

SpinnerStyles used in a SpinnerView.

SpinnerStyle.Aesthetic
SpinnerStyle.Aesthetic2
SpinnerStyle.Arc
SpinnerStyle.Arrow
SpinnerStyle.Arrow2
SpinnerStyle.Arrow3
SpinnerStyle.Balloon
SpinnerStyle.Balloon2
SpinnerStyle.BetaWave
SpinnerStyle.BluePulse
SpinnerStyle.Bounce
SpinnerStyle.BouncingBall
SpinnerStyle.BouncingBar
SpinnerStyle.BoxBounce
SpinnerStyle.BoxBounce2
SpinnerStyle.Christmas
SpinnerStyle.Circle
SpinnerStyle.CircleHalves
SpinnerStyle.CircleQuarters
SpinnerStyle.Clock
SpinnerStyle.Custom
SpinnerStyle.Dots
SpinnerStyle.Dots10
SpinnerStyle.Dots11
SpinnerStyle.Dots12
SpinnerStyle.Dots2
SpinnerStyle.Dots3
SpinnerStyle.Dots4
SpinnerStyle.Dots5
SpinnerStyle.Dots6
SpinnerStyle.Dots7
SpinnerStyle.Dots8
SpinnerStyle.Dots8Bit
SpinnerStyle.Dots9
SpinnerStyle.Dqpb
SpinnerStyle.Earth
SpinnerStyle.FingerDance
SpinnerStyle.FistBump
SpinnerStyle.Flip
SpinnerStyle.Grenade
SpinnerStyle.GrowHorizontal
SpinnerStyle.GrowVertical
SpinnerStyle.Hamburger
SpinnerStyle.Hearts
SpinnerStyle.Layer
SpinnerStyle.Line
SpinnerStyle.Line2
SpinnerStyle.Material
SpinnerStyle.MindBlown
SpinnerStyle.Monkey
SpinnerStyle.Moon
SpinnerStyle.Noise
SpinnerStyle.OrangeBluePulse
SpinnerStyle.OrangePulse
SpinnerStyle.Pipe
SpinnerStyle.Points
SpinnerStyle.Pong
SpinnerStyle.Runner
SpinnerStyle.Shark
SpinnerStyle.SimpleDots
SpinnerStyle.SimpleDotsScrolling
SpinnerStyle.Smiley
SpinnerStyle.SoccerHeader
SpinnerStyle.Speaker
SpinnerStyle.SquareCorners
SpinnerStyle.Squish
SpinnerStyle.Star
SpinnerStyle.Star2
SpinnerStyle.TimeTravelClock
SpinnerStyle.Toggle
SpinnerStyle.Toggle10
SpinnerStyle.Toggle11
SpinnerStyle.Toggle12
SpinnerStyle.Toggle13
SpinnerStyle.Toggle2
SpinnerStyle.Toggle3
SpinnerStyle.Toggle4
SpinnerStyle.Toggle5
SpinnerStyle.Toggle6
SpinnerStyle.Toggle7
SpinnerStyle.Toggle8
SpinnerStyle.Toggle9
SpinnerStyle.Triangle
SpinnerStyle.Weather
SpinnerView

A View which displays (by default) a spinning line character.

SplitterEventArgs

Provides data for TileView events.

StackExtensions

Extension of Stack<T> helper to work with specific IEqualityComparer<T>

StatusBar

A status bar is a View that snaps to the bottom of a Toplevel displaying set of Shortcuts. The StatusBar should be context sensitive. This means, if the main menu and an open text editor are visible, the items probably shown will be ~F1~ Help ~F2~ Save ~F3~ Load. While a dialog to ask a file to load is executed, the remaining commands will probably be ~F1~ Help. So for each context must be a new instance of a status bar.

StepChangeEventArgs

EventArgs for WizardStep events.

StraightLine

A line between two points on a horizontal or vertical Orientation and a given style/color.

StraightLineExtensions

Extension methods for StraightLine (including collections).

StringExtensions

Extensions to string to support TUI text manipulation.

Suggestion

A replacement suggestion made by IAutocomplete

SuperViewChangedEventArgs

Args for events where the SuperView of a View is changed (e.g. Removed / Added events).

Tab

A single tab in a TabView.

TabChangedEventArgs

Describes a change in SelectedTab

TabMouseEventArgs

Describes a mouse event over a specific Tab in a TabView.

TabStyle

Describes render stylistic selections of a TabView

TabView

Control that hosts multiple sub views, presenting a single one at once.

TableCollectionNavigator

Collection navigator for cycling selections in a TableView.

TableSelection

Describes a selected region of the table

TableStyle

Defines rendering options that affect how the table is displayed. See TableView Deep Dive for more information.

TableView

View for tabular data based on a ITableSource. See TableView Deep Dive for more information.

TextAnnotation

Displays text at a given position (in screen space or graph space)

TextField

Single-line text entry View

TextFieldAutocomplete

Renders an overlay on another view at a given point that allows selecting from a range of 'autocomplete' options. An implementation on a TextField.

TextFormatter

Provides text formatting. Supports HotKeys, horizontal and vertical alignment, text direction, multiple lines, and word-based line wrap.

TextValidateField

Text field that validates input through a ITextValidateProvider

TextView

Multi-line text editing View.

TextViewAutocomplete

Renders an overlay on another view at a given point that allows selecting from a range of 'autocomplete' options. An implementation on a TextView.

ThemeManager

Contains a dictionary of the Themes for a Terminal.Gui application.

ThemeManagerEventArgs

Event arguments for the ThemeManager events.

ThemeScope

The root object for a Theme. A Theme is a set of settings that are applied to the running Application as a group.

Tile

A single ContentView presented in a TileView. To create new instances use RebuildForTileCount(int) or InsertTile(int).

TileView

A View consisting of a moveable bar that divides the display area into resizeable Tiles.

TimeField

Time editing View

Timeout

Provides data for timers running manipulation.

Toplevel

Toplevel views are used for both an application's main view (filling the entire screen and for modal (pop-up) views such as Dialog, MessageBox, and Wizard).

ToplevelClosingEventArgs

EventArgs implementation for the Closing event.

ToplevelEqualityComparer

Implements the IEqualityComparer<T> for comparing two Toplevels used by StackExtensions.

ToplevelEventArgs

Args for events that relate to a specific Toplevel.

TreeBuilder<T>

Abstract implementation of ITreeBuilder<T>.

TreeNode

Simple class for representing nodes, use with regular (non-generic) TreeView.

TreeNodeBuilder

ITreeBuilder<T> implementation for ITreeNode objects

TreeStyle

Defines rendering options that affect how the tree is displayed.

TreeTableSource<T>

An ITableSource with expandable rows.

TreeView

Convenience implementation of generic TreeView<T> for any tree were all nodes implement ITreeNode. See TreeView Deep Dive for more information.

TreeViewTextFilter<T>

ITreeViewFilter<T> implementation which searches the AspectGetter of the model for the given Text.

TreeView<T>

Hierarchical tree view with expandable branches. Branch objects are dynamically determined when expanded using a user defined ITreeBuilder<T>. See TreeView Deep Dive for more information.

VerticalAxis

The vertical (i.e. Y axis) of a GraphView

View

View is the base class all visible elements. View can render itself and contains zero or more nested views, called SubViews. View provides basic functionality for layout, positioning, and drawing. In addition, View provides keyboard and mouse event handling.

ViewEventArgs

Args for events that relate to specific View

W3CColors

Helper class that resolves w3c color names to their hex values Based on https://www.w3schools.com/colors/color_tryit.asp

Window

A ToplevelView with BorderStyle set to Single. Provides a container for other views.

Wizard

Provides navigation and a user interface (UI) to collect related data across multiple steps. Each step ( WizardStep) can host arbitrary Views, much like a Dialog. Each step also has a pane for help text. Along the bottom of the Wizard view are customizable buttons enabling the user to navigate forward and backward through the Wizard.

WizardButtonEventArgs

EventArgs for WizardStep transition events.

WizardStep

Represents a basic step that is displayed in a Wizard. The WizardStep view is divided horizontally in two. On the left is the content view where Views can be added, On the right is the help for the step. Set HelpText to set the help text. If the help text is empty the help pane will not be shown. If there are no Views added to the WizardStep the HelpText (if not empty) will fill the wizard step.

Structs

Attribute

Attributes represent how text is styled when displayed in the terminal.

Cell

Represents a single row/column in a Terminal.Gui rendering surface (e.g. LineCanvas and ConsoleDriver).

CellEventArgs

Args for events that relate to a specific Cell.

Color

Represents a 24-bit color encoded in ARGB32 format.

CommandContext

Provides context for a Command that is being invoked.

KeyBinding

Provides a collection of Command objects that are scoped to KeyBindingScope.

Thickness

Describes the thickness of a frame around a rectangle. Four int values describe the Left, Top, Right, and Bottom sides of the rectangle, respectively.

Interfaces

IAllowedType

Interface for FileDialog restrictions on which file type(s) the user is allowed to select/enter.

IAnnotation

Describes an overlay element that is rendered either before or after a series.

Annotations can be positioned either in screen space (e.g. a legend) or in graph space (e.g. a line showing high point)

Unlike ISeries, annotations are allowed to draw into graph margins

IAutocomplete

Renders an overlay on another view at a given point that allows selecting from a range of 'autocomplete' options.

IClipboard

Definition to interact with the OS clipboard.

IColorDistance

Interface for algorithms that compute the relative distance between pairs of colors. This is used for color matching to a limited palette, such as in Sixel rendering.

IColorNameResolver

When implemented by a class, allows mapping Color to human understandable name (e.g. w3c color names) and vice versa.

ICustomColorFormatter

An interface to support custom formatting and parsing of Color values.

IDesignable

Interface declaring common functionality useful for designer implementations.

IEnumerableTableSource<T>

Interface for all ITableSource which present an object per row (of type T ).

IFileOperations

Interface for defining how to handle file/directory deletion, rename and newing attempts in FileDialog.

IFill

Describes an area fill (e.g. solid color or gradient).

IListDataSource

Implement IListDataSource to provide custom rendering for a ListView.

IOrientation

Implement this interface to provide orientation support.

IPaletteBuilder

Builds a palette of a given size for a given set of input colors.

ISearchMatcher

Defines whether a given file/directory matches a set of search terms.

ISeries

Describes a series of data that can be rendered into a GraphView>

ISixelSupportDetector

Interface for detecting sixel support. Either through ansi requests to terminal or config file etc.

ISuggestionGenerator

Generates autocomplete Suggestion based on a given cursor location within a string

ITableSource

Tabular matrix of data to be displayed in a TableView.

ITreeBuilder<T>

Interface for supplying data to a TreeView<T> on demand as root level nodes are expanded by the user

ITreeNode

Interface to implement when you want the regular (non-generic) TreeView to automatically determine children for your class (without having to specify an ITreeBuilder<T>)

ITreeView

Interface for all non-generic members of TreeView<T>. See TreeView Deep Dive for more information.

ITreeViewFilter<T>

Provides filtering for a TreeView.

Enums

AddOrSubtract

Describes whether an operation should add or subtract values.

Alignment

Determines the position of items when arranged in a container.

AlignmentModes

Determines alignment modes for Alignment.

AnsiColorCode

The 16 foreground color codes used by ANSI Esc sequences for 256 color terminals. Add 10 to these values for background color.

BorderSettings

Determines the settings for Border.

CheckState

Represents the state of a CheckBox.

ColorModel

Describes away of modelling color e.g. Hue Saturation Lightness.

ColorName16

Defines the 16 legacy color names and values that can be used to set the foreground and background colors in Terminal.Gui apps. Used with Color.

Command

Actions which can be performed by a View. Commands are typically invoked via KeyBindings and mouse events.

ConfigurationManager.ConfigLocations

Describes the location of the configuration files. The constants can be combined (bitwise) to specify multiple locations.

CursorVisibility

Terminal Cursor Visibility settings.

DimAutoStyle

Specifies how Auto(DimAutoStyle, Dim?, Dim?) will compute the dimension.

DimPercentMode

Indicates the mode for a DimPercent object.

Dimension

Indicates the dimension for Dim operations.

EscSeqUtils.ClearScreenOptions

Options for ANSI ESC "[xJ" - Clears part of the screen.

EscSeqUtils.DECSCUSR_Style

Styles for ANSI ESC "[x q" - Set Cursor Style

GradientDirection

Describes the pattern that a Gradient results in e.g. Vertical, Horizontal etc

HighlightStyle

Describes the highlight style of a view when the mouse is over it.

KeyBindingScope

Defines the scope of a Command that has been bound to a key with Add(Key, params Command[]).

KeyCode

The KeyCode enumeration encodes key information from ConsoleDrivers and provides a consistent way for application code to specify keys and receive key events.

The Key class provides a higher-level abstraction, with helper methods and properties for common operations. For example, IsAlt and IsCtrl provide a convenient way to check whether the Alt or Ctrl modifier keys were pressed when a key was pressed.

LineStyle

Defines the style of lines for a LineCanvas.

MenuItemCheckStyle

Specifies how a MenuItem shows selection state.

MouseFlags

Mouse flags reported in MouseEventArgs.

NavigationDirection

Indicates navigation direction.

OpenMode

Determine which System.IO type to open.

Orientation

Direction of an element (horizontal or vertical)

ProgressBarFormat

Specifies the format that a ProgressBar uses to indicate the visual presentation.

ProgressBarStyle

Specifies the style that a ProgressBar uses to indicate the progress of an operation.

ShadowStyle

Defines the style of shadow to be drawn on the right and bottom sides of the View.

Side

Indicates the side for Pos operations.

SliderType

Slider<T> Types

TabBehavior

Describes how TabStop behaves. A TabStop is a stop-point for keyboard navigation between Views.

TextDirection

Text direction enumeration, controls how text is displayed.

ViewArrangement

Describes what user actions are enabled for arranging a View within it's SuperView . See Arrangement.

ViewDiagnosticFlags

Enables diagnostic functions for View.

ViewportSettings

Settings for how the Viewport behaves relative to the View's Content area.

Delegates

AspectGetterDelegate<T>

Delegates of this type are used to fetch string representations of user's model objects

CellColorGetterDelegate

Delegate for providing color to TableView cells based on the value being rendered

LabelGetterDelegate

Delegate for custom formatting of axis labels. Determines what should be displayed at a given label

RowColorGetterDelegate

Delegate for providing color for a whole row of a TableView

SplitterEventHandler

Represents a method that will handle splitter events.

View.CommandImplementation

Function signature commands.