diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4e3d976..571236b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -19,6 +19,10 @@ jobs:
env:
DisableRealDriverIO: "1"
+ # Splat.Core's author signing cert was revoked, which fails `dotnet restore`
+ # with NU3012 under online revocation checks. Offline mode skips the online
+ # OCSP/CRL lookup so restore succeeds. Unrelated to the gui-cs→tui-cs rename.
+ NUGET_CERT_REVOCATION_MODE: offline
steps:
- uses: actions/checkout@v4
diff --git a/AGENTS.md b/AGENTS.md
index e49e748..bdb6311 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,12 +1,12 @@
# Terminal.Gui Examples — AI Agent Instructions
-Community examples for [Terminal.Gui](https://github.com/gui-cs/Terminal.Gui).
+Community examples for [Terminal.Gui](https://github.com/tui-cs/Terminal.Gui).
## CRITICAL: Discard v1 Training Data
Terminal.Gui v2 is a **complete rewrite**. Pre-2025 training data is **wrong**.
-> Read the [ai-v2-primer](https://github.com/gui-cs/Terminal.Gui/blob/develop/ai-v2-primer.md) FIRST.
+> Read the [ai-v2-primer](https://github.com/tui-cs/Terminal.Gui/blob/develop/ai-v2-primer.md) FIRST.
### v1 → v2 Quick Corrections
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3ef3254..bc91c94 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,7 +6,7 @@ Thank you for your interest in contributing examples!
1. **One example per directory** — each example should be self-contained
2. **Use NuGet references** — reference Terminal.Gui via ``, not ProjectReference
-3. **Follow coding conventions** — see the `.editorconfig` and [Terminal.Gui CONTRIBUTING.md](https://github.com/gui-cs/Terminal.Gui/blob/develop/CONTRIBUTING.md)
+3. **Follow coding conventions** — see the `.editorconfig` and [Terminal.Gui CONTRIBUTING.md](https://github.com/tui-cs/Terminal.Gui/blob/develop/CONTRIBUTING.md)
4. **Include a README** — explain what the example demonstrates and how to run it
5. **Keep it focused** — each example should demonstrate one concept or integration pattern
6. **Ensure it builds** — run `dotnet build` before submitting
diff --git a/Config/example_config.json b/Config/example_config.json
index 5e553b0..dc8710d 100644
--- a/Config/example_config.json
+++ b/Config/example_config.json
@@ -1 +1 @@
-{ "$schema": "https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", "ConfigurationManager.ThrowOnJsonErrors": false, "Application.DefaultKeyBindings": { "Quit": { "All": ["Esc"] }, "Suspend": { "Linux": ["Ctrl+Z"], "Macos": ["Ctrl+Z"] }, "Arrange": { "All": ["Ctrl+F5"] }, "NextTabStop": { "All": ["Tab"] }, "PreviousTabStop": { "All": ["Shift+Tab"] }, "NextTabGroup": { "All": ["F6"] }, "PreviousTabGroup": { "All": ["Shift+F6"] }, "Refresh": { "All": ["F5"] } }, "Driver.Force16Colors": false, "Application.ForceDriver": "", "Application.IsMouseDisabled": false, "Key.Separator": "+", "MenuBar.DefaultKey": "F10", "PopoverMenu.DefaultKey": "Shift+F10", "FileDialog.MaxSearchResults": 10000, "FileDialogStyle.DefaultUseColors": false, "FileDialogStyle.DefaultUseUnicodeCharacters": false, "Theme": "Gruntled", "Themes": [ { "Gruntled": { "Glyphs": { "CheckStateChecked": "Γ£ô" }, "Schemes": [ { "TopLevel": { "Normal": { "Foreground": "OrangeRed", "Background": "AntiqueWhite" }, "Focus": { "Foreground": "White", "Background": "Maroon" }, "HotNormal": { "Foreground": "DarkRed", "Background": "AntiqueWhite" }, "HotFocus": { "Foreground": "Yellow", "Background": "Maroon" }, "Disabled": { "Foreground": "LightPink", "Background": "AntiqueWhite" } } }, { "Base": { "Normal": { "Foreground": "White", "Background": "OrangeRed" }, "Focus": { "Foreground": "FireBrick", "Background": "AntiqueWhite" }, "HotNormal": { "Foreground": "Gold", "Background": "OrangeRed" }, "HotFocus": { "Foreground": "FireBrick", "Background": "AntiqueWhite" }, "Disabled": { "Foreground": "LightPink", "Background": "OrangeRed" } } }, { "Dialog": { "Normal": { "Foreground": "FireBrick", "Background": "GhostWhite" }, "Focus": { "Foreground": "DarkGray", "Background": "LightGray" }, "HotNormal": { "Foreground": "FireBrick", "Background": "GhostWhite" }, "HotFocus": { "Foreground": "FireBrick", "Background": "GhostWhite" }, "Disabled": { "Foreground": "Gray", "Background": "DarkGray" } } }, { "Menu": { "Normal": { "Foreground": "White", "Background": "FireBrick" }, "Focus": { "Foreground": "White", "Background": "DarkRed" }, "HotNormal": { "Foreground": "Yellow", "Background": "FireBrick" }, "HotFocus": { "Foreground": "Yellow", "Background": "DarkRed" }, "Disabled": { "Foreground": "Gray", "Background": "DarkGray" } } }, { "Error": { "Normal": { "Foreground": "Yellow", "Background": "DarkRed" }, "Focus": { "Foreground": "DarkSalmon", "Background": "Brown" }, "HotNormal": { "Foreground": "Black", "Background": "DarkRed" }, "HotFocus": { "Foreground": "FireBrick", "Background": "Brown" }, "Disabled": { "Foreground": "DarkGray", "Background": "DarkRed" } } } ] } } ]}
\ No newline at end of file
+{ "$schema": "https://tui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", "ConfigurationManager.ThrowOnJsonErrors": false, "Application.DefaultKeyBindings": { "Quit": { "All": ["Esc"] }, "Suspend": { "Linux": ["Ctrl+Z"], "Macos": ["Ctrl+Z"] }, "Arrange": { "All": ["Ctrl+F5"] }, "NextTabStop": { "All": ["Tab"] }, "PreviousTabStop": { "All": ["Shift+Tab"] }, "NextTabGroup": { "All": ["F6"] }, "PreviousTabGroup": { "All": ["Shift+F6"] }, "Refresh": { "All": ["F5"] } }, "Driver.Force16Colors": false, "Application.ForceDriver": "", "Application.IsMouseDisabled": false, "Key.Separator": "+", "MenuBar.DefaultKey": "F10", "PopoverMenu.DefaultKey": "Shift+F10", "FileDialog.MaxSearchResults": 10000, "FileDialogStyle.DefaultUseColors": false, "FileDialogStyle.DefaultUseUnicodeCharacters": false, "Theme": "Gruntled", "Themes": [ { "Gruntled": { "Glyphs": { "CheckStateChecked": "Γ£ô" }, "Schemes": [ { "TopLevel": { "Normal": { "Foreground": "OrangeRed", "Background": "AntiqueWhite" }, "Focus": { "Foreground": "White", "Background": "Maroon" }, "HotNormal": { "Foreground": "DarkRed", "Background": "AntiqueWhite" }, "HotFocus": { "Foreground": "Yellow", "Background": "Maroon" }, "Disabled": { "Foreground": "LightPink", "Background": "AntiqueWhite" } } }, { "Base": { "Normal": { "Foreground": "White", "Background": "OrangeRed" }, "Focus": { "Foreground": "FireBrick", "Background": "AntiqueWhite" }, "HotNormal": { "Foreground": "Gold", "Background": "OrangeRed" }, "HotFocus": { "Foreground": "FireBrick", "Background": "AntiqueWhite" }, "Disabled": { "Foreground": "LightPink", "Background": "OrangeRed" } } }, { "Dialog": { "Normal": { "Foreground": "FireBrick", "Background": "GhostWhite" }, "Focus": { "Foreground": "DarkGray", "Background": "LightGray" }, "HotNormal": { "Foreground": "FireBrick", "Background": "GhostWhite" }, "HotFocus": { "Foreground": "FireBrick", "Background": "GhostWhite" }, "Disabled": { "Foreground": "Gray", "Background": "DarkGray" } } }, { "Menu": { "Normal": { "Foreground": "White", "Background": "FireBrick" }, "Focus": { "Foreground": "White", "Background": "DarkRed" }, "HotNormal": { "Foreground": "Yellow", "Background": "FireBrick" }, "HotFocus": { "Foreground": "Yellow", "Background": "DarkRed" }, "Disabled": { "Foreground": "Gray", "Background": "DarkGray" } } }, { "Error": { "Normal": { "Foreground": "Yellow", "Background": "DarkRed" }, "Focus": { "Foreground": "DarkSalmon", "Background": "Brown" }, "HotNormal": { "Foreground": "Black", "Background": "DarkRed" }, "HotFocus": { "Foreground": "FireBrick", "Background": "Brown" }, "Disabled": { "Foreground": "DarkGray", "Background": "DarkRed" } } } ] } } ]}
\ No newline at end of file
diff --git a/Config/macos.json b/Config/macos.json
index c27bab9..e26deb9 100644
--- a/Config/macos.json
+++ b/Config/macos.json
@@ -1 +1 @@
-{ "$schema": "https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", "Application.DefaultKeyBindings": { "Quit": { "All": ["Esc", "Ctrl+Q"] }, "Suspend": { "All": ["Ctrl+Z"] }, "Arrange": { "All": ["Ctrl+F5"] }, "NextTabStop": { "All": ["Tab"] }, "PreviousTabStop": { "All": ["Shift+Tab"] }, "NextTabGroup": { "All": ["F6"] }, "PreviousTabGroup":{ "All": ["Shift+F6"] }, "Refresh": { "All": ["F5"] } }, "View.DefaultKeyBindings": { "Left": { "All": ["CursorLeft"] }, "Right": { "All": ["CursorRight"] }, "Up": { "All": ["CursorUp"] }, "Down": { "All": ["CursorDown"] }, "PageUp": { "All": ["PageUp"] }, "PageDown": { "All": ["PageDown"] }, "LeftStart": { "All": ["Home"] }, "RightEnd": { "All": ["End"] }, "Start": { "All": ["Ctrl+Home"] }, "End": { "All": ["Ctrl+End"] }, "LeftExtend": { "All": ["Shift+CursorLeft"] }, "RightExtend": { "All": ["Shift+CursorRight"] }, "UpExtend": { "All": ["Shift+CursorUp"] }, "DownExtend": { "All": ["Shift+CursorDown"] }, "PageUpExtend": { "All": ["Shift+PageUp"] }, "PageDownExtend": { "All": ["Shift+PageDown"] }, "LeftStartExtend": { "All": ["Shift+Home"] }, "RightEndExtend": { "All": ["Shift+End"] }, "StartExtend": { "All": ["Ctrl+Shift+Home"] }, "EndExtend": { "All": ["Ctrl+Shift+End"] }, "Copy": { "All": ["Ctrl+C"] }, "Cut": { "All": ["Ctrl+X"] }, "Paste": { "All": ["Ctrl+V"] }, "Undo": { "All": ["Ctrl+Z", "Ctrl+/"] }, "Redo": { "All": ["Ctrl+Y", "Ctrl+Shift+Z"] }, "SelectAll": { "All": ["Ctrl+A"] }, "DeleteCharLeft": { "All": ["Backspace"] }, "DeleteCharRight": { "All": ["Delete", "Ctrl+D"] } }, "View.ViewKeyBindings": { "TextField": { "CutToEndOfLine": { "All": ["Ctrl+K"] }, "KillWordRight": { "All": ["Ctrl+W"] } } }}
\ No newline at end of file
+{ "$schema": "https://tui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", "Application.DefaultKeyBindings": { "Quit": { "All": ["Esc", "Ctrl+Q"] }, "Suspend": { "All": ["Ctrl+Z"] }, "Arrange": { "All": ["Ctrl+F5"] }, "NextTabStop": { "All": ["Tab"] }, "PreviousTabStop": { "All": ["Shift+Tab"] }, "NextTabGroup": { "All": ["F6"] }, "PreviousTabGroup":{ "All": ["Shift+F6"] }, "Refresh": { "All": ["F5"] } }, "View.DefaultKeyBindings": { "Left": { "All": ["CursorLeft"] }, "Right": { "All": ["CursorRight"] }, "Up": { "All": ["CursorUp"] }, "Down": { "All": ["CursorDown"] }, "PageUp": { "All": ["PageUp"] }, "PageDown": { "All": ["PageDown"] }, "LeftStart": { "All": ["Home"] }, "RightEnd": { "All": ["End"] }, "Start": { "All": ["Ctrl+Home"] }, "End": { "All": ["Ctrl+End"] }, "LeftExtend": { "All": ["Shift+CursorLeft"] }, "RightExtend": { "All": ["Shift+CursorRight"] }, "UpExtend": { "All": ["Shift+CursorUp"] }, "DownExtend": { "All": ["Shift+CursorDown"] }, "PageUpExtend": { "All": ["Shift+PageUp"] }, "PageDownExtend": { "All": ["Shift+PageDown"] }, "LeftStartExtend": { "All": ["Shift+Home"] }, "RightEndExtend": { "All": ["Shift+End"] }, "StartExtend": { "All": ["Ctrl+Shift+Home"] }, "EndExtend": { "All": ["Ctrl+Shift+End"] }, "Copy": { "All": ["Ctrl+C"] }, "Cut": { "All": ["Ctrl+X"] }, "Paste": { "All": ["Ctrl+V"] }, "Undo": { "All": ["Ctrl+Z", "Ctrl+/"] }, "Redo": { "All": ["Ctrl+Y", "Ctrl+Shift+Z"] }, "SelectAll": { "All": ["Ctrl+A"] }, "DeleteCharLeft": { "All": ["Backspace"] }, "DeleteCharRight": { "All": ["Delete", "Ctrl+D"] } }, "View.ViewKeyBindings": { "TextField": { "CutToEndOfLine": { "All": ["Ctrl+K"] }, "KillWordRight": { "All": ["Ctrl+W"] } } }}
\ No newline at end of file
diff --git a/Config/windows.json b/Config/windows.json
index 9d9a15b..44df4d9 100644
--- a/Config/windows.json
+++ b/Config/windows.json
@@ -1 +1 @@
-{ "$schema": "https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", "Application.DefaultKeyBindings": { "Quit": { "All": ["Esc"] }, "Arrange": { "All": ["Ctrl+F5"] }, "NextTabStop": { "All": ["Tab"] }, "PreviousTabStop": { "All": ["Shift+Tab"] }, "NextTabGroup": { "All": ["F6"] }, "PreviousTabGroup":{ "All": ["Shift+F6"] }, "Refresh": { "All": ["F5"] } }, "View.DefaultKeyBindings": { "Left": { "All": ["CursorLeft"] }, "Right": { "All": ["CursorRight"] }, "Up": { "All": ["CursorUp"] }, "Down": { "All": ["CursorDown"] }, "PageUp": { "All": ["PageUp"] }, "PageDown": { "All": ["PageDown"] }, "LeftStart": { "All": ["Home"] }, "RightEnd": { "All": ["End"] }, "Start": { "All": ["Ctrl+Home"] }, "End": { "All": ["Ctrl+End"] }, "LeftExtend": { "All": ["Shift+CursorLeft"] }, "RightExtend": { "All": ["Shift+CursorRight"] }, "UpExtend": { "All": ["Shift+CursorUp"] }, "DownExtend": { "All": ["Shift+CursorDown"] }, "PageUpExtend": { "All": ["Shift+PageUp"] }, "PageDownExtend": { "All": ["Shift+PageDown"] }, "LeftStartExtend": { "All": ["Shift+Home"] }, "RightEndExtend": { "All": ["Shift+End"] }, "StartExtend": { "All": ["Ctrl+Shift+Home"] }, "EndExtend": { "All": ["Ctrl+Shift+End"] }, "Copy": { "All": ["Ctrl+C"] }, "Cut": { "All": ["Ctrl+X"] }, "Paste": { "All": ["Ctrl+V"] }, "Undo": { "All": ["Ctrl+Z"] }, "Redo": { "All": ["Ctrl+Y"] }, "SelectAll": { "All": ["Ctrl+A"] }, "DeleteCharLeft": { "All": ["Backspace"] }, "DeleteCharRight": { "All": ["Delete"] } }, "View.ViewKeyBindings": { "TextField": { "WordLeft": { "All": ["Ctrl+CursorLeft"] }, "WordRight": { "All": ["Ctrl+CursorRight"] }, "WordLeftExtend": { "All": ["Ctrl+Shift+CursorLeft"] }, "WordRightExtend":{ "All": ["Ctrl+Shift+CursorRight"] } } }}
\ No newline at end of file
+{ "$schema": "https://tui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", "Application.DefaultKeyBindings": { "Quit": { "All": ["Esc"] }, "Arrange": { "All": ["Ctrl+F5"] }, "NextTabStop": { "All": ["Tab"] }, "PreviousTabStop": { "All": ["Shift+Tab"] }, "NextTabGroup": { "All": ["F6"] }, "PreviousTabGroup":{ "All": ["Shift+F6"] }, "Refresh": { "All": ["F5"] } }, "View.DefaultKeyBindings": { "Left": { "All": ["CursorLeft"] }, "Right": { "All": ["CursorRight"] }, "Up": { "All": ["CursorUp"] }, "Down": { "All": ["CursorDown"] }, "PageUp": { "All": ["PageUp"] }, "PageDown": { "All": ["PageDown"] }, "LeftStart": { "All": ["Home"] }, "RightEnd": { "All": ["End"] }, "Start": { "All": ["Ctrl+Home"] }, "End": { "All": ["Ctrl+End"] }, "LeftExtend": { "All": ["Shift+CursorLeft"] }, "RightExtend": { "All": ["Shift+CursorRight"] }, "UpExtend": { "All": ["Shift+CursorUp"] }, "DownExtend": { "All": ["Shift+CursorDown"] }, "PageUpExtend": { "All": ["Shift+PageUp"] }, "PageDownExtend": { "All": ["Shift+PageDown"] }, "LeftStartExtend": { "All": ["Shift+Home"] }, "RightEndExtend": { "All": ["Shift+End"] }, "StartExtend": { "All": ["Ctrl+Shift+Home"] }, "EndExtend": { "All": ["Ctrl+Shift+End"] }, "Copy": { "All": ["Ctrl+C"] }, "Cut": { "All": ["Ctrl+X"] }, "Paste": { "All": ["Ctrl+V"] }, "Undo": { "All": ["Ctrl+Z"] }, "Redo": { "All": ["Ctrl+Y"] }, "SelectAll": { "All": ["Ctrl+A"] }, "DeleteCharLeft": { "All": ["Backspace"] }, "DeleteCharRight": { "All": ["Delete"] } }, "View.ViewKeyBindings": { "TextField": { "WordLeft": { "All": ["Ctrl+CursorLeft"] }, "WordRight": { "All": ["Ctrl+CursorRight"] }, "WordLeftExtend": { "All": ["Ctrl+Shift+CursorLeft"] }, "WordRightExtend":{ "All": ["Ctrl+Shift+CursorRight"] } } }}
\ No newline at end of file
diff --git a/InlineColorPicker/Program.cs b/InlineColorPicker/Program.cs
index 99e8dc0..0aa9ff9 100644
--- a/InlineColorPicker/Program.cs
+++ b/InlineColorPicker/Program.cs
@@ -1,6 +1,6 @@
// Inline ColorPicker — demonstrates using RunnableWrapper in inline mode.
//
-// NOTE: See https://github.com/gui-cs/clet that turns every Terminal.Gui View into a CLI command
+// NOTE: See https://github.com/tui-cs/clet that turns every Terminal.Gui View into a CLI command
// NOTE: — typed inputs, a real file picker, a Markdown viewer — with consistent JSON output,
// NOTE: predictable exit codes, and full keyboard/mouse support. Works for humans and AI agents alike.
//
diff --git a/InlineSelect/Program.cs b/InlineSelect/Program.cs
index b42b269..87ede12 100644
--- a/InlineSelect/Program.cs
+++ b/InlineSelect/Program.cs
@@ -1,6 +1,6 @@
// InlineSelect — demonstrates using RunnableWrapper in inline mode.
//
-// NOTE: See https://github.com/gui-cs/clet that turns every Terminal.Gui View into a CLI command
+// NOTE: See https://github.com/tui-cs/clet that turns every Terminal.Gui View into a CLI command
// NOTE: — typed inputs, a real file picker, a Markdown viewer — with consistent JSON output,
// NOTE: predictable exit codes, and full keyboard/mouse support. Works for humans and AI agents alike.
//
diff --git a/PromptExample/Program.cs b/PromptExample/Program.cs
index 80ac76e..a76394f 100644
--- a/PromptExample/Program.cs
+++ b/PromptExample/Program.cs
@@ -1,5 +1,5 @@
// Example demonstrating the Prompt API for getting typed input from users
-// NOTE: See https://github.com/gui-cs/clet that turns every Terminal.Gui View into a CLI command
+// NOTE: See https://github.com/tui-cs/clet that turns every Terminal.Gui View into a CLI command
// NOTE: — typed inputs, a real file picker, a Markdown viewer — with consistent JSON output,
// NOTE: predictable exit codes, and full keyboard/mouse support. Works for humans and AI agents alike.
diff --git a/README.md b/README.md
index 00fda8c..47c3a5d 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
# Terminal.Gui Examples
-Community examples and standalone demos for [Terminal.Gui](https://github.com/gui-cs/Terminal.Gui) — the cross-platform .NET console UI toolkit.
+Community examples and standalone demos for [Terminal.Gui](https://github.com/tui-cs/Terminal.Gui) — the cross-platform .NET console UI toolkit.
> **Note:** These examples are companion projects to the main Terminal.Gui repository.
-> For the UICatalog demo app and ScenarioRunner, see [gui-cs/Terminal.Gui/Examples](https://github.com/gui-cs/Terminal.Gui/tree/develop/Examples).
+> For the UICatalog demo app and ScenarioRunner, see [tui-cs/Terminal.Gui/Examples](https://github.com/tui-cs/Terminal.Gui/tree/develop/Examples).
## Prerequisites
@@ -70,7 +70,7 @@ This replaces the NuGet `PackageReference` with a `ProjectReference`, so any bre
## Contributing
-1. Follow Terminal.Gui [coding conventions](https://github.com/gui-cs/Terminal.Gui/blob/develop/CONTRIBUTING.md)
+1. Follow Terminal.Gui [coding conventions](https://github.com/tui-cs/Terminal.Gui/blob/develop/CONTRIBUTING.md)
2. Examples reference Terminal.Gui via NuGet by default; use `TerminalGuiRoot` for local development
3. Each example should have its own project directory with a descriptive name
4. Include a README.md in each example explaining what it demonstrates
diff --git a/Themes/code-dark.config.json b/Themes/code-dark.config.json
index 372bf9c..71a1dbc 100644
--- a/Themes/code-dark.config.json
+++ b/Themes/code-dark.config.json
@@ -1 +1 @@
-{ "$schema": "https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", "Themes": [ { "Dark": { "Schemes": [ { "Base": { "CodeKeyword": { "Foreground": "#ff79c6", "Background": "None", "Style": "Bold" }, "CodeString": { "Foreground": "#f1fa8c", "Background": "None", "Style": "None" } } } ] } } ]}
\ No newline at end of file
+{ "$schema": "https://tui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json", "Themes": [ { "Dark": { "Schemes": [ { "Base": { "CodeKeyword": { "Foreground": "#ff79c6", "Background": "None", "Style": "Bold" }, "CodeString": { "Foreground": "#f1fa8c", "Background": "None", "Style": "None" } } } ] } } ]}
\ No newline at end of file
diff --git a/WideCharRepro/BUG_REPORT_TEMPLATE.md b/WideCharRepro/BUG_REPORT_TEMPLATE.md
index 102885c..0b97100 100644
--- a/WideCharRepro/BUG_REPORT_TEMPLATE.md
+++ b/WideCharRepro/BUG_REPORT_TEMPLATE.md
@@ -1 +1 @@
-# Bug Report: Wide/Fullwidth Character Rendering Causes Display Tearing## SummaryThe terminal incorrectly renders wide (fullwidth) Unicode characters, advancing the cursor by only 1 column instead of the required 2. This causes all subsequent content on the line to shift left, breaking grid alignment and causing display "tearing" in TUI applications.## Reproduction```bashgit clone https://github.com/gui-cs/Terminal.Gui.gitcd Terminal.Gui/Examples/WideCharReprodotnet run```Or paste this minimal C# program (requires .NET 8+):Minimal repro (click to expand)
```csharpusing System.Text;Console.OutputEncoding = Encoding.UTF8;Console.WriteLine ("TEST: Emoji grid (each emoji = 2 columns)");Console.WriteLine ("┌──┬──┬──┬──┬──┬──┬──┬──┐");Console.WriteLine ("│😀│😁│😂│🤣│😄│😅│😆│😇│");Console.WriteLine ("│──│──│──│──│──│──│──│──│");Console.WriteLine ("│🐶│🐱│🐭│🐹│🐰│🦊│🐻│🐼│");Console.WriteLine ("└──┴──┴──┴──┴──┴──┴──┴──┘");Console.WriteLine ();Console.WriteLine ("TEST: Column alignment (X should be at column 20)");Console.WriteLine ("01234567890123456789X <- 20 narrow (20×1=20)");Console.WriteLine ("😀😁😂😃😄😅😆😇😈😉X <- 10 emoji (10×2=20)");Console.WriteLine ("你好世界测试宽字符验X <- 10 CJK (10×2=20)");``` ## Expected BehaviorEach wide character (emoji, CJK ideograph, fullwidth form) should advance the cursor by **2 columns**. Grid separators (`│`) should be vertically aligned:```┌──┬──┬──┬──┬──┬──┬──┬──┐│😀│😁│😂│🤣│😄│😅│😆│😇││──│──│──│──│──│──│──│──││🐶│🐱│🐭│🐹│🐰│🦊│🐻│🐼│└──┴──┴──┴──┴──┴──┴──┴──┘```The `X` markers should vertically align at column 20:```01234567890123456789X😀😁😂😃😄😅😆😇😈😉X你好世界测试宽字符验X```## Actual BehaviorWide characters advance the cursor by only 1 column. Grids misalign and text overlaps:```┌──┬──┬──┬──┬──┬──┬──┬──┐│😀│😁│😂│🤣│😄│😅│😆│😇│ <- shifted left│──│──│──│──│──│──│──│──││🐶│🐱│🐭│🐹│🐰│🦊│🐻│🐼│ <- shifted left└──┴──┴──┴──┴──┴──┴──┴──┘```## Terminal Compatibility Matrix| Terminal | Version | OS | Test 1 (Emoji) | Test 2 (CJK) | Test 3 (Mixed) | Test 4 (Grid) | Test 5 (Align) | Status ||---------|---------|-----|:-:|:-:|:-:|:-:|:-:|--------|| Alacritty | 0.13+ | cross | | | | | | _untested_ || Ghostty | — | macOS | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || GitHub Copilot (terminal) | — | macOS | ❌ | ❌ | ❌ | ❌ | ❌ | **FAIL** || GitHub Copilot (terminal) | — | Windows | ❌ | ❌ | ❌ | ❌ | ❌ | **FAIL** || GNOME Terminal | 3.x | Linux | | | | | | _untested_ || iTerm2 | 3.5+ | macOS | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || Kitty | 0.35+ | macOS | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || Terminal.app | — | macOS | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || Visual Studio 2026 (terminal) | — | Windows | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || VS Code Insiders (terminal) | 1.x | Windows | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || WezTerm | — | cross | | | | | | _untested_ || Windows Terminal | 1.22+ | Windows | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** |> **To contributors**: please fill in your terminal's results and submit a PR or comment.## Affected Unicode Ranges- **Emoji** (U+1F600–U+1F64F, U+1F900–U+1F9FF, etc.)- **CJK Unified Ideographs** (U+4E00–U+9FFF)- **CJK Compatibility Ideographs** (U+F900–U+FAFF)- **Fullwidth Forms** (U+FF01–U+FF60)- Any codepoint with Unicode `East_Asian_Width` = `W` (Wide) or `F` (Fullwidth)## ImpactThis bug breaks any TUI application that renders wide characters in a grid or alongside narrow characters. Affected applications include:- [Terminal.Gui](https://github.com/gui-cs/Terminal.Gui) (cross-platform .NET TUI toolkit)- Any ncurses/curses-based app using CJK or emoji- tmux, vim, etc. when displaying wide characters## Relevant Standards- [Unicode TR#11 – East Asian Width](https://www.unicode.org/reports/tr11/)- [POSIX `wcwidth(3)`](https://pubs.opengroup.org/onlinepubs/9699919799/functions/wcwidth.html)- [Unicode TR#51 – Emoji Presentation](https://www.unicode.org/reports/tr51/)## Environment- OS: [e.g., Windows 11 24H2]- Terminal: [e.g., VS Code Insiders 1.x integrated terminal]- Shell: [e.g., PowerShell 7.5]- Font: [e.g., Cascadia Code NF]- Locale: [e.g., en-US, UTF-8]## Screenshots
\ No newline at end of file
+# Bug Report: Wide/Fullwidth Character Rendering Causes Display Tearing## SummaryThe terminal incorrectly renders wide (fullwidth) Unicode characters, advancing the cursor by only 1 column instead of the required 2. This causes all subsequent content on the line to shift left, breaking grid alignment and causing display "tearing" in TUI applications.## Reproduction```bashgit clone https://github.com/tui-cs/Terminal.Gui.gitcd Terminal.Gui/Examples/WideCharReprodotnet run```Or paste this minimal C# program (requires .NET 8+):Minimal repro (click to expand)
```csharpusing System.Text;Console.OutputEncoding = Encoding.UTF8;Console.WriteLine ("TEST: Emoji grid (each emoji = 2 columns)");Console.WriteLine ("┌──┬──┬──┬──┬──┬──┬──┬──┐");Console.WriteLine ("│😀│😁│😂│🤣│😄│😅│😆│😇│");Console.WriteLine ("│──│──│──│──│──│──│──│──│");Console.WriteLine ("│🐶│🐱│🐭│🐹│🐰│🦊│🐻│🐼│");Console.WriteLine ("└──┴──┴──┴──┴──┴──┴──┴──┘");Console.WriteLine ();Console.WriteLine ("TEST: Column alignment (X should be at column 20)");Console.WriteLine ("01234567890123456789X <- 20 narrow (20×1=20)");Console.WriteLine ("😀😁😂😃😄😅😆😇😈😉X <- 10 emoji (10×2=20)");Console.WriteLine ("你好世界测试宽字符验X <- 10 CJK (10×2=20)");``` ## Expected BehaviorEach wide character (emoji, CJK ideograph, fullwidth form) should advance the cursor by **2 columns**. Grid separators (`│`) should be vertically aligned:```┌──┬──┬──┬──┬──┬──┬──┬──┐│😀│😁│😂│🤣│😄│😅│😆│😇││──│──│──│──│──│──│──│──││🐶│🐱│🐭│🐹│🐰│🦊│🐻│🐼│└──┴──┴──┴──┴──┴──┴──┴──┘```The `X` markers should vertically align at column 20:```01234567890123456789X😀😁😂😃😄😅😆😇😈😉X你好世界测试宽字符验X```## Actual BehaviorWide characters advance the cursor by only 1 column. Grids misalign and text overlaps:```┌──┬──┬──┬──┬──┬──┬──┬──┐│😀│😁│😂│🤣│😄│😅│😆│😇│ <- shifted left│──│──│──│──│──│──│──│──││🐶│🐱│🐭│🐹│🐰│🦊│🐻│🐼│ <- shifted left└──┴──┴──┴──┴──┴──┴──┴──┘```## Terminal Compatibility Matrix| Terminal | Version | OS | Test 1 (Emoji) | Test 2 (CJK) | Test 3 (Mixed) | Test 4 (Grid) | Test 5 (Align) | Status ||---------|---------|-----|:-:|:-:|:-:|:-:|:-:|--------|| Alacritty | 0.13+ | cross | | | | | | _untested_ || Ghostty | — | macOS | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || GitHub Copilot (terminal) | — | macOS | ❌ | ❌ | ❌ | ❌ | ❌ | **FAIL** || GitHub Copilot (terminal) | — | Windows | ❌ | ❌ | ❌ | ❌ | ❌ | **FAIL** || GNOME Terminal | 3.x | Linux | | | | | | _untested_ || iTerm2 | 3.5+ | macOS | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || Kitty | 0.35+ | macOS | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || Terminal.app | — | macOS | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || Visual Studio 2026 (terminal) | — | Windows | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || VS Code Insiders (terminal) | 1.x | Windows | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** || WezTerm | — | cross | | | | | | _untested_ || Windows Terminal | 1.22+ | Windows | ✅ | ✅ | ✅ | ✅ | ✅ | **PASS** |> **To contributors**: please fill in your terminal's results and submit a PR or comment.## Affected Unicode Ranges- **Emoji** (U+1F600–U+1F64F, U+1F900–U+1F9FF, etc.)- **CJK Unified Ideographs** (U+4E00–U+9FFF)- **CJK Compatibility Ideographs** (U+F900–U+FAFF)- **Fullwidth Forms** (U+FF01–U+FF60)- Any codepoint with Unicode `East_Asian_Width` = `W` (Wide) or `F` (Fullwidth)## ImpactThis bug breaks any TUI application that renders wide characters in a grid or alongside narrow characters. Affected applications include:- [Terminal.Gui](https://github.com/tui-cs/Terminal.Gui) (cross-platform .NET TUI toolkit)- Any ncurses/curses-based app using CJK or emoji- tmux, vim, etc. when displaying wide characters## Relevant Standards- [Unicode TR#11 – East Asian Width](https://www.unicode.org/reports/tr11/)- [POSIX `wcwidth(3)`](https://pubs.opengroup.org/onlinepubs/9699919799/functions/wcwidth.html)- [Unicode TR#51 – Emoji Presentation](https://www.unicode.org/reports/tr51/)## Environment- OS: [e.g., Windows 11 24H2]- Terminal: [e.g., VS Code Insiders 1.x integrated terminal]- Shell: [e.g., PowerShell 7.5]- Font: [e.g., Cascadia Code NF]- Locale: [e.g., en-US, UTF-8]## Screenshots
\ No newline at end of file