Tig 3e598e7ee0 Merge pull request #3613 from BDisp/v2_3350_scenario-refactoring
Fixes #3350. Scenario is complex, confusing, and causes errors.
2024-07-14 06:42:20 -06:00
2024-06-24 08:24:45 -07:00
2024-07-11 14:12:23 +01:00
2024-07-11 15:39:26 +01:00
2024-07-09 11:31:59 -06:00
2024-06-25 05:53:19 -07:00
2024-07-11 16:04:31 -06:00
2024-07-07 14:25:08 -06:00
Add
2018-01-05 22:11:08 -05:00
2023-06-07 10:31:35 -06:00
2024-07-11 11:20:22 +01:00

Terminal.Gui .NET Core Version Code Coverage Downloads License Bugs

  • The current, stable, release of Terminal.Gui v1 is Version.
  • The current prealpha release of Terminal.Gui v2 can be found on Nuget.
  • Developers starting new TUI projects are encouraged to target v2. The API is signifcantly changed, and significantly improved. There will be breaking changes in the API before Beta, but the core API is stable.
  • v1 is in maintenance mode and we will only accept PRs for issues impacting existing functionality.

Terminal.Gui: A toolkit for building rich console apps for .NET, .NET Core, and Mono that works on Windows, the Mac, and Linux/Unix.

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

Documentation

Showcase & Examples

  • UI Catalog - The UI Catalog project provides an easy to use and extend sample illustrating the capabilities of Terminal.Gui. Run dotnet run --project UICatalog to run the UI Catalog.
  • C# Example - Run dotnet run in the Example directory to run the C# Example.
  • F# Example - An example showing how to build a Terminal.Gui app using F#.
  • Reactive Example - A sample app that shows how to use System.Reactive and ReactiveUI with Terminal.Gui. The app uses the MVVM architecture that may seem familiar to folks coming from WPF, Xamarin Forms, UWP, Avalonia, or Windows Forms. In this app, we implement the data bindings using ReactiveUI WhenAnyValue syntax and Pharmacist — a tool that converts all events in a NuGet package into observable wrappers.
  • CommunityToolkit Example - A example of using the CommunityToolkit.MVVM framework's ObservableObject, ObservableProperty, and IRecipient<T> in conjunction with Microsoft.Extensions.DependencyInjection.
  • C# SelfContained - An example showing how to publish a Terminal.Gui app using C# self-contained single file.
  • PowerShell's Out-ConsoleGridView - OCGV sends the output from a command to an interactive table.
  • F7History - Graphical Command History for PowerShell (built on PowerShell's Out-ConsoleGridView).
  • PoshRedisViewer - A compact Redis viewer module for PowerShell written in F#.
  • PoshDotnetDumpAnalyzeViewer - dotnet-dump UI module for PowerShell.
  • TerminalGuiDesigner - Cross platform view designer for building Terminal.Gui applications.

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.

Languages
C# 99.4%
PowerShell 0.6%