No Description

copilot-swe-agent[bot] e8b40dc9b7 Move fix logic into UICatalog methods that tests can call 3 weeks ago
.devcontainer 651ee21ba5 Fixes #2323. The devcontainer.json settings isn't work with the current develop branch. 2 years ago
.github d53fcd7485 Fixes #4374 - Nukes all (?) legacy Driver and Application stuff; revamps tests (#4376) 1 month ago
Examples e8b40dc9b7 Move fix logic into UICatalog methods that tests can call 3 weeks ago
Scripts d53fcd7485 Fixes #4374 - Nukes all (?) legacy Driver and Application stuff; revamps tests (#4376) 1 month ago
Terminal.Gui fc818b0274 Fixes #4382. StringExtensions.GetColumns method should only return the total text width and not the sum of all runes width (#4383) 1 month ago
Terminal.Gui.Analyzers 3a645191db Fixes #4170 - Added analyzer that flags when user does not have `Handled=true` (#4182) 5 months ago
Terminal.Gui.Analyzers.Tests d53fcd7485 Fixes #4374 - Nukes all (?) legacy Driver and Application stuff; revamps tests (#4376) 1 month ago
Tests e8b40dc9b7 Move fix logic into UICatalog methods that tests can call 3 weeks ago
docfx be9d1939c1 Fixes #4372 - Genericize `FlagSelector`/`OptionSelector`, Replace `RadioGroup` (#4373) 1 month ago
local_packages f3fc20306e Remove TextField.Caption property; use Title with hotkey navigation support (#4352) 1 month ago
.cursorrules aef88ad4bb Fixes #4332 - Refactor test infrastructure to use modern ApplicationImpl.Coordinator instead of legacy MainLoop (#4335) 1 month ago
.dockerignore 8ab759b30f Fixes #415 v2. Colors: OpenSUSE - The native method "COLOR_PAIRS" does not exist 2 years ago
.editorconfig e6a0ec64ca Fixes #4361 - Consolidate `FakeDriver` into library and refactor driver architecture (#4362) 1 month ago
.filenesting.json 76d48f1fe8 Add solution default file nesting rules 1 year ago
.gitattributes 98f70b2632 Adds `ViewportSettings.Transparent` (#3886) 9 months ago
.gitignore d53fcd7485 Fixes #4374 - Nukes all (?) legacy Driver and Application stuff; revamps tests (#4376) 1 month ago
.vsconfig 1a68656d66 Add .vsconfig 1 year ago
AGENTS.md aef88ad4bb Fixes #4332 - Refactor test infrastructure to use modern ApplicationImpl.Coordinator instead of legacy MainLoop (#4335) 1 month ago
CODE_OF_CONDUCT.md 6144c9da66 added contribution guidelines, project layout docs, etc... 5 years ago
CONTRIBUTING.md d53fcd7485 Fixes #4374 - Nukes all (?) legacy Driver and Application stuff; revamps tests (#4376) 1 month ago
Directory.Build.props b0f32811eb Fixes #3930 - Splits tests to `Tests/UnitTests`, `Tests/IntegrationTests`, `Tests/StressTests` (#3954) 9 months ago
Directory.Packages.props b83bcc2fdb Fixes #4259. Our wcwidth library is out of date (#4281) 1 month ago
GitVersion.yml f4d4a25704 pre-alpha -> alpha (#4158) 6 months ago
LICENSE 38af4cfcb8 Add 8 years ago
NoSamples.slnf ba4503a2b0 Fixed release builds 4 6 months ago
README.md be9d1939c1 Fixes #4372 - Genericize `FlagSelector`/`OptionSelector`, Replace `RadioGroup` (#4373) 1 month ago
Release.slnf ba4503a2b0 Fixed release builds 4 6 months ago
Terminal.sln be9d1939c1 Fixes #4372 - Genericize `FlagSelector`/`OptionSelector`, Replace `RadioGroup` (#4373) 1 month ago
Terminal.sln.DotSettings d53fcd7485 Fixes #4374 - Nukes all (?) legacy Driver and Application stuff; revamps tests (#4376) 1 month ago
Terminal.sln.ToDo.DotSettings afa7da3ae5 Fixes #4078 - Implement automatic URL detection with OSC 8 hyperlinks at driver level (#4340) 1 month ago
codecov.yml 47d6cd0153 fixed codecov.yml 1 month ago
global.json dcb3b359ad Fixes #2926 - Refactor KeyEvent and KeyEventEventArgs to simplify (#2927) 2 years ago
nuget.config 8fef16d35f Fixes #4116. NativeAot and SelfContained projects aren't working well in release mode (#4117) 6 months ago
pull_request_template.md b84862d0bd Fixes #3172. `Application.ResetState` wasn't resetting all it should (#3173) 1 year ago
testenvironments.json 8ea6b105fc Fixes #2923. Ensures only clear Instances if they really was disposed. (#2924) 2 years ago

README.md

Version codecov Downloads License Bugs

Terminal.Gui v2

The premier toolkit for building rich console apps for Windows, the Mac, and Linux/Unix.

logo

  • The current, stable, release of Terminal.Gui v1 is Version.

:warning: Note:
v1 is in maintenance mode and we will only accept PRs for issues impacting existing functionality.

  • The current Alpha release of Terminal.Gui v2 is NuGet Version

:warning: Note:
Developers starting new TUI projects are encouraged to target v2 Alpha. The API is significantly changed, and significantly improved. There will be breaking changes in the API before Beta, but the core API is stable.

Sample app

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

To run the UICatalog demo app that shows all the controls and features of the toolkit, use the following command:

dotnet run --project Examples/UICatalog/UICatalog.csproj

There is also a visual designer (uses Terminal.Gui itself).

Documentation

The full developer documentation for Terminal.Gui is available at gui-cs.github.io/Terminal.Gui.

Getting Started

API Reference

For detailed API documentation, see the API Reference.

Installing

Use NuGet to install the Terminal.Gui NuGet package:

v2 Alpha

(Infrequently updated, but stable enough for production use)

dotnet add package Terminal.Gui --version "2.0.0-alpha.*"

v2 Develop

(Frequently updated, but may have breaking changes)

dotnet add package Terminal.Gui --version "2.0.0-develop.*"

Legacy v1

dotnet add package Terminal.Gui --version "1.*

Or, you can use the Terminal.Gui.Templates.

Contributing

See CONTRIBUTING.md for complete contribution guidelines.

Debates on architecture and design can be found in Issues tagged with design.

History

See gui-cs for how this project came to be.