Tig 84f977937b Adds transparent shadow test (#4487)
* Add tests for overlapped view transparent shadow config

* Add test for transparent shadow showing background text

Added a unit test to verify that overlapped views with transparent shadows allow background text to show through the shadow area. The test checks both right and bottom shadow regions and asserts that the underlying content is visible, ensuring correct rendering behavior.

* Add test for transparent shadow in overlapped views

Adds Overlapped_View_With_TransparentShadow_Driver_Output_Shows_Background_Text to verify that background text is visible through transparent shadows in overlapped views. The test checks for correct rendering, ANSI color codes, and ensures the shadow area displays the expected background character.

* Refactor transparent shadow test for stricter output check

Update Overlapped_View_With_TransparentShadow_Driver_Output_Shows_Background_Text to use a smaller screen, dynamic sizing, and new overlapped view text. Replace loose output assertion with strict ANSI output comparison. Make shadow cell coordinate calculation dynamic based on view frame.

* Consolidate transparent shadow tests into ShadowStyleTests

Moved the transparent shadow driver output test from OverlappedViewTransparentShadowTests to ShadowStyleTests for better organization. Removed the now-redundant OverlappedViewTransparentShadowTests class and updated ShadowStyleTests to support output logging. All transparent shadow rendering tests are now grouped under ShadowStyleTests.
2025-12-12 18:24:34 -07:00
2025-06-12 12:16:54 -06:00
2025-05-31 19:25:30 -06:00
2025-12-01 13:33:13 -07:00
2025-05-31 19:25:30 -06:00

Version codecov Downloads License Bugs

Terminal.Gui v2

Cross-platform UI toolkit for building sophisticated terminal UI (TUI) applications on Windows, macOS, and Linux/Unix.

logo

  • v2 Alpha (Current): NuGet Version - Recommended for new projects
  • v1 (Legacy): Version - Maintenance mode only

Important:

  • v1 is in maintenance mode - only critical bug fixes accepted
  • v2 Alpha is recommended for new projects - API is stable with comprehensive features
  • Breaking changes possible before Beta, but core architecture is solid

Sample app

Quick Start

Install the Terminal.Gui.Templates, create a new TUI app, and run it:

dotnet new --install Terminal.Gui.templates
dotnet new tui -n myproj
cd myproj
dotnet run

Press Esc to exit (the default QuitKey).

Run the comprehensive UI Catalog demo to explore all controls:

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

Simple Example

using Terminal.Gui;

using IApplication app = Application.Create ();
app.Init ();

using Window window = new () { Title = "Hello World (Esc to quit)" };
Label label = new ()
{
    Text = "Hello, Terminal.Gui v2!",
    X = Pos.Center (),
    Y = Pos.Center ()
};
window.Add (label);

app.Run (window);

See the Examples directory for more.

Build Powerful Terminal Applications

Terminal.Gui enables building sophisticated console applications with modern UIs:

  • Rich Forms and Dialogs - Text fields, buttons, checkboxes, radio buttons, and data validation
  • Interactive Data Views - Tables, lists, and trees with sorting, filtering, and in-place editing
  • Visualizations - Charts, graphs, progress indicators, and color pickers with TrueColor support
  • Text Editors - Full-featured text editing with clipboard, undo/redo, and Unicode support
  • File Management - File and directory browsers with search and filtering
  • Wizards and Multi-Step Processes - Guided workflows with navigation and validation
  • System Monitoring Tools - Real-time dashboards with scrollable, resizable views
  • Configuration UIs - Settings editors with persistent themes and user preferences
  • Cross-Platform CLI Tools - Consistent experience on Windows, macOS, and Linux
  • Server Management Interfaces - SSH-compatible UIs for remote administration

See the Views Overview for available controls and What's New in v2 for architectural improvements.

Documentation

Comprehensive documentation is at gui-cs.github.io/Terminal.Gui.

Getting Started

Migration & Deep Dives

See the documentation index for all topics.

Installing

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

v2 Develop (Latest)

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

v1 Legacy

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

Or use the Terminal.Gui.Templates.

Contributing

Contributions welcome! See CONTRIBUTING.md.

History

See gui-cs for project history and origins.

Languages
C# 99.4%
PowerShell 0.6%