mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-27 00:07:58 +01:00
0484fc8bf971ccd7d78d3a7aeeb3183356a7f8fa
* Fixes #3054. VkeyPacketSimulator scenario is broken. * Fix some key handle and unit tests. * Remove unnecessary conditional. * Improves key handling. * Also allow map capslock to shift with accented characters. * Change to MemberData. * Remove unnecessary using. * Fix merge errors. * Fixes #3095. WindowsDriver should return the mask keys to IsShift, IsAlt and IsCtrl return the right value. * Modifiers keys are valid to be handled on key down and key up. * Map KeyCode.Enter to ConsoleKey.Enter and vice versa. * Updated ScanCodeMapping table with readable constants * Documented bugs * Implemented mapping using MapVirtualKeyEx * Implemented mapping using MapVirtualKeyEx * Changed KeyCode special keys to match ConsoleKey values + max unicode codepoint * Fixed bogus CollectionNavigator impl and tests * Nuked DeleteChar. renamed InsertChar to Insert * KeyCode.Enter = ConsoleKey.Enter, not \n * Code cleanup * Added diag for keyboard layout name * Fixed AltGr support (hopefully) * Simplified code * Simplified KeyCode by removing ShiftKeys * Fixed TextView * Code cleanup * Fixes cursesdriver (somewhat) * Code cleanup * netdriver wip * Fixed netdriver under WSL * Turned off debug spew * Removed old code --------- Co-authored-by: Tig Kindel <tig@users.noreply.github.com> Co-authored-by: Tig Kindel <tig@kindel.com>
Forces the height of the TextField to 1 which is just the valid height instead of driver rows value. (#400)
The current, stable, release of Terminal.Gui is v1.x. It is stable, rich, and broadly used. The team is now focused on designing and building a significant upgrade we're referring to as v2. Therefore:
v1is now in maintenance mode, meaning we will accept PRs for v1.x (thedevelopbranch) only for issues impacting existing functionality.- All new development happens on the
v2_developbranch. See the V2 discussion here. - Developers are encouraged to continue building on v1.x until we announce
v2is stable.
Terminal.Gui: A toolkit for building rich console apps for .NET, .NET Core, and Mono that works on 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
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 UICatalogto run the UI Catalog. - C# Example - Run
dotnet runin theExampledirectory 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.ReactiveandReactiveUIwithTerminal.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 ReactiveUIWhenAnyValuesyntax and Pharmacist — a tool that converts all events in a NuGet package into observable wrappers. - PowerShell's
Out-ConsoleGridView-OCGVsends 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%

