Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
e899c7e
Initial plan
Copilot Oct 3, 2025
f6ea788
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 3, 2025
480a070
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 15, 2025
8e863d9
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 19, 2025
5e7db67
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 19, 2025
0b37ee9
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 19, 2025
2cb8082
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 25, 2025
01f3261
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 26, 2025
5aecf4b
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 26, 2025
8ed9e28
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 26, 2025
c8dcdf3
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Oct 28, 2025
9d60115
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Nov 12, 2025
4613452
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Nov 20, 2025
862ccec
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Dec 1, 2025
11d7692
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Dec 6, 2025
1cd71fe
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Dec 8, 2025
549a101
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Dec 9, 2025
b5e5d19
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Dec 16, 2025
291624d
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Dec 17, 2025
2073f99
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Feb 25, 2026
3105e7b
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Feb 27, 2026
fe0a693
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Mar 7, 2026
9ddbee8
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Mar 9, 2026
476b2ff
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Mar 9, 2026
c42c824
Merge branch 'v2_develop' of tig:tig/Terminal.Gui into v2_develop
tig Mar 9, 2026
a40cd10
Merge branch 'v2_develop' of tig:tig/Terminal.Gui into v2_develop
tig Mar 9, 2026
4263b50
Merge branch 'v2_develop' of tig:tig/Terminal.Gui into v2_develop
tig Mar 10, 2026
01e9a57
Merge branch 'v2_develop' of tig:tig/Terminal.Gui into v2_develop
tig Mar 10, 2026
d89ebd4
Merge branch 'v2_develop' of tig:tig/Terminal.Gui into v2_develop
tig Mar 10, 2026
53609cf
Merge branch 'v2_develop' of tig:tig/Terminal.Gui into v2_develop
tig Mar 10, 2026
1888ba0
Merge branch 'v2_develop' into copilot/fix-3ee850b1-eb6b-46b0-964b-3b…
tig Mar 10, 2026
5ffcb41
Add design doc for configurable key bindings via CM
tig Mar 10, 2026
b6238dc
Migrate all built-in view key bindings to ConfigurationManager
tig Mar 10, 2026
f48c409
Merge branch 'v2_develop' into feature/cm-keybindings
tig Mar 10, 2026
a7b215e
Merge branch 'feature/cm-keybindings' of tig:gui-cs/Terminal.Gui into…
tig Mar 10, 2026
3e7c275
Merge branch 'v2_develop' of tig:tig/Terminal.Gui into v2_develop
tig Mar 10, 2026
70d81c2
Add tests for CM key bindings; fix InsertChar key string; split tests…
tig Mar 11, 2026
e9ce295
plan
tig Mar 11, 2026
37f9d59
Merge branch 'feature/cm-keybindings' of tig:gui-cs/Terminal.Gui into…
tig Mar 11, 2026
5a53b22
Merge branch 'v2_develop' into feature/cm-keybindings
tig Mar 11, 2026
6f08239
plans
tig Mar 11, 2026
67e134d
Update cm-keybindings plan: MEC-ready design with PlatformKeyBinding …
tig Mar 11, 2026
5436acc
Revert all code changes, keeping only the plan file
tig Mar 11, 2026
1156ce8
Merge branch 'v2_develop' into feature/cm-keybindings
tig Mar 11, 2026
780e877
Merge branch 'v2_develop' into feature/cm-keybindings
tig Mar 11, 2026
1315bde
Update plan: mark phases 0-2 done, change DeleteAll to Ctrl+Shift+Delete
tig Mar 11, 2026
dc9d66c
Add configurable key bindings infrastructure and migrate 13 views
tig Mar 11, 2026
45178cc
Fix keybinding migration regressions in TextView, HexView, and View b…
tig Mar 11, 2026
54679a9
Initial plan
Copilot Mar 11, 2026
af4990c
Fix TextField Emacs keybindings (Ctrl+B/F) to bind on all platforms
tig Mar 11, 2026
e5bfe59
Add Draw trace category and instrument View.Drawing.cs and Applicatio…
Copilot Mar 11, 2026
0f7b0b5
Fix Undo/Redo bindings to include Ctrl+Z/Y on all platforms
tig Mar 11, 2026
1f16926
Standardize popover activation keys (MenuBar F9→F10)
tig Mar 11, 2026
e0f8fe4
Update keyboard and config documentation for configurable key bindings
tig Mar 11, 2026
478c5f8
Add Configuration and Draw menu items to UICatalog Logging menu
Copilot Mar 12, 2026
63a112e
Merge branch 'feature/cm-keybindings' of tig:gui-cs/Terminal.Gui into…
tig Mar 12, 2026
11d803e
Move default key bindings to Application; add config docs
tig Mar 12, 2026
5909b65
Plans: Phase 12 breaking-change design; update Config examples with V…
tig Mar 12, 2026
3c96174
Add TuiPlatform enum; replace string platform IDs with typed enum
tig Mar 12, 2026
2388ef9
Register Command-keyed key binding dict types with STJ source gen
tig Mar 12, 2026
4d2a31c
Add process-wide static property warnings to all DefaultKeyBindings/V…
tig Mar 12, 2026
515e0f6
Merge branch 'feature/cm-keybindings' of tig:gui-cs/Terminal.Gui into…
tig Mar 12, 2026
08e9e91
Merge remote-tracking branch 'copilot/copilot/add-draw-trace-category…
tig Mar 12, 2026
569b4d4
Enhance tracing for key bindings and config changes
tig Mar 12, 2026
f5d3a6a
Move Bind and PlatformKeyBinding from Configuration/ to Input/Keyboard/
tig Mar 12, 2026
f3ddabd
Move Bind and KeyBindingSchema tests to Input/Keyboard/
tig Mar 12, 2026
702dd67
Make Bind type-safe (Key[] instead of string[]) and fix JSON serializ…
tig Mar 12, 2026
6283414
Add dedicated PlatformKeyBinding tests
tig Mar 12, 2026
63e8c8b
Remove single-key properties; use DefaultKeyBindings dict — Phase 12d…
tig Mar 12, 2026
3ab5f25
Update plan: all phases complete
tig Mar 12, 2026
bc11f09
Update KeyBindings scenario; fix stale XML doc crefs
tig Mar 12, 2026
1c13a5b
Rewrite KeyBindings scenario with 3-column Dim.Auto layout
tig Mar 12, 2026
c766172
Make Bind calls type-safe; update example_config.json and docs
tig Mar 12, 2026
8b5ddab
Fix parallel test pollution: save/restore DefaultKeyBindings in InitT…
tig Mar 12, 2026
199028e
Add thread-safety tests for ApplicationKeyboard
tig Mar 13, 2026
6455392
Refactor tests for parallel safety and static state isolation
tig Mar 13, 2026
ec9c524
Remove Compile Remove for Application\Keyboard in UnitTests.csproj
tig Mar 13, 2026
43c6817
Address PR review comments: make Bind public, fix Trace.ToString, fix…
tig Mar 13, 2026
8e5dcf1
Merge branch 'v2_develop' into feature/cm-keybindings
tig Mar 13, 2026
c68cb84
Merge branch 'feature/cm-keybindings' of tig:gui-cs/Terminal.Gui into…
tig Mar 13, 2026
8d993e6
Refactor event args and tracing; remove obsolete platform API
tig Mar 13, 2026
63feac6
Refactor DriverRegistry; use ANSI as default on Windows
tig Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Examples/CommunityToolkitExample/LoginView.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using CommunityToolkit.Mvvm.Messaging;
using Terminal.Gui.App;
using Terminal.Gui.ViewBase;
using Terminal.Gui.Input;

