Terminal.Gui Examples

June 23, 2026 · View on GitHub

Community examples and standalone demos for Terminal.Gui — the cross-platform .NET console UI toolkit.

Note: These examples are companion projects to the main Terminal.Gui repository. For the UICatalog demo app and ScenarioRunner, see tui-cs/Terminal.Gui/Examples.

Prerequisites

  • .NET 10 SDK (or later)
  • For F# examples: F# support is included in the .NET SDK

Building

dotnet restore
dotnet build

Or build a specific example:

cd Example
dotnet run

Building Against Local Terminal.Gui Source

To build the examples against a local clone of Terminal.Gui (instead of the NuGet package), pass the TerminalGuiRoot property pointing to your Terminal.Gui repository root:

dotnet build -p:TerminalGuiRoot=../Terminal.Gui
dotnet run --project Example -p:TerminalGuiRoot=../Terminal.Gui

This replaces the NuGet PackageReference with a ProjectReference, so any breaking changes in Terminal.Gui are caught immediately during development.

Examples

ProjectDescription
ExampleMinimal Terminal.Gui app — good starting point
CommunityToolkitExampleMVVM with CommunityToolkit.Mvvm
ReactiveExampleReactiveUI integration
FluentExampleFluent API usage
FSharpExampleTerminal.Gui from F#
InlineCLIInline CLI rendering
InlineColorPickerInline color picker demo
InlineSelectInline selection demo
PromptExamplePrompt/dialog usage
SelfContainedAOT/self-contained publishing
ShortcutTestShortcut/keybinding testing
WideCharReproWide character rendering

Non-.NET Examples

FileDescription
DatePicker.ps1PowerShell DatePicker example
PowershellExample.ps1PowerShell Terminal.Gui example

Configuration Examples

FileDescription
Config/example_config.jsonExample configuration file
Config/macos.jsonmacOS-specific config
Config/windows.jsonWindows-specific config
Themes/code-dark.config.jsonDark theme configuration

Contributing

  1. Follow Terminal.Gui coding conventions
  2. Examples reference Terminal.Gui via NuGet by default; use TerminalGuiRoot for local development
  3. Each example should have its own project directory with a descriptive name
  4. Include a README.md in each example explaining what it demonstrates

License

MIT