* Add W3C color enum with the RGB as numeric value * Add transform helper class for W3cColor enum For the sake of backwards compatibility prioritize parsing 16 color mode color names over the W3C colors because the previous resource-based color names/values had a mix of W3C and 16 color mode RGB values. Mechanism for choosing/prioritizing one color scheme over the other is currently only available at higher application/driver/output level. * IColorNameResolver enable null analysis * Remove obsolete color name related ResourceManagerTests * Replace remains of W3CColors with direct W3C color name resolver Temporarily breaks backwards compatibility and tests even further. * Add ANSI 4-bit (ColorName16) color name resolver * Add multi-standard color name resolver Combined resolver for both ANSI 4-bit (ColorName16) and W3C colors while trying to maintain backwards compatibility for ColorPicker. * Split conditional name resolver test cases * Change W3C colors tests to be similar to name resolvers * Change W3cColorsTests to W3cColorNameResolverTests More consistent when all the tests refer to the color name resolver layer. * Make W3cColors internal Color name resolver is the public interface. * W3cColors: Use Color.Argb instead of individual RGB components * MultiStandardColorNameResolver: Substitute instead of blocking alternative W3C names Changes color picker behavior a bit, e.g. Aqua will match to Cyan instead of jumping to Aquamarine. * Remove leftover color string resources * Consistent position for IColorNameResolver #nullable enable directive * Add missing XML comments to ColorScheme.Colors.cs
- The current, stable, release of Terminal.Gui v1 is
.
- The current
prealpharelease of Terminal.Gui v2 can be found on Nuget. - Developers starting new TUI projects are encouraged to target
v2. The API is significantly changed, and significantly improved. There will be breaking changes in the API before Beta, but the core API is stable. v1is in maintenance mode and we will only accept PRs for issues impacting existing functionality.
Terminal.Gui: A toolkit for building rich console apps for Windows, the Mac, and Linux/Unix.
Quick Start
Paste these commands into your favorite terminal on Windows, Mac, or Linux. This will install the Terminal.Gui.Templates, create a new "Hello World" TUI app, and run it.
(Press CTRL-Q to exit the app)
dotnet new --install Terminal.Gui.templates
dotnet new tui -n myproj
cd myproj
dotnet run
There is also a visual designer (uses Terminal.Gui itself).
Documentation
The above documentation matches the most recent Nuget release from the v2_develop branch. Get the v1 documentation here.
See the Terminal.Gui/README for an overview of how the library is structured.
Showcase & Examples
Terminal.Gui can be used with any .Net language to create feature rich and robust applications.
Showcase is a place where you can find all kind of projects from simple examples to advanced real world apps that fully utilize capabilities of the toolkit.
The team is looking forward to seeing new amazing projects made by the community to be added there!
Sample Usage in C#
The following example shows a basic Terminal.Gui application in C#:
Example (source)
When run the application looks as follows:
Sample usage in F#
F# examples are located here
Installing
Use NuGet to install the Terminal.Gui NuGet package: https://www.nuget.org/packages/Terminal.Gui
Installation in .NET Core Projects
To install Terminal.Gui into a .NET Core project, use the dotnet CLI tool with this command.
dotnet add package Terminal.Gui
Or, you can use the Terminal.Gui.Templates.
Contributing
See CONTRIBUTING.md.
Debates on architecture and design can be found in Issues tagged with design.
History
See gui-cs for how this project came to be.