namespace CommunityToolkitExample;

Expand All @@ -9,7 +10,7 @@ internal partial class LoginView : IRecipient<Message<LoginActions>>
public LoginView (LoginViewModel viewModel)
{
WeakReferenceMessenger.Default.Register (this);
Title = $"Community Toolkit MVVM Example - {Application.QuitKey} to Exit";
Title = $"Community Toolkit MVVM Example - {Application.GetDefaultKey (Command.Quit)} to Exit";
ViewModel = viewModel;
InitializeComponent ();
usernameInput.TextChanged += (_, _) =>
Expand Down
90 changes: 90 additions & 0 deletions Examples/Config/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Terminal.Gui Key Binding Config Examples

This folder contains example `config.json` files that override Terminal.Gui's default
key bindings to match platform conventions.

## How to Use

Copy the desired file to `~/.tui/config.json` (the global Terminal.Gui config location).

| OS | Want macOS feel? | Want Windows feel? |
|----|------------------|--------------------|
| **Windows** | Copy `macos.json` → `~/.tui/config.json` | (already default) |
| **macOS** | (already default) | Copy `windows.json` → `~/.tui/config.json` |

On Windows `~` expands to `C:\Users\<username>`.
On macOS/Linux `~` expands to `/home/<username>` (or `/Users/<username>` on macOS).

## What Each File Changes

### `macos.json` — macOS-style bindings (for Windows users)

Overrides Terminal.Gui's default key bindings to match macOS conventions:

| What changes | Default (Windows) | With `macos.json` |
|---|---|---|
| Quit app | `Esc` | `Esc` or `Ctrl+Q` |
| Suspend app to background | *(not available)* | `Ctrl+Z` |
| Undo | `Ctrl+Z` | `Ctrl+Z` or `Ctrl+/` |
| Redo | `Ctrl+Y` | `Ctrl+Y` or `Ctrl+Shift+Z` |
| Delete char right | `Delete` | `Delete` or `Ctrl+D` |

Note: Emacs navigation shortcuts (`Ctrl+B`/`Ctrl+F` for left/right in text fields,
`Ctrl+N`/`Ctrl+P` for up/down in text views and lists) are already available on all
platforms — no override needed.

### `windows.json` — Windows-style bindings (for macOS users)

Overrides Terminal.Gui's default key bindings to match Windows conventions:

| What changes | Default (macOS) | With `windows.json` |
|---|---|---|
| Quit app | `Esc` or `Ctrl+Q` | `Esc` only |
| Suspend app to background | `Ctrl+Z` | *(disabled)* |
| Undo | `Ctrl+Z` or `Ctrl+/` | `Ctrl+Z` only |
| Redo | `Ctrl+Y` or `Ctrl+Shift+Z` | `Ctrl+Y` only |
| Delete char right | `Delete` or `Ctrl+D` | `Delete` only |

**Limitation:** Emacs navigation shortcuts built into text views (`Ctrl+B`, `Ctrl+F`,
`Ctrl+N`, `Ctrl+P`, `Ctrl+K`, etc.) are set in C# code and cannot be removed via
`config.json`. They remain available alongside the standard keys.

## How It Works

Terminal.Gui's `ConfigurationManager` loads `~/.tui/config.json` and uses it to
replace the values of three key binding properties:

- **`Application.DefaultKeyBindings`** — app-level commands (Quit, Suspend, Tab navigation)
- **`View.DefaultKeyBindings`** — shared commands across all views (navigation, clipboard, editing)
- **`View.ViewKeyBindings`** — per-view overrides (keyed by view type name, e.g. `"TextField"`)

The JSON format maps command names to `PlatformKeyBinding` objects:

```json
{
"Application.DefaultKeyBindings": {
"Quit": { "All": ["Esc", "Ctrl+Q"] }
},
"View.DefaultKeyBindings": {
"Undo": { "All": ["Ctrl+Z"], "Linux": ["Ctrl+/"], "Macos": ["Ctrl+/"] }
},
"View.ViewKeyBindings": {
"TextField": {
"WordLeft": { "All": ["Ctrl+CursorLeft"] }
}
}
}
```

Each `PlatformKeyBinding` has four optional fields:

| Field | Applies to |
|-------|-----------|
| `All` | Every platform |
| `Windows` | Windows only (added to `All`) |
| `Linux` | Linux only (added to `All`) |
| `Macos` | macOS only (added to `All`) |

**Important:** When you override a property (e.g. `View.DefaultKeyBindings`), your
JSON replaces the entire default dictionary. Any command you omit reverts to
having no binding from that layer. Always include all commands you want active.
Original file line number Diff line number Diff line change
@@ -1,27 +1,33 @@
{
"$schema": "https://gui-cs.github.io/Terminal.GuiV2Docs/schemas/tui-config-schema.json",
"$schema": "https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json",
"ConfigurationManager.ThrowOnJsonErrors": false,
"Application.ArrangeKey": "Ctrl+F5",
"Application.Force16Colors": 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,
"Application.NextTabGroupKey": "F6",
"Application.NextTabKey": "Tab",
"Application.PrevTabGroupKey": "Shift+F6",
"Application.PrevTabKey": "Shift+Tab",
"Application.QuitKey": "Esc",
"ContextMenu.DefaultKey": "Shift+F10",
"Key.Separator": "+",
"MenuBar.DefaultKey": "F10",
"PopoverMenu.DefaultKey": "Shift+F10",
"FileDialog.MaxSearchResults": 10000,
"FileDialogStyle.DefaultUseColors": false,
"FileDialogStyle.DefaultUseUnicodeCharacters": false,
"Glyphs": {
"CheckStateChecked": "✓"
},
"Theme": "Gruntled",
"Themes": [
{
"Gruntled": {
"ColorSchemes": [
"Glyphs": {
"CheckStateChecked": "✓"
},
"Schemes": [
{
"TopLevel": {
"Normal": {
Expand Down
55 changes: 55 additions & 0 deletions Examples/Config/macos.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"$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"] }
}
}
}
56 changes: 56 additions & 0 deletions Examples/Config/windows.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
"$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"] }
}
}
}
3 changes: 2 additions & 1 deletion Examples/Example/Example.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using Terminal.Gui.Configuration;
using Terminal.Gui.ViewBase;
using Terminal.Gui.Views;
using Terminal.Gui.Input;

// Override the default configuration for the application to use the Amber Phosphor theme
ConfigurationManager.RuntimeConfig = """{ "Theme": "Amber Phosphor" }""";
Expand All @@ -32,7 +33,7 @@ public sealed class ExampleWindow : Runnable<string?>
{
public ExampleWindow ()
{
Title = $"Example App ({Application.QuitKey} to quit)";
Title = $"Example App ({Application.GetDefaultKey (Command.Quit)} to quit)";

// Create input components and labels
var usernameLabel = new Label { Text = "Username:" };
Expand Down
2 changes: 1 addition & 1 deletion Examples/FSharpExample/Program.fs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ type ExampleWindow() as this =
inherit Window()

do
this.Title <- sprintf "Example App (%O to quit)" Application.QuitKey
this.Title <- sprintf "Example App (%O to quit)" (Application.GetDefaultKey (Command.Quit))

// Create input components and labels
let usernameLabel = new Label(Text = "Username:")
Expand Down
3 changes: 2 additions & 1 deletion Examples/NativeAot/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using Terminal.Gui.Views;
using Terminal.Gui.App;
using Terminal.Gui.ViewBase;
using Terminal.Gui.Input;

namespace NativeAot;

Expand Down Expand Up @@ -63,7 +64,7 @@ public class ExampleWindow : Window

public ExampleWindow ()
{
Title = $"Example App ({Application.QuitKey} to quit)";
Title = $"Example App ({Application.GetDefaultKey (Command.Quit)} to quit)";

// Create input components and labels
var usernameLabel = new Label { Text = "Username:" };
Expand Down
5 changes: 3 additions & 2 deletions Examples/ReactiveExample/LoginView.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.Reactive.Disposables;
using System.Reactive.Disposables;
using System.Reactive.Disposables.Fluent;
using System.Reactive.Linq;
using ReactiveMarbles.ObservableEvents;
Expand All @@ -7,6 +7,7 @@
using Terminal.Gui.Views;
using Terminal.Gui.App;
using Terminal.Gui.ViewBase;
using Terminal.Gui.Input;

namespace ReactiveExample;

Expand All @@ -21,7 +22,7 @@ public class LoginView : Window, IViewFor<LoginViewModel>

public LoginView (LoginViewModel viewModel)
{
Title = $"Reactive Extensions Example - {Application.QuitKey} to Exit";
Title = $"Reactive Extensions Example - {Application.GetDefaultKey (Command.Quit)} to Exit";
ViewModel = viewModel;
var title = this.AddControl<Label> (x => x.Text = "Login Form");
var unLengthLabel = title.AddControlAfter<Label> ((previous, unLength) =>
Expand Down
3 changes: 2 additions & 1 deletion Examples/SelfContained/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using Terminal.Gui.Configuration;
using Terminal.Gui.App;
using Terminal.Gui.Drawing;
using Terminal.Gui.Input;
using Terminal.Gui.ViewBase;
using Terminal.Gui.Views;

Expand Down Expand Up @@ -62,7 +63,7 @@ public class ExampleWindow : Runnable<string>
public ExampleWindow ()
{
BorderStyle = LineStyle.Single;
Title = $"Example App ({Application.QuitKey} to quit)";
Title = $"Example App ({Application.GetDefaultKey (Command.Quit)} to quit)";

// Create input components and labels
var usernameLabel = new Label { Text = "Username:" };
Expand Down
4 changes: 2 additions & 2 deletions Examples/ShortcutTest/ShortcutTest.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Test app for Command Propagation through Shortcut hierarchy
// Test app for Command Propagation through Shortcut hierarchy
// Tests: CheckBox (CommandView) -> Shortcut -> Window

using System.Collections.ObjectModel;
Expand All @@ -21,7 +21,7 @@ public sealed class ShortcutTestWindow : Window

public ShortcutTestWindow ()
{
Title = $"Shortcut Command Propagation Test ({Application.QuitKey} to quit)";
Title = $"Shortcut Command Propagation Test ({Application.GetDefaultKey (Command.Quit)} to quit)";

AssignHotKeys = true;

Expand Down
Loading
Loading