From 432cbbd15c3578dcec55c17adfab122d619f35a7 Mon Sep 17 00:00:00 2001
From: Tig <tig@users.noreply.github.com>
Date: Wed, 26 Feb 2025 11:38:12 -0700
Subject: [PATCH 1/3] fixed

---
 .../Configuration/ConfigurationManager.cs     |   8 -
 .../Configuration/SourceGenerationContext.cs  |   2 +-
 Terminal.Gui/Drawing/Glyphs.cs                | 332 +++++----
 Terminal.Gui/Drawing/LineCanvas/LineStyle.cs  |   6 +-
 Terminal.Gui/Resources/config.json            | 283 ++++----
 Terminal.Gui/Views/CheckBox.cs                |   6 +-
 .../Scenarios/CharacterMap/CharacterMap.cs    |   2 +-
 UICatalog/Scenarios/Clipping.cs               |   2 +-
 UICatalog/Scenarios/DynamicMenuBar.cs         |  12 +-
 UICatalog/Scenarios/DynamicStatusBar.cs       |   4 +-
 UICatalog/Scenarios/GraphViewExample.cs       |   4 +-
 UICatalog/Scenarios/LineViewExample.cs        |   4 +-
 UICatalog/Scenarios/ShadowStyles.cs           |   2 +-
 UICatalog/Scenarios/SimpleDialog.cs           |   2 +-
 UICatalog/Scenarios/Sliders.cs                |  16 +-
 UICatalog/Scenarios/Snake.cs                  |   4 +-
 UICatalog/Scenarios/TableEditor.cs            |   8 +-
 UICatalog/Scenarios/Unicode.cs                |  10 +-
 UnitTests/Configuration/GlyphTests.cs         |  42 ++
 .../Configuration/RuneJsonConverterTests.cs   |   2 +-
 UnitTests/Dialogs/DialogTests.cs              | 152 ++--
 UnitTests/Dialogs/MessageBoxTests.cs          |   4 +-
 UnitTests/Dialogs/WizardTests.cs              |  86 +--
 UnitTests/Drawing/GlyphTests.cs               |  29 -
 UnitTests/Text/TextFormatterTests.cs          |   2 +-
 UnitTests/View/Layout/Pos.AnchorEndTests.cs   |   2 +-
 UnitTests/Views/ButtonTests.cs                |  20 +-
 UnitTests/Views/CheckBoxTests.cs              |  32 +-
 UnitTests/Views/GraphViewTests.cs             |  10 +-
 UnitTests/Views/MenuBarTests.cs               |   8 +-
 UnitTests/Views/ProgressBarTests.cs           | 652 +++++++++---------
 UnitTests/Views/RadioGroupTests.cs            |   8 +-
 UnitTests/Views/TreeTableSourceTests.cs       |  12 +-
 33 files changed, 905 insertions(+), 863 deletions(-)
 create mode 100644 UnitTests/Configuration/GlyphTests.cs
 delete mode 100644 UnitTests/Drawing/GlyphTests.cs

diff --git a/Terminal.Gui/Configuration/ConfigurationManager.cs b/Terminal.Gui/Configuration/ConfigurationManager.cs
index 473f1bf651..a9806d395c 100644
--- a/Terminal.Gui/Configuration/ConfigurationManager.cs
+++ b/Terminal.Gui/Configuration/ConfigurationManager.cs
@@ -110,14 +110,6 @@ public static class ConfigurationManager
     [JsonPropertyName ("AppSettings")]
     public static AppScope? AppSettings { get; set; }
 
-    /// <summary>
-    ///     The set of glyphs used to draw checkboxes, lines, borders, etc...See also
-    ///     <seealso cref="Terminal.Gui.GlyphDefinitions"/>.
-    /// </summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope), OmitClassName = true)]
-    [JsonPropertyName ("Glyphs")]
-    public static GlyphDefinitions Glyphs { get; set; } = new ();
-
     /// <summary>
     ///     Gets and sets the locations where <see cref="ConfigurationManager"/> will look for config files. The value is
     ///     <see cref="ConfigLocations.All"/>.
diff --git a/Terminal.Gui/Configuration/SourceGenerationContext.cs b/Terminal.Gui/Configuration/SourceGenerationContext.cs
index 5d2388bcfe..c624cf839f 100644
--- a/Terminal.Gui/Configuration/SourceGenerationContext.cs
+++ b/Terminal.Gui/Configuration/SourceGenerationContext.cs
@@ -10,7 +10,7 @@ namespace Terminal.Gui;
 [JsonSerializable (typeof (AppScope))]
 [JsonSerializable (typeof (SettingsScope))]
 [JsonSerializable (typeof (Key))]
-[JsonSerializable (typeof (GlyphDefinitions))]
+[JsonSerializable (typeof (Glyphs))]
 [JsonSerializable (typeof (Alignment))]
 [JsonSerializable (typeof (AlignmentModes))]
 [JsonSerializable (typeof (LineStyle))]
diff --git a/Terminal.Gui/Drawing/Glyphs.cs b/Terminal.Gui/Drawing/Glyphs.cs
index f3a0334bf4..b9e4b978fd 100644
--- a/Terminal.Gui/Drawing/Glyphs.cs
+++ b/Terminal.Gui/Drawing/Glyphs.cs
@@ -18,7 +18,7 @@
 ///         - A decimal number (e.g. 97 for "a")
 ///     </para>
 /// </remarks>
-public class GlyphDefinitions
+public class Glyphs
 {
     // IMPORTANT: If you change these, make sure to update the ./Resources/config.json file as
     // IMPORTANT: it is the source of truth for the default glyphs at runtime.
@@ -26,466 +26,504 @@ public class GlyphDefinitions
     // IMPORTANT: in ./UnitTests/bin/Debug/netX.0/config.json
 
     /// <summary>File icon.  Defaults to ☰ (Trigram For Heaven)</summary>
-    public Rune File { get; set; } = (Rune)'☰';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune File { get; set; } = (Rune)'☰';
 
     /// <summary>Folder icon.  Defaults to ꤉ (Kayah Li Digit Nine)</summary>
-    public Rune Folder { get; set; } = (Rune)'꤉';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Folder { get; set; } = (Rune)'꤉';
 
     /// <summary>Horizontal Ellipsis - … U+2026</summary>
-    public Rune HorizontalEllipsis { get; set; } = (Rune)'…';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune HorizontalEllipsis { get; set; } = (Rune)'…';
 
     /// <summary>Vertical Four Dots - ⁞ U+205e</summary>
-    public Rune VerticalFourDots { get; set; } = (Rune)'⁞';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune VerticalFourDots { get; set; } = (Rune)'⁞';
 
     #region ----------------- Single Glyphs -----------------
 
     /// <summary>Checked indicator (e.g. for <see cref="ListView"/> and <see cref="CheckBox"/>).</summary>
-    public Rune CheckStateChecked { get; set; } = (Rune)'☑';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune CheckStateChecked { get; set; } = (Rune)'☑';
 
     /// <summary>Not Checked indicator (e.g. for <see cref="ListView"/> and <see cref="CheckBox"/>).</summary>
-    public Rune CheckStateUnChecked { get; set; } = (Rune)'☐';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune CheckStateUnChecked { get; set; } = (Rune)'☐';
 
     /// <summary>Null Checked indicator (e.g. for <see cref="ListView"/> and <see cref="CheckBox"/>).</summary>
-    public Rune CheckStateNone { get; set; } = (Rune)'☒';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune CheckStateNone { get; set; } = (Rune)'☒';
 
     /// <summary>Selected indicator  (e.g. for <see cref="ListView"/> and <see cref="RadioGroup"/>).</summary>
-    public Rune Selected { get; set; } = (Rune)'◉';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Selected { get; set; } = (Rune)'◉';
 
     /// <summary>Not Selected indicator (e.g. for <see cref="ListView"/> and <see cref="RadioGroup"/>).</summary>
-    public Rune UnSelected { get; set; } = (Rune)'○';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune UnSelected { get; set; } = (Rune)'○';
 
     /// <summary>Horizontal arrow.</summary>
-    public Rune RightArrow { get; set; } = (Rune)'►';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune RightArrow { get; set; } = (Rune)'►';
 
     /// <summary>Left arrow.</summary>
-    public Rune LeftArrow { get; set; } = (Rune)'◄';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune LeftArrow { get; set; } = (Rune)'◄';
 
     /// <summary>Down arrow.</summary>
-    public Rune DownArrow { get; set; } = (Rune)'▼';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune DownArrow { get; set; } = (Rune)'▼';
 
     /// <summary>Vertical arrow.</summary>
-    public Rune UpArrow { get; set; } = (Rune)'▲';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune UpArrow { get; set; } = (Rune)'▲';
 
     /// <summary>Left default indicator (e.g. for <see cref="Button"/>.</summary>
-    public Rune LeftDefaultIndicator { get; set; } = (Rune)'►';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune LeftDefaultIndicator { get; set; } = (Rune)'►';
 
     /// <summary>Horizontal default indicator (e.g. for <see cref="Button"/>.</summary>
-    public Rune RightDefaultIndicator { get; set; } = (Rune)'◄';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune RightDefaultIndicator { get; set; } = (Rune)'◄';
 
     /// <summary>Left Bracket (e.g. for <see cref="Button"/>. Default is (U+005B) - [.</summary>
-    public Rune LeftBracket { get; set; } = (Rune)'⟦';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune LeftBracket { get; set; } = (Rune)'⟦';
 
     /// <summary>Horizontal Bracket (e.g. for <see cref="Button"/>. Default is (U+005D) - ].</summary>
-    public Rune RightBracket { get; set; } = (Rune)'⟧';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune RightBracket { get; set; } = (Rune)'⟧';
 
     /// <summary>Half block meter segment (e.g. for <see cref="ProgressBar"/>).</summary>
-    public Rune BlocksMeterSegment { get; set; } = (Rune)'▌';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune BlocksMeterSegment { get; set; } = (Rune)'▌';
 
     /// <summary>Continuous block meter segment (e.g. for <see cref="ProgressBar"/>).</summary>
-    public Rune ContinuousMeterSegment { get; set; } = (Rune)'█';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune ContinuousMeterSegment { get; set; } = (Rune)'█';
 
     /// <summary>Stipple pattern (e.g. for <see cref="ScrollBar"/>). Default is Light Shade (U+2591) - ░.</summary>
-    public Rune Stipple { get; set; } = (Rune)'░';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Stipple { get; set; } = (Rune)'░';
 
     /// <summary>Diamond. Default is Lozenge (U+25CA) - ◊.</summary>
-    public Rune Diamond { get; set; } = (Rune)'◊';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Diamond { get; set; } = (Rune)'◊';
 
     /// <summary>Close. Default is Heavy Ballot X (U+2718) - ✘.</summary>
-    public Rune Close { get; set; } = (Rune)'✘';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Close { get; set; } = (Rune)'✘';
 
     /// <summary>Minimize. Default is Lower Horizontal Shadowed White Circle (U+274F) - ❏.</summary>
-    public Rune Minimize { get; set; } = (Rune)'❏';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Minimize { get; set; } = (Rune)'❏';
 
     /// <summary>Maximize. Default is Upper Horizontal Shadowed White Circle (U+273D) - ✽.</summary>
-    public Rune Maximize { get; set; } = (Rune)'✽';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Maximize { get; set; } = (Rune)'✽';
 
     /// <summary>Dot. Default is (U+2219) - ∙.</summary>
-    public Rune Dot { get; set; } = (Rune)'∙';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Dot { get; set; } = (Rune)'∙';
 
     /// <summary>Dotted Square - ⬚ U+02b1a┝</summary>
-    public Rune DottedSquare { get; set; } = (Rune)'⬚';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune DottedSquare { get; set; } = (Rune)'⬚';
 
     /// <summary>Black Circle . Default is (U+025cf) - ●.</summary>
-    public Rune BlackCircle { get; set; } = (Rune)'●'; // Black Circle - ● U+025cf
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune BlackCircle { get; set; } = (Rune)'●'; // Black Circle - ● U+025cf
 
     /// <summary>Expand (e.g. for <see cref="TreeView"/>.</summary>
-    public Rune Expand { get; set; } = (Rune)'+';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Expand { get; set; } = (Rune)'+';
 
     /// <summary>Expand (e.g. for <see cref="TreeView"/>.</summary>
-    public Rune Collapse { get; set; } = (Rune)'-';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Collapse { get; set; } = (Rune)'-';
 
     /// <summary>Identical To (U+226)</summary>
-    public Rune IdenticalTo { get; set; } = (Rune)'≡';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune IdenticalTo { get; set; } = (Rune)'≡';
 
     /// <summary>Move indicator. Default is Lozenge (U+25CA) - ◊.</summary>
-    public Rune Move { get; set; } = (Rune)'◊';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Move { get; set; } = (Rune)'◊';
 
     /// <summary>Size Horizontally indicator. Default is ┥Left Right Arrow - ↔ U+02194</summary>
-    public Rune SizeHorizontal { get; set; } = (Rune)'↔';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune SizeHorizontal { get; set; } = (Rune)'↔';
 
     /// <summary>Size Vertical indicator. Default Up Down Arrow - ↕ U+02195</summary>
-    public Rune SizeVertical { get; set; } = (Rune)'↕';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune SizeVertical { get; set; } = (Rune)'↕';
 
     /// <summary>Size Top Left indicator. North West Arrow - ↖ U+02196</summary>
-    public Rune SizeTopLeft { get; set; } = (Rune)'↖';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune SizeTopLeft { get; set; } = (Rune)'↖';
 
     /// <summary>Size Top Right indicator. North East Arrow - ↗ U+02197</summary>
-    public Rune SizeTopRight { get; set; } = (Rune)'↗';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune SizeTopRight { get; set; } = (Rune)'↗';
 
     /// <summary>Size Bottom Right indicator. South East Arrow - ↘ U+02198</summary>
-    public Rune SizeBottomRight { get; set; } = (Rune)'↘';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune SizeBottomRight { get; set; } = (Rune)'↘';
 
     /// <summary>Size Bottom Left indicator. South West Arrow - ↙ U+02199</summary>
-    public Rune SizeBottomLeft { get; set; } = (Rune)'↙';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune SizeBottomLeft { get; set; } = (Rune)'↙';
 
     /// <summary>Apple (non-BMP). Because snek. And because it's an example of a non-BMP surrogate pair. See Issue #2610.</summary>
-    public Rune Apple { get; set; } = "🍎".ToRunes () [0]; // nonBMP
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune Apple { get; set; } = "🍎".ToRunes () [0]; // nonBMP
 
     /// <summary>Apple (BMP). Because snek. See Issue #2610.</summary>
-    public Rune AppleBMP { get; set; } = (Rune)'❦';
-
-    ///// <summary>
-    ///// A nonprintable (low surrogate) that should fail to ctor.
-    ///// </summary>
-    //public Rune InvalidGlyph { get; set; } = (Rune)'\ud83d';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune AppleBMP { get; set; } = (Rune)'❦';
 
     #endregion
 
     #region ----------------- Lines -----------------
 
     /// <summary>Box Drawings Horizontal Line - Light (U+2500) - ─</summary>
-    public Rune HLine { get; set; } = (Rune)'─';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune HLine { get; set; } = (Rune)'─';
 
     /// <summary>Box Drawings Vertical Line - Light (U+2502) - │</summary>
-    public Rune VLine { get; set; } = (Rune)'│';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune VLine { get; set; } = (Rune)'│';
 
     /// <summary>Box Drawings Double Horizontal (U+2550) - ═</summary>
-    public Rune HLineDbl { get; set; } = (Rune)'═';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune HLineDbl { get; set; } = (Rune)'═';
 
     /// <summary>Box Drawings Double Vertical (U+2551) - ║</summary>
-    public Rune VLineDbl { get; set; } = (Rune)'║';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineDbl { get; set; } = (Rune)'║';
 
     /// <summary>Box Drawings Heavy Double Dash Horizontal (U+254D) - ╍</summary>
-    public Rune HLineHvDa2 { get; set; } = (Rune)'╍';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineHvDa2 { get; set; } = (Rune)'╍';
 
     /// <summary>Box Drawings Heavy Triple Dash Vertical (U+2507) - ┇</summary>
-    public Rune VLineHvDa3 { get; set; } = (Rune)'┇';
+    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    public static Rune VLineHvDa3 { get; set; } = (Rune)'┇';
 
     /// <summary>Box Drawings Heavy Triple Dash Horizontal (U+2505) - ┅</summary>
-    public Rune HLineHvDa3 { get; set; } = (Rune)'┅';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineHvDa3 { get; set; } = (Rune)'┅';
 
     /// <summary>Box Drawings Heavy Quadruple Dash Horizontal (U+2509) - ┉</summary>
-    public Rune HLineHvDa4 { get; set; } = (Rune)'┉';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineHvDa4 { get; set; } = (Rune)'┉';
 
     /// <summary>Box Drawings Heavy Double Dash Vertical (U+254F) - ╏</summary>
-    public Rune VLineHvDa2 { get; set; } = (Rune)'╏';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineHvDa2 { get; set; } = (Rune)'╏';
 
     /// <summary>Box Drawings Heavy Quadruple Dash Vertical (U+250B) - ┋</summary>
-    public Rune VLineHvDa4 { get; set; } = (Rune)'┋';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineHvDa4 { get; set; } = (Rune)'┋';
 
     /// <summary>Box Drawings Light Double Dash Horizontal (U+254C) - ╌</summary>
-    public Rune HLineDa2 { get; set; } = (Rune)'╌';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineDa2 { get; set; } = (Rune)'╌';
 
     /// <summary>Box Drawings Light Triple Dash Vertical (U+2506) - ┆</summary>
-    public Rune VLineDa3 { get; set; } = (Rune)'┆';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineDa3 { get; set; } = (Rune)'┆';
 
     /// <summary>Box Drawings Light Triple Dash Horizontal (U+2504) - ┄</summary>
-    public Rune HLineDa3 { get; set; } = (Rune)'┄';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineDa3 { get; set; } = (Rune)'┄';
 
     /// <summary>Box Drawings Light Quadruple Dash Horizontal (U+2508) - ┈</summary>
-    public Rune HLineDa4 { get; set; } = (Rune)'┈';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineDa4 { get; set; } = (Rune)'┈';
 
     /// <summary>Box Drawings Light Double Dash Vertical (U+254E) - ╎</summary>
-    public Rune VLineDa2 { get; set; } = (Rune)'╎';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineDa2 { get; set; } = (Rune)'╎';
 
     /// <summary>Box Drawings Light Quadruple Dash Vertical (U+250A) - ┊</summary>
-    public Rune VLineDa4 { get; set; } = (Rune)'┊';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineDa4 { get; set; } = (Rune)'┊';
 
     /// <summary>Box Drawings Heavy Horizontal (U+2501) - ━</summary>
-    public Rune HLineHv { get; set; } = (Rune)'━';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineHv { get; set; } = (Rune)'━';
 
     /// <summary>Box Drawings Heavy Vertical (U+2503) - ┃</summary>
-    public Rune VLineHv { get; set; } = (Rune)'┃';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineHv { get; set; } = (Rune)'┃';
 
     /// <summary>Box Drawings Light Left (U+2574) - ╴</summary>
-    public Rune HalfLeftLine { get; set; } = (Rune)'╴';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfLeftLine { get; set; } = (Rune)'╴';
 
     /// <summary>Box Drawings Light Vertical (U+2575) - ╵</summary>
-    public Rune HalfTopLine { get; set; } = (Rune)'╵';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfTopLine { get; set; } = (Rune)'╵';
 
     /// <summary>Box Drawings Light Horizontal (U+2576) - ╶</summary>
-    public Rune HalfRightLine { get; set; } = (Rune)'╶';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfRightLine { get; set; } = (Rune)'╶';
 
     /// <summary>Box Drawings Light Down (U+2577) - ╷</summary>
-    public Rune HalfBottomLine { get; set; } = (Rune)'╷';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfBottomLine { get; set; } = (Rune)'╷';
 
     /// <summary>Box Drawings Heavy Left (U+2578) - ╸</summary>
-    public Rune HalfLeftLineHv { get; set; } = (Rune)'╸';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfLeftLineHv { get; set; } = (Rune)'╸';
 
     /// <summary>Box Drawings Heavy Vertical (U+2579) - ╹</summary>
-    public Rune HalfTopLineHv { get; set; } = (Rune)'╹';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfTopLineHv { get; set; } = (Rune)'╹';
 
     /// <summary>Box Drawings Heavy Horizontal (U+257A) - ╺</summary>
-    public Rune HalfRightLineHv { get; set; } = (Rune)'╺';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfRightLineHv { get; set; } = (Rune)'╺';
 
     /// <summary>Box Drawings Light Vertical and Horizontal (U+257B) - ╻</summary>
-    public Rune HalfBottomLineLt { get; set; } = (Rune)'╻';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfBottomLineLt { get; set; } = (Rune)'╻';
 
     /// <summary>Box Drawings Light Horizontal and Heavy Horizontal (U+257C) - ╼</summary>
-    public Rune RightSideLineLtHv { get; set; } = (Rune)'╼';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightSideLineLtHv { get; set; } = (Rune)'╼';
 
     /// <summary>Box Drawings Light Vertical and Heavy Horizontal (U+257D) - ╽</summary>
-    public Rune BottomSideLineLtHv { get; set; } = (Rune)'╽';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomSideLineLtHv { get; set; } = (Rune)'╽';
 
     /// <summary>Box Drawings Heavy Left and Light Horizontal (U+257E) - ╾</summary>
-    public Rune LeftSideLineHvLt { get; set; } = (Rune)'╾';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftSideLineHvLt { get; set; } = (Rune)'╾';
 
     /// <summary>Box Drawings Heavy Vertical and Light Horizontal (U+257F) - ╿</summary>
-    public Rune TopSideLineHvLt { get; set; } = (Rune)'╿';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopSideLineHvLt { get; set; } = (Rune)'╿';
 
     #endregion
 
     #region ----------------- Upper Left Corners -----------------
 
     /// <summary>Box Drawings Upper Left Corner - Light Vertical and Light Horizontal (U+250C) - ┌</summary>
-    public Rune ULCorner { get; set; } = (Rune)'┌';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCorner { get; set; } = (Rune)'┌';
 
     /// <summary>Box Drawings Upper Left Corner -  Double (U+2554) - ╔</summary>
-    public Rune ULCornerDbl { get; set; } = (Rune)'╔';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerDbl { get; set; } = (Rune)'╔';
 
     /// <summary>Box Drawings Upper Left Corner - Light Arc Down and Horizontal (U+256D) - ╭</summary>
-    public Rune ULCornerR { get; set; } = (Rune)'╭';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerR { get; set; } = (Rune)'╭';
 
     /// <summary>Box Drawings Heavy Down and Horizontal (U+250F) - ┏</summary>
-    public Rune ULCornerHv { get; set; } = (Rune)'┏';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerHv { get; set; } = (Rune)'┏';
 
     /// <summary>Box Drawings Down Heavy and Horizontal Light (U+251E) - ┎</summary>
-    public Rune ULCornerHvLt { get; set; } = (Rune)'┎';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerHvLt { get; set; } = (Rune)'┎';
 
     /// <summary>Box Drawings Down Light and Horizontal Heavy (U+250D) - ┎</summary>
-    public Rune ULCornerLtHv { get; set; } = (Rune)'┍';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerLtHv { get; set; } = (Rune)'┍';
 
     /// <summary>Box Drawings Double Down and Single Horizontal (U+2553) - ╓</summary>
-    public Rune ULCornerDblSingle { get; set; } = (Rune)'╓';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerDblSingle { get; set; } = (Rune)'╓';
 
     /// <summary>Box Drawings Single Down and Double Horizontal (U+2552) - ╒</summary>
-    public Rune ULCornerSingleDbl { get; set; } = (Rune)'╒';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerSingleDbl { get; set; } = (Rune)'╒';
 
     #endregion
 
     #region ----------------- Lower Left Corners -----------------
 
     /// <summary>Box Drawings Lower Left Corner - Light Vertical and Light Horizontal (U+2514) - └</summary>
-    public Rune LLCorner { get; set; } = (Rune)'└';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCorner { get; set; } = (Rune)'└';
 
     /// <summary>Box Drawings Heavy Vertical and Horizontal (U+2517) - ┗</summary>
-    public Rune LLCornerHv { get; set; } = (Rune)'┗';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerHv { get; set; } = (Rune)'┗';
 
     /// <summary>Box Drawings Heavy Vertical and Horizontal Light (U+2516) - ┖</summary>
-    public Rune LLCornerHvLt { get; set; } = (Rune)'┖';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerHvLt { get; set; } = (Rune)'┖';
 
     /// <summary>Box Drawings Vertical Light and Horizontal Heavy (U+2511) - ┕</summary>
-    public Rune LLCornerLtHv { get; set; } = (Rune)'┕';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerLtHv { get; set; } = (Rune)'┕';
 
     /// <summary>Box Drawings Double Vertical and Double Left (U+255A) - ╚</summary>
-    public Rune LLCornerDbl { get; set; } = (Rune)'╚';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerDbl { get; set; } = (Rune)'╚';
 
     /// <summary>Box Drawings Single Vertical and Double Left (U+2558) - ╘</summary>
-    public Rune LLCornerSingleDbl { get; set; } = (Rune)'╘';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerSingleDbl { get; set; } = (Rune)'╘';
 
     /// <summary>Box Drawings Double Down and Single Left (U+2559) - ╙</summary>
-    public Rune LLCornerDblSingle { get; set; } = (Rune)'╙';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerDblSingle { get; set; } = (Rune)'╙';
 
     /// <summary>Box Drawings Upper Left Corner - Light Arc Down and Left (U+2570) - ╰</summary>
-    public Rune LLCornerR { get; set; } = (Rune)'╰';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerR { get; set; } = (Rune)'╰';
 
     #endregion
 
     #region ----------------- Upper Right Corners -----------------
 
     /// <summary>Box Drawings Upper Horizontal Corner - Light Vertical and Light Horizontal (U+2510) - ┐</summary>
-    public Rune URCorner { get; set; } = (Rune)'┐';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCorner { get; set; } = (Rune)'┐';
 
     /// <summary>Box Drawings Upper Horizontal Corner - Double Vertical and Double Horizontal (U+2557) - ╗</summary>
-    public Rune URCornerDbl { get; set; } = (Rune)'╗';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerDbl { get; set; } = (Rune)'╗';
 
     /// <summary>Box Drawings Upper Horizontal Corner - Light Arc Vertical and Horizontal (U+256E) - ╮</summary>
-    public Rune URCornerR { get; set; } = (Rune)'╮';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerR { get; set; } = (Rune)'╮';
 
     /// <summary>Box Drawings Heavy Down and Left (U+2513) - ┓</summary>
-    public Rune URCornerHv { get; set; } = (Rune)'┓';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerHv { get; set; } = (Rune)'┓';
 
     /// <summary>Box Drawings Heavy Vertical and Left Down Light (U+2511) - ┑</summary>
-    public Rune URCornerHvLt { get; set; } = (Rune)'┑';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerHvLt { get; set; } = (Rune)'┑';
 
     /// <summary>Box Drawings Down Light and Horizontal Heavy (U+2514) - ┒</summary>
-    public Rune URCornerLtHv { get; set; } = (Rune)'┒';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerLtHv { get; set; } = (Rune)'┒';
 
     /// <summary>Box Drawings Double Vertical and Single Left (U+2556) - ╖</summary>
-    public Rune URCornerDblSingle { get; set; } = (Rune)'╖';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerDblSingle { get; set; } = (Rune)'╖';
 
     /// <summary>Box Drawings Single Vertical and Double Left (U+2555) - ╕</summary>
-    public Rune URCornerSingleDbl { get; set; } = (Rune)'╕';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerSingleDbl { get; set; } = (Rune)'╕';
 
     #endregion
 
     #region ----------------- Lower Right Corners -----------------
 
     /// <summary>Box Drawings Lower Right Corner - Light (U+2518) - ┘</summary>
-    public Rune LRCorner { get; set; } = (Rune)'┘';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCorner { get; set; } = (Rune)'┘';
 
     /// <summary>Box Drawings Lower Right Corner - Double (U+255D) - ╝</summary>
-    public Rune LRCornerDbl { get; set; } = (Rune)'╝';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerDbl { get; set; } = (Rune)'╝';
 
     /// <summary>Box Drawings Lower Right Corner - Rounded (U+256F) - ╯</summary>
-    public Rune LRCornerR { get; set; } = (Rune)'╯';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerR { get; set; } = (Rune)'╯';
 
     /// <summary>Box Drawings Lower Right Corner - Heavy (U+251B) - ┛</summary>
-    public Rune LRCornerHv { get; set; } = (Rune)'┛';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerHv { get; set; } = (Rune)'┛';
 
     /// <summary>Box Drawings Lower Right Corner - Double Vertical and Single Horizontal (U+255C) - ╜</summary>
-    public Rune LRCornerDblSingle { get; set; } = (Rune)'╜';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerDblSingle { get; set; } = (Rune)'╜';
 
     /// <summary>Box Drawings Lower Right Corner - Single Vertical and Double Horizontal (U+255B) - ╛</summary>
-    public Rune LRCornerSingleDbl { get; set; } = (Rune)'╛';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerSingleDbl { get; set; } = (Rune)'╛';
 
     /// <summary>Box Drawings Lower Right Corner - Light Vertical and Heavy Horizontal (U+2519) - ┙</summary>
-    public Rune LRCornerLtHv { get; set; } = (Rune)'┙';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerLtHv { get; set; } = (Rune)'┙';
 
     /// <summary>Box Drawings Lower Right Corner - Heavy Vertical and Light Horizontal (U+251A) - ┚</summary>
-    public Rune LRCornerHvLt { get; set; } = (Rune)'┚';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerHvLt { get; set; } = (Rune)'┚';
 
     #endregion
 
     #region ----------------- Tees -----------------
 
     /// <summary>Box Drawings Left Tee - Single Vertical and Single Horizontal (U+251C) - ├</summary>
-    public Rune LeftTee { get; set; } = (Rune)'├';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTee { get; set; } = (Rune)'├';
 
     /// <summary>Box Drawings Left Tee - Single Vertical and Double Horizontal (U+255E) - ╞</summary>
-    public Rune LeftTeeDblH { get; set; } = (Rune)'╞';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeDblH { get; set; } = (Rune)'╞';
 
     /// <summary>Box Drawings Left Tee - Double Vertical and Single Horizontal (U+255F) - ╟</summary>
-    public Rune LeftTeeDblV { get; set; } = (Rune)'╟';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeDblV { get; set; } = (Rune)'╟';
 
     /// <summary>Box Drawings Left Tee - Double Vertical and Double Horizontal (U+2560) - ╠</summary>
-    public Rune LeftTeeDbl { get; set; } = (Rune)'╠';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeDbl { get; set; } = (Rune)'╠';
 
     /// <summary>Box Drawings Left Tee - Heavy Horizontal and Light Vertical (U+2523) - ┝</summary>
-    public Rune LeftTeeHvH { get; set; } = (Rune)'┝';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeHvH { get; set; } = (Rune)'┝';
 
     /// <summary>Box Drawings Left Tee - Light Horizontal and Heavy Vertical (U+252B) - ┠</summary>
-    public Rune LeftTeeHvV { get; set; } = (Rune)'┠';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeHvV { get; set; } = (Rune)'┠';
 
     /// <summary>Box Drawings Left Tee - Heavy Vertical and Heavy Horizontal (U+2527) - ┣</summary>
-    public Rune LeftTeeHvDblH { get; set; } = (Rune)'┣';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeHvDblH { get; set; } = (Rune)'┣';
 
     /// <summary>Box Drawings Right Tee - Single Vertical and Single Horizontal (U+2524) - ┤</summary>
-    public Rune RightTee { get; set; } = (Rune)'┤';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTee { get; set; } = (Rune)'┤';
 
     /// <summary>Box Drawings Right Tee - Single Vertical and Double Horizontal (U+2561) - ╡</summary>
-    public Rune RightTeeDblH { get; set; } = (Rune)'╡';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeDblH { get; set; } = (Rune)'╡';
 
     /// <summary>Box Drawings Right Tee - Double Vertical and Single Horizontal (U+2562) - ╢</summary>
-    public Rune RightTeeDblV { get; set; } = (Rune)'╢';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeDblV { get; set; } = (Rune)'╢';
 
     /// <summary>Box Drawings Right Tee - Double Vertical and Double Horizontal (U+2563) - ╣</summary>
-    public Rune RightTeeDbl { get; set; } = (Rune)'╣';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeDbl { get; set; } = (Rune)'╣';
 
     /// <summary>Box Drawings Right Tee - Heavy Horizontal and Light Vertical (U+2528) - ┥</summary>
-    public Rune RightTeeHvH { get; set; } = (Rune)'┥';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeHvH { get; set; } = (Rune)'┥';
 
     /// <summary>Box Drawings Right Tee - Light Horizontal and Heavy Vertical (U+2530) - ┨</summary>
-    public Rune RightTeeHvV { get; set; } = (Rune)'┨';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeHvV { get; set; } = (Rune)'┨';
 
     /// <summary>Box Drawings Right Tee - Heavy Vertical and Heavy Horizontal (U+252C) - ┫</summary>
-    public Rune RightTeeHvDblH { get; set; } = (Rune)'┫';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeHvDblH { get; set; } = (Rune)'┫';
 
     /// <summary>Box Drawings Top Tee - Single Vertical and Single Horizontal (U+252C) - ┬</summary>
-    public Rune TopTee { get; set; } = (Rune)'┬';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTee { get; set; } = (Rune)'┬';
 
     /// <summary>Box Drawings Top Tee - Single Vertical and Double Horizontal (U+2564) - ╤</summary>
-    public Rune TopTeeDblH { get; set; } = (Rune)'╤';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeDblH { get; set; } = (Rune)'╤';
 
     /// <summary>Box Drawings Top Tee - Double Vertical and Single Horizontal  (U+2565) - ╥</summary>
-    public Rune TopTeeDblV { get; set; } = (Rune)'╥';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeDblV { get; set; } = (Rune)'╥';
 
     /// <summary>Box Drawings Top Tee - Double Vertical and Double Horizontal (U+2566) - ╦</summary>
-    public Rune TopTeeDbl { get; set; } = (Rune)'╦';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeDbl { get; set; } = (Rune)'╦';
 
     /// <summary>Box Drawings Top Tee - Heavy Horizontal and Light Vertical (U+252F) - ┯</summary>
-    public Rune TopTeeHvH { get; set; } = (Rune)'┯';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeHvH { get; set; } = (Rune)'┯';
 
     /// <summary>Box Drawings Top Tee - Light Horizontal and Heavy Vertical (U+2537) - ┰</summary>
-    public Rune TopTeeHvV { get; set; } = (Rune)'┰';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeHvV { get; set; } = (Rune)'┰';
 
     /// <summary>Box Drawings Top Tee - Heavy Vertical and Heavy Horizontal (U+2533) - ┳</summary>
-    public Rune TopTeeHvDblH { get; set; } = (Rune)'┳';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeHvDblH { get; set; } = (Rune)'┳';
 
     /// <summary>Box Drawings Bottom Tee - Single Vertical and Single Horizontal (U+2534) - ┴</summary>
-    public Rune BottomTee { get; set; } = (Rune)'┴';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTee { get; set; } = (Rune)'┴';
 
     /// <summary>Box Drawings Bottom Tee - Single Vertical and Double Horizontal (U+2567) - ╧</summary>
-    public Rune BottomTeeDblH { get; set; } = (Rune)'╧';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeDblH { get; set; } = (Rune)'╧';
 
     /// <summary>Box Drawings Bottom Tee - Double Vertical and Single Horizontal (U+2568) - ╨</summary>
-    public Rune BottomTeeDblV { get; set; } = (Rune)'╨';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeDblV { get; set; } = (Rune)'╨';
 
     /// <summary>Box Drawings Bottom Tee - Double Vertical and Double Horizontal (U+2569) - ╩</summary>
-    public Rune BottomTeeDbl { get; set; } = (Rune)'╩';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeDbl { get; set; } = (Rune)'╩';
 
     /// <summary>Box Drawings Bottom Tee - Heavy Horizontal and Light Vertical (U+2535) - ┷</summary>
-    public Rune BottomTeeHvH { get; set; } = (Rune)'┷';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeHvH { get; set; } = (Rune)'┷';
 
     /// <summary>Box Drawings Bottom Tee - Light Horizontal and Heavy Vertical (U+253D) - ┸</summary>
-    public Rune BottomTeeHvV { get; set; } = (Rune)'┸';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeHvV { get; set; } = (Rune)'┸';
 
     /// <summary>Box Drawings Bottom Tee - Heavy Vertical and Heavy Horizontal (U+2539) - ┻</summary>
-    public Rune BottomTeeHvDblH { get; set; } = (Rune)'┻';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeHvDblH { get; set; } = (Rune)'┻';
 
     #endregion
 
     #region ----------------- Crosses -----------------
 
     /// <summary>Box Drawings Cross - Single Vertical and Single Horizontal (U+253C) - ┼</summary>
-    public Rune Cross { get; set; } = (Rune)'┼';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune Cross { get; set; } = (Rune)'┼';
 
     /// <summary>Box Drawings Cross - Single Vertical and Double Horizontal (U+256A) - ╪</summary>
-    public Rune CrossDblH { get; set; } = (Rune)'╪';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossDblH { get; set; } = (Rune)'╪';
 
     /// <summary>Box Drawings Cross - Double Vertical and Single Horizontal (U+256B) - ╫</summary>
-    public Rune CrossDblV { get; set; } = (Rune)'╫';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossDblV { get; set; } = (Rune)'╫';
 
     /// <summary>Box Drawings Cross - Double Vertical and Double Horizontal (U+256C) - ╬</summary>
-    public Rune CrossDbl { get; set; } = (Rune)'╬';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossDbl { get; set; } = (Rune)'╬';
 
     /// <summary>Box Drawings Cross - Heavy Horizontal and Light Vertical (U+253F) - ┿</summary>
-    public Rune CrossHvH { get; set; } = (Rune)'┿';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossHvH { get; set; } = (Rune)'┿';
 
     /// <summary>Box Drawings Cross - Light Horizontal and Heavy Vertical (U+2541) - ╂</summary>
-    public Rune CrossHvV { get; set; } = (Rune)'╂';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossHvV { get; set; } = (Rune)'╂';
 
     /// <summary>Box Drawings Cross - Heavy Vertical and Heavy Horizontal (U+254B) - ╋</summary>
-    public Rune CrossHv { get; set; } = (Rune)'╋';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossHv { get; set; } = (Rune)'╋';
 
     #endregion
 
     #region ----------------- ShadowStyle -----------------
 
     /// <summary>Shadow - Vertical Start - Left Half Block - ▌ U+0258c</summary>
-    public Rune ShadowVerticalStart { get; set; } = (Rune)'▖'; // Half: '\u2596'  ▖;
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowVerticalStart { get; set; } = (Rune)'▖'; // Half: '\u2596'  ▖;
 
     /// <summary>Shadow - Vertical - Left Half Block - ▌ U+0258c</summary>
-    public Rune ShadowVertical { get; set; } = (Rune)'▌';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowVertical { get; set; } = (Rune)'▌';
 
     /// <summary>Shadow - Horizontal Start - Upper Half Block - ▀ U+02580</summary>
-    public Rune ShadowHorizontalStart { get; set; } = (Rune)'▝'; // Half: ▝ U+0259d;
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowHorizontalStart { get; set; } = (Rune)'▝'; // Half: ▝ U+0259d;
 
     /// <summary>Shadow - Horizontal - Upper Half Block - ▀ U+02580</summary>
-    public Rune ShadowHorizontal { get; set; } = (Rune)'▀';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowHorizontal { get; set; } = (Rune)'▀';
 
     /// <summary>Shadow - Horizontal End - Quadrant Upper Left - ▘ U+02598</summary>
-    public Rune ShadowHorizontalEnd { get; set; } = (Rune)'▘';
+    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowHorizontalEnd { get; set; } = (Rune)'▘';
 
     #endregion
 }
diff --git a/Terminal.Gui/Drawing/LineCanvas/LineStyle.cs b/Terminal.Gui/Drawing/LineCanvas/LineStyle.cs
index a696bc9435..fb56fccfd0 100644
--- a/Terminal.Gui/Drawing/LineCanvas/LineStyle.cs
+++ b/Terminal.Gui/Drawing/LineCanvas/LineStyle.cs
@@ -10,7 +10,7 @@ public enum LineStyle
     /// <summary>No border is drawn.</summary>
     None,
 
-    /// <summary>The border is drawn using thin line CM.Glyphs.</summary>
+    /// <summary>The border is drawn using thin line Glyphs.</summary>
     Single,
 
     /// <summary>The border is drawn using thin line glyphs with dashed (double and triple) straight lines.</summary>
@@ -19,10 +19,10 @@ public enum LineStyle
     /// <summary>The border is drawn using thin line glyphs with short dashed (triple and quadruple) straight lines.</summary>
     Dotted,
 
-    /// <summary>The border is drawn using thin double line CM.Glyphs.</summary>
+    /// <summary>The border is drawn using thin double line Glyphs.</summary>
     Double,
 
-    /// <summary>The border is drawn using heavy line CM.Glyphs.</summary>
+    /// <summary>The border is drawn using heavy line Glyphs.</summary>
     Heavy,
 
     /// <summary>The border is drawn using heavy line glyphs with dashed (double and triple) straight lines.</summary>
diff --git a/Terminal.Gui/Resources/config.json b/Terminal.Gui/Resources/config.json
index ca6ab6a842..aac4b02fe9 100644
--- a/Terminal.Gui/Resources/config.json
+++ b/Terminal.Gui/Resources/config.json
@@ -39,148 +39,147 @@
   "FileDialogStyle.DefaultUseUnicodeCharacters": false,
 
   // --------------- Glyphs ---------------
-  "Glyphs": {
-    "File": "☰",
-    "Folder": "꤉",
-    "HorizontalEllipsis": "…",
-    "VerticalFourDots": "⁞",
-    "CheckStateChecked": "☑",
-    "CheckStateUnChecked": "☐",
-    "CheckStateNone": "☒",
-    "Selected": "◉",
-    "UnSelected": "○",
-    "RightArrow": "►",
-    "LeftArrow": "◄",
-    "DownArrow": "▼",
-    "UpArrow": "▲",
-    "LeftDefaultIndicator": "►",
-    "RightDefaultIndicator": "◄",
-    "LeftBracket": "⟦",
-    "RightBracket": "⟧",
-    "BlocksMeterSegment": "▌",
-    "ContinuousMeterSegment": "█",
-    "Stipple": "░",
-    "Diamond": "◊",
-    "Close": "✘",
-    "Minimize": "❏",
-    "Maximize": "✽",
-    "Dot": "∙",
-    "BlackCircle": "●",
-    "Expand": "+",
-    "Collapse": "-",
-    "IdenticalTo": "≡",
-    "Move": "◊",
-    "SizeHorizontal": "↔",
-    "SizeVertical": "↕",
-    "SizeTopLeft": "↖",
-    "SizeTopRight": "↗",
-    "SizeBottomRight": "↘",
-    "SizeBottomLeft": "↙",
-    "Apple": "\uD83C\uDF4E",
-    "AppleBMP": "❦",
-    "HLine": "─",
-    "VLine": "│",
-    "HLineDbl": "═",
-    "VLineDbl": "║",
-    "HLineHvDa2": "╍",
-    "VLineHvDa3": "┇",
-    "HLineHvDa3": "┅",
-    "HLineHvDa4": "┉",
-    "VLineHvDa2": "╏",
-    "VLineHvDa4": "┋",
-    "HLineDa2": "╌",
-    "VLineDa3": "┆",
-    "HLineDa3": "┄",
-    "HLineDa4": "┈",
-    "VLineDa2": "╎",
-    "VLineDa4": "┊",
-    "HLineHv": "━",
-    "VLineHv": "┃",
-    "HalfLeftLine": "╴",
-    "HalfTopLine": "╵",
-    "HalfRightLine": "╶",
-    "HalfBottomLine": "╷",
-    "HalfLeftLineHv": "╸",
-    "HalfTopLineHv": "╹",
-    "HalfRightLineHv": "╺",
-    "HalfBottomLineLt": "╻",
-    "RightSideLineLtHv": "╼",
-    "BottomSideLineLtHv": "╽",
-    "LeftSideLineHvLt": "╾",
-    "TopSideLineHvLt": "╿",
-    "ULCorner": "┌",
-    "ULCornerDbl": "╔",
-    "ULCornerR": "╭",
-    "ULCornerHv": "┏",
-    "ULCornerHvLt": "┎",
-    "ULCornerLtHv": "┍",
-    "ULCornerDblSingle": "╓",
-    "ULCornerSingleDbl": "╒",
-    "LLCorner": "└",
-    "LLCornerHv": "┗",
-    "LLCornerHvLt": "┖",
-    "LLCornerLtHv": "┕",
-    "LLCornerDbl": "╚",
-    "LLCornerSingleDbl": "╘",
-    "LLCornerDblSingle": "╙",
-    "LLCornerR": "╰",
-    "URCorner": "┐",
-    "URCornerDbl": "╗",
-    "URCornerR": "╮",
-    "URCornerHv": "┓",
-    "URCornerHvLt": "┑",
-    "URCornerLtHv": "┒",
-    "URCornerDblSingle": "╖",
-    "URCornerSingleDbl": "╕",
-    "LRCorner": "┘",
-    "LRCornerDbl": "╝",
-    "LRCornerR": "╯",
-    "LRCornerHv": "┛",
-    "LRCornerDblSingle": "╜",
-    "LRCornerSingleDbl": "╛",
-    "LRCornerLtHv": "┙",
-    "LRCornerHvLt": "┚",
-    "LeftTee": "├",
-    "LeftTeeDblH": "╞",
-    "LeftTeeDblV": "╟",
-    "LeftTeeDbl": "╠",
-    "LeftTeeHvH": "┝",
-    "LeftTeeHvV": "┠",
-    "LeftTeeHvDblH": "┣",
-    "RightTee": "┤",
-    "RightTeeDblH": "╡",
-    "RightTeeDblV": "╢",
-    "RightTeeDbl": "╣",
-    "RightTeeHvH": "┥",
-    "RightTeeHvV": "┨",
-    "RightTeeHvDblH": "┫",
-    "TopTee": "┬",
-    "TopTeeDblH": "╤",
-    "TopTeeDblV": "╥",
-    "TopTeeDbl": "╦",
-    "TopTeeHvH": "┯",
-    "TopTeeHvV": "┰",
-    "TopTeeHvDblH": "┳",
-    "BottomTee": "┴",
-    "BottomTeeDblH": "╧",
-    "BottomTeeDblV": "╨",
-    "BottomTeeDbl": "╩",
-    "BottomTeeHvH": "┷",
-    "BottomTeeHvV": "┸",
-    "BottomTeeHvDblH": "┻",
-    "Cross": "┼",
-    "CrossDblH": "╪",
-    "CrossDblV": "╫",
-    "CrossDbl": "╬",
-    "CrossHvH": "┿",
-    "CrossHvV": "╂",
-    "CrossHv": "╋",
-    "ShadowVerticalStart": "▖",
-    "ShadowVertical": "▌",
-    "ShadowHorizontalStart": "▝",
-    "ShadowHorizontal": "▀",
-    "ShadowHorizontalEnd": "▘"
-  },
+  "Glyphs.Apple": "\uD83C\uDF4E",
+  "Glyphs.AppleBMP": "❦",
+  "Glyphs.BlackCircle": "●",
+  "Glyphs.BlocksMeterSegment": "▌",
+  "Glyphs.BottomSideLineLtHv": "╽",
+  "Glyphs.BottomTee": "┴",
+  "Glyphs.BottomTeeDbl": "╩",
+  "Glyphs.BottomTeeDblH": "╧",
+  "Glyphs.BottomTeeDblV": "╨",
+  "Glyphs.BottomTeeHvDblH": "┻",
+  "Glyphs.BottomTeeHvH": "┷",
+  "Glyphs.BottomTeeHvV": "┸",
+  "Glyphs.CheckStateChecked": "☑",
+  "Glyphs.CheckStateNone": "☒",
+  "Glyphs.CheckStateUnChecked": "☐",
+  "Glyphs.Close": "✘",
+  "Glyphs.Collapse": "-",
+  "Glyphs.ContinuousMeterSegment": "█",
+  "Glyphs.Cross": "┼",
+  "Glyphs.CrossDbl": "╬",
+  "Glyphs.CrossDblH": "╪",
+  "Glyphs.CrossDblV": "╫",
+  "Glyphs.CrossHv": "╋",
+  "Glyphs.CrossHvH": "┿",
+  "Glyphs.CrossHvV": "╂",
+  "Glyphs.Diamond": "◊",
+  "Glyphs.Dot": "∙",
+  "Glyphs.DottedSquare": "⬚",
+  "Glyphs.DownArrow": "▼",
+  "Glyphs.Expand": "+",
+  "Glyphs.File": "☰",
+  "Glyphs.Folder": "꤉",
+  "Glyphs.HalfBottomLine": "╷",
+  "Glyphs.HalfBottomLineLt": "╻",
+  "Glyphs.HalfLeftLine": "╴",
+  "Glyphs.HalfLeftLineHv": "╸",
+  "Glyphs.HalfRightLine": "╶",
+  "Glyphs.HalfRightLineHv": "╺",
+  "Glyphs.HalfTopLine": "╵",
+  "Glyphs.HalfTopLineHv": "╹",
+  "Glyphs.HLine": "─",
+  "Glyphs.HLineDa2": "╌",
+  "Glyphs.HLineDa3": "┄",
+  "Glyphs.HLineDa4": "┈",
+  "Glyphs.HLineDbl": "═",
+  "Glyphs.HLineHv": "━",
+  "Glyphs.HLineHvDa2": "╍",
+  "Glyphs.HLineHvDa3": "┅",
+  "Glyphs.HLineHvDa4": "┉",
+  "Glyphs.HorizontalEllipsis": "…",
+  "Glyphs.IdenticalTo": "≡",
+  "Glyphs.LeftArrow": "◄",
+  "Glyphs.LeftBracket": "⟦",
+  "Glyphs.LeftDefaultIndicator": "►",
+  "Glyphs.LeftSideLineHvLt": "╾",
+  "Glyphs.LeftTee": "├",
+  "Glyphs.LeftTeeDbl": "╠",
+  "Glyphs.LeftTeeDblH": "╞",
+  "Glyphs.LeftTeeDblV": "╟",
+  "Glyphs.LeftTeeHvDblH": "┣",
+  "Glyphs.LeftTeeHvH": "┝",
+  "Glyphs.LeftTeeHvV": "┠",
+  "Glyphs.LLCorner": "└",
+  "Glyphs.LLCornerDbl": "╚",
+  "Glyphs.LLCornerDblSingle": "╙",
+  "Glyphs.LLCornerHv": "┗",
+  "Glyphs.LLCornerHvLt": "┖",
+  "Glyphs.LLCornerLtHv": "┕",
+  "Glyphs.LLCornerR": "╰",
+  "Glyphs.LLCornerSingleDbl": "╘",
+  "Glyphs.LRCorner": "┘",
+  "Glyphs.LRCornerDbl": "╝",
+  "Glyphs.LRCornerDblSingle": "╜",
+  "Glyphs.LRCornerHv": "┛",
+  "Glyphs.LRCornerHvLt": "┚",
+  "Glyphs.LRCornerLtHv": "┙",
+  "Glyphs.LRCornerR": "╯",
+  "Glyphs.LRCornerSingleDbl": "╛",
+  "Glyphs.Maximize": "✽",
+  "Glyphs.Minimize": "❏",
+  "Glyphs.Move": "◊",
+  "Glyphs.RightArrow": "►",
+  "Glyphs.RightBracket": "⟧",
+  "Glyphs.RightDefaultIndicator": "◄",
+  "Glyphs.RightSideLineLtHv": "╼",
+  "Glyphs.RightTee": "┤",
+  "Glyphs.RightTeeDbl": "╣",
+  "Glyphs.RightTeeDblH": "╡",
+  "Glyphs.RightTeeDblV": "╢",
+  "Glyphs.RightTeeHvDblH": "┫",
+  "Glyphs.RightTeeHvH": "┥",
+  "Glyphs.RightTeeHvV": "┨",
+  "Glyphs.Selected": "◉",
+  "Glyphs.ShadowHorizontal": "▀",
+  "Glyphs.ShadowHorizontalEnd": "▘",
+  "Glyphs.ShadowHorizontalStart": "▝",
+  "Glyphs.ShadowVertical": "▌",
+  "Glyphs.ShadowVerticalStart": "▖",
+  "Glyphs.SizeBottomLeft": "↙",
+  "Glyphs.SizeBottomRight": "↘",
+  "Glyphs.SizeHorizontal": "↔",
+  "Glyphs.SizeTopLeft": "↖",
+  "Glyphs.SizeTopRight": "↗",
+  "Glyphs.SizeVertical": "↕",
+  "Glyphs.Stipple": "░",
+  "Glyphs.TopSideLineHvLt": "╿",
+  "Glyphs.TopTee": "┬",
+  "Glyphs.TopTeeDbl": "╦",
+  "Glyphs.TopTeeDblH": "╤",
+  "Glyphs.TopTeeDblV": "╥",
+  "Glyphs.TopTeeHvDblH": "┳",
+  "Glyphs.TopTeeHvH": "┯",
+  "Glyphs.TopTeeHvV": "┰",
+  "Glyphs.ULCorner": "┌",
+  "Glyphs.ULCornerDbl": "╔",
+  "Glyphs.ULCornerDblSingle": "╓",
+  "Glyphs.ULCornerHv": "┏",
+  "Glyphs.ULCornerHvLt": "┎",
+  "Glyphs.ULCornerLtHv": "┍",
+  "Glyphs.ULCornerR": "╭",
+  "Glyphs.ULCornerSingleDbl": "╒",
+  "Glyphs.UnSelected": "○",
+  "Glyphs.UpArrow": "▲",
+  "Glyphs.URCorner": "┐",
+  "Glyphs.URCornerDbl": "╗",
+  "Glyphs.URCornerDblSingle": "╖",
+  "Glyphs.URCornerHv": "┓",
+  "Glyphs.URCornerHvLt": "┑",
+  "Glyphs.URCornerLtHv": "┒",
+  "Glyphs.URCornerR": "╮",
+  "Glyphs.URCornerSingleDbl": "╕",
+  "Glyphs.VerticalFourDots": "⁞",
+  "Glyphs.VLine": "│",
+  "Glyphs.VLineDa2": "╎",
+  "Glyphs.VLineDa3": "┆",
+  "Glyphs.VLineDa4": "┊",
+  "Glyphs.VLineDbl": "║",
+  "Glyphs.VLineHv": "┃",
+  "Glyphs.VLineHvDa2": "╏",
+  "Glyphs.VLineHvDa3": "┇",
+  "Glyphs.VLineHvDa4": "┋",
 
   // --------------- Themes -----------------
   "Theme": "Default",
diff --git a/Terminal.Gui/Views/CheckBox.cs b/Terminal.Gui/Views/CheckBox.cs
index 6b7c7ad190..cec31d4f9c 100644
--- a/Terminal.Gui/Views/CheckBox.cs
+++ b/Terminal.Gui/Views/CheckBox.cs
@@ -114,15 +114,15 @@ public bool AllowCheckStateNone
     ///     <para>
     ///         If <see cref="AllowCheckStateNone"/> is <see langword="true"/> and <see cref="CheckState.None"/>, the
     ///         <see cref="CheckBox"/>
-    ///         will display the <c>ConfigurationManager.Glyphs.CheckStateNone</c> character (☒).
+    ///         will display the <c>Glyphs.CheckStateNone</c> character (☒).
     ///     </para>
     ///     <para>
     ///         If <see cref="CheckState.UnChecked"/>, the <see cref="CheckBox"/>
-    ///         will display the <c>ConfigurationManager.Glyphs.CheckStateUnChecked</c> character (☐).
+    ///         will display the <c>Glyphs.CheckStateUnChecked</c> character (☐).
     ///     </para>
     ///     <para>
     ///         If <see cref="CheckState.Checked"/>, the <see cref="CheckBox"/>
-    ///         will display the <c>ConfigurationManager.Glyphs.CheckStateChecked</c> character (☑).
+    ///         will display the <c>Glyphs.CheckStateChecked</c> character (☑).
     ///     </para>
     /// </remarks>
     public CheckState CheckedState
diff --git a/UICatalog/Scenarios/CharacterMap/CharacterMap.cs b/UICatalog/Scenarios/CharacterMap/CharacterMap.cs
index b6c7c11175..efea9e28a2 100644
--- a/UICatalog/Scenarios/CharacterMap/CharacterMap.cs
+++ b/UICatalog/Scenarios/CharacterMap/CharacterMap.cs
@@ -270,7 +270,7 @@ private EnumerableTableSource<UnicodeRange> CreateCategoryTable (int sortByColum
         var startSort = string.Empty;
         var endSort = string.Empty;
 
-        string sortIndicator = descending ? CM.Glyphs.DownArrow.ToString () : CM.Glyphs.UpArrow.ToString ();
+        string sortIndicator = descending ? Glyphs.DownArrow.ToString () : Glyphs.UpArrow.ToString ();
 
         switch (sortByColumn)
         {
diff --git a/UICatalog/Scenarios/Clipping.cs b/UICatalog/Scenarios/Clipping.cs
index 621bfc8604..57a2b01725 100644
--- a/UICatalog/Scenarios/Clipping.cs
+++ b/UICatalog/Scenarios/Clipping.cs
@@ -25,7 +25,7 @@ public override void Main ()
 
         app.DrawingContent += (s, e) =>
                            {
-                               app!.FillRect (app!.Viewport, CM.Glyphs.Dot);
+                               app!.FillRect (app!.Viewport, Glyphs.Dot);
                                e.Cancel = true;
                            };
 
diff --git a/UICatalog/Scenarios/DynamicMenuBar.cs b/UICatalog/Scenarios/DynamicMenuBar.cs
index 60408929bb..987ee97868 100644
--- a/UICatalog/Scenarios/DynamicMenuBar.cs
+++ b/UICatalog/Scenarios/DynamicMenuBar.cs
@@ -567,10 +567,10 @@ public DynamicMenuBarSample ()
             var btnAddMenuBar = new Button { Y = 1, Text = "Add a MenuBar" };
             frmMenu.Add (btnAddMenuBar);
 
-            var btnMenuBarUp = new Button { X = Pos.Center (), Text = CM.Glyphs.UpArrow.ToString () };
+            var btnMenuBarUp = new Button { X = Pos.Center (), Text = Glyphs.UpArrow.ToString () };
             frmMenu.Add (btnMenuBarUp);
 
-            var btnMenuBarDown = new Button { X = Pos.Center (), Y = Pos.Bottom (btnMenuBarUp), Text = CM.Glyphs.DownArrow.ToString () };
+            var btnMenuBarDown = new Button { X = Pos.Center (), Y = Pos.Bottom (btnMenuBarUp), Text = Glyphs.DownArrow.ToString () };
             frmMenu.Add (btnMenuBarDown);
 
             var btnRemoveMenuBar = new Button { Y = 1, Text = "Remove a MenuBar" };
@@ -580,7 +580,7 @@ public DynamicMenuBarSample ()
 
             var btnPrevious = new Button
             {
-                X = Pos.Left (btnAddMenuBar), Y = Pos.Top (btnAddMenuBar) + 2, Text = CM.Glyphs.LeftArrow.ToString ()
+                X = Pos.Left (btnAddMenuBar), Y = Pos.Top (btnAddMenuBar) + 2, Text = Glyphs.LeftArrow.ToString ()
             };
             frmMenu.Add (btnPrevious);
 
@@ -588,7 +588,7 @@ public DynamicMenuBarSample ()
             btnAdd.X = Pos.AnchorEnd ();
             frmMenu.Add (btnAdd);
 
-            var btnNext = new Button { X = Pos.X (btnAdd), Y = Pos.Top (btnPrevious), Text = CM.Glyphs.RightArrow.ToString () };
+            var btnNext = new Button { X = Pos.X (btnAdd), Y = Pos.Top (btnPrevious), Text = Glyphs.RightArrow.ToString () };
             frmMenu.Add (btnNext);
 
             var lblMenuBar = new Label
@@ -648,10 +648,10 @@ public DynamicMenuBarSample ()
             var btnRemove = new Button { X = Pos.Left (btnAdd), Y = Pos.Top (btnAdd) + 1, Text = "Remove" };
             frmMenu.Add (btnRemove);
 
-            var btnUp = new Button { X = Pos.Right (_lstMenus) + 2, Y = Pos.Top (btnRemove) + 2, Text = CM.Glyphs.UpArrow.ToString () };
+            var btnUp = new Button { X = Pos.Right (_lstMenus) + 2, Y = Pos.Top (btnRemove) + 2, Text = Glyphs.UpArrow.ToString () };
             frmMenu.Add (btnUp);
 
-            var btnDown = new Button { X = Pos.Right (_lstMenus) + 2, Y = Pos.Top (btnUp) + 1, Text = CM.Glyphs.DownArrow.ToString () };
+            var btnDown = new Button { X = Pos.Right (_lstMenus) + 2, Y = Pos.Top (btnUp) + 1, Text = Glyphs.DownArrow.ToString () };
             frmMenu.Add (btnDown);
 
             Add (frmMenu);
diff --git a/UICatalog/Scenarios/DynamicStatusBar.cs b/UICatalog/Scenarios/DynamicStatusBar.cs
index ce377c3de7..4e1cd157a3 100644
--- a/UICatalog/Scenarios/DynamicStatusBar.cs
+++ b/UICatalog/Scenarios/DynamicStatusBar.cs
@@ -293,10 +293,10 @@ public DynamicStatusBarSample ()
             var _btnRemove = new Button { X = Pos.Left (_btnAdd), Y = Pos.Top (_btnAdd) + 1, Text = "Remove" };
             _frmStatusBar.Add (_btnRemove);
 
-            var _btnUp = new Button { X = Pos.Right (_lstItems) + 2, Y = Pos.Top (_btnRemove) + 2, Text = CM.Glyphs.UpArrow.ToString () };
+            var _btnUp = new Button { X = Pos.Right (_lstItems) + 2, Y = Pos.Top (_btnRemove) + 2, Text = Glyphs.UpArrow.ToString () };
             _frmStatusBar.Add (_btnUp);
 
-            var _btnDown = new Button { X = Pos.Right (_lstItems) + 2, Y = Pos.Top (_btnUp) + 1, Text = CM.Glyphs.DownArrow.ToString () };
+            var _btnDown = new Button { X = Pos.Right (_lstItems) + 2, Y = Pos.Top (_btnUp) + 1, Text = Glyphs.DownArrow.ToString () };
             _frmStatusBar.Add (_btnDown);
 
             Add (_frmStatusBar);
diff --git a/UICatalog/Scenarios/GraphViewExample.cs b/UICatalog/Scenarios/GraphViewExample.cs
index f66463664a..bb62e1cf04 100644
--- a/UICatalog/Scenarios/GraphViewExample.cs
+++ b/UICatalog/Scenarios/GraphViewExample.cs
@@ -251,7 +251,7 @@ private void MultiBarGraph ()
 
         var series = new MultiBarSeries (3, 1, 0.25f, new [] { magenta, cyan, red });
 
-        Rune stiple = CM.Glyphs.Stipple;
+        Rune stiple = Glyphs.Stipple;
 
         series.AddBars ("'96", stiple, 5900, 9000, 14000);
         series.AddBars ("'97", stiple, 6100, 9200, 14800);
@@ -817,7 +817,7 @@ private void SetupPopulationPyramid ()
         _graphView.AxisY.ShowLabelsEvery = 0;
         _graphView.AxisY.Minimum = 0;
 
-        var stiple = new GraphCellToRender (CM.Glyphs.Stipple);
+        var stiple = new GraphCellToRender (Glyphs.Stipple);
 
         // Bars in 2 directions
 
diff --git a/UICatalog/Scenarios/LineViewExample.cs b/UICatalog/Scenarios/LineViewExample.cs
index ff3a6b82a5..9113ccc5b8 100644
--- a/UICatalog/Scenarios/LineViewExample.cs
+++ b/UICatalog/Scenarios/LineViewExample.cs
@@ -45,7 +45,7 @@ public override void Main ()
         // creates a horizontal line
         var arrowLine = new LineView
         {
-            Y = 8, Width = 10, StartingAnchor = CM.Glyphs.LeftTee, EndingAnchor = (Rune)'>'
+            Y = 8, Width = 10, StartingAnchor = Glyphs.LeftTee, EndingAnchor = (Rune)'>'
         };
 
         appWindow.Add (arrowLine);
@@ -62,7 +62,7 @@ public override void Main ()
         // creates a horizontal line
         var verticalArrow = new LineView (Orientation.Vertical)
         {
-            X = 27, StartingAnchor = CM.Glyphs.TopTee, EndingAnchor = (Rune)'V'
+            X = 27, StartingAnchor = Glyphs.TopTee, EndingAnchor = (Rune)'V'
         };
 
         appWindow.Add (verticalArrow);
diff --git a/UICatalog/Scenarios/ShadowStyles.cs b/UICatalog/Scenarios/ShadowStyles.cs
index b9919fbcd4..7552c9937a 100644
--- a/UICatalog/Scenarios/ShadowStyles.cs
+++ b/UICatalog/Scenarios/ShadowStyles.cs
@@ -45,7 +45,7 @@ public override void Main ()
 
         app.DrawingContent += (s, e) =>
                            {
-                               app!.FillRect (app!.Viewport, CM.Glyphs.Dot);
+                               app!.FillRect (app!.Viewport, Glyphs.Dot);
                                e.Cancel = true;
                            };
 
diff --git a/UICatalog/Scenarios/SimpleDialog.cs b/UICatalog/Scenarios/SimpleDialog.cs
index 6719079361..cf3a60a8cd 100644
--- a/UICatalog/Scenarios/SimpleDialog.cs
+++ b/UICatalog/Scenarios/SimpleDialog.cs
@@ -21,7 +21,7 @@ public override void Main ()
 
         appWindow.DrawingText += (s, e) =>
                                  {
-                                     appWindow!.FillRect (appWindow!.Viewport, CM.Glyphs.Dot);
+                                     appWindow!.FillRect (appWindow!.Viewport, Glyphs.Dot);
                                      e.Cancel = true;
                                  };
 
diff --git a/UICatalog/Scenarios/Sliders.cs b/UICatalog/Scenarios/Sliders.cs
index 7645d1753a..819246da50 100644
--- a/UICatalog/Scenarios/Sliders.cs
+++ b/UICatalog/Scenarios/Sliders.cs
@@ -90,17 +90,17 @@ public void MakeSliders (View v, List<object> options)
                                 {
                                     if (single.Orientation == Orientation.Horizontal)
                                     {
-                                        single.Style.SpaceChar = new Cell { Rune = CM.Glyphs.HLine };
-                                        single.Style.OptionChar = new Cell { Rune = CM.Glyphs.HLine };
+                                        single.Style.SpaceChar = new Cell { Rune = Glyphs.HLine };
+                                        single.Style.OptionChar = new Cell { Rune = Glyphs.HLine };
                                     }
                                     else
                                     {
-                                        single.Style.SpaceChar = new Cell { Rune = CM.Glyphs.VLine };
-                                        single.Style.OptionChar = new Cell { Rune = CM.Glyphs.VLine };
+                                        single.Style.SpaceChar = new Cell { Rune = Glyphs.VLine };
+                                        single.Style.OptionChar = new Cell { Rune = Glyphs.VLine };
                                     }
                                 };
-        single.Style.SetChar = new Cell { Rune = CM.Glyphs.ContinuousMeterSegment };
-        single.Style.DragChar = new Cell { Rune = CM.Glyphs.ContinuousMeterSegment };
+        single.Style.SetChar = new Cell { Rune = Glyphs.ContinuousMeterSegment };
+        single.Style.DragChar = new Cell { Rune = Glyphs.ContinuousMeterSegment };
 
         v.Add (single);
 
@@ -264,7 +264,7 @@ public override void Main ()
                                                             {
                                                                 s.Orientation = Orientation.Horizontal;
 
-                                                                s.Style.SpaceChar = new Cell { Rune = CM.Glyphs.HLine };
+                                                                s.Style.SpaceChar = new Cell { Rune = Glyphs.HLine };
 
                                                                 if (prev == null)
                                                                 {
@@ -282,7 +282,7 @@ public override void Main ()
                                                             {
                                                                 s.Orientation = Orientation.Vertical;
 
-                                                                s.Style.SpaceChar = new Cell { Rune = CM.Glyphs.VLine };
+                                                                s.Style.SpaceChar = new Cell { Rune = Glyphs.VLine };
 
                                                                 if (prev == null)
                                                                 {
diff --git a/UICatalog/Scenarios/Snake.cs b/UICatalog/Scenarios/Snake.cs
index 9bcd8a1983..1896c7dae8 100644
--- a/UICatalog/Scenarios/Snake.cs
+++ b/UICatalog/Scenarios/Snake.cs
@@ -292,11 +292,11 @@ private class SnakeView : View
 
         public SnakeView (SnakeState state)
         {
-            _appleRune = CM.Glyphs.Apple;
+            _appleRune = Glyphs.Apple;
 
             if (!Driver.IsRuneSupported (_appleRune))
             {
-                _appleRune = CM.Glyphs.AppleBMP;
+                _appleRune = Glyphs.AppleBMP;
             }
 
             State = state;
diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs
index 22bafcfe1a..a85d30ecc7 100644
--- a/UICatalog/Scenarios/TableEditor.cs
+++ b/UICatalog/Scenarios/TableEditor.cs
@@ -1278,14 +1278,14 @@ private void SortColumn (int clickedCol, string sort, bool isAsc)
             // add a new one if this the one that is being sorted
             if (col.Ordinal == clickedCol)
             {
-                col.ColumnName += isAsc ? CM.Glyphs.UpArrow : CM.Glyphs.DownArrow;
+                col.ColumnName += isAsc ? Glyphs.UpArrow : Glyphs.DownArrow;
             }
         }
 
         _tableView.Update ();
     }
 
-    private string StripArrows (string columnName) { return columnName.Replace ($"{CM.Glyphs.DownArrow}", "").Replace ($"{CM.Glyphs.UpArrow}", ""); }
+    private string StripArrows (string columnName) { return columnName.Replace ($"{Glyphs.DownArrow}", "").Replace ($"{Glyphs.UpArrow}", ""); }
 
     private void TableViewKeyPress (object sender, Key e)
     {
@@ -1528,8 +1528,8 @@ private int ToTableCol (int col)
     private string TrimArrows (string columnName)
     {
         return columnName.TrimEnd (
-                                   (char)CM.Glyphs.UpArrow.Value,
-                                   (char)CM.Glyphs.DownArrow.Value
+                                   (char)Glyphs.UpArrow.Value,
+                                   (char)Glyphs.DownArrow.Value
                                   );
     }
 
diff --git a/UICatalog/Scenarios/Unicode.cs b/UICatalog/Scenarios/Unicode.cs
index 156e78e112..f494c071c7 100644
--- a/UICatalog/Scenarios/Unicode.cs
+++ b/UICatalog/Scenarios/Unicode.cs
@@ -17,15 +17,15 @@ public override void Main ()
 
         var gitString =
             $"gui.cs 糊 (hú) {
-                CM.Glyphs.IdenticalTo
+                Glyphs.IdenticalTo
             } {
-                CM.Glyphs.DownArrow
+                Glyphs.DownArrow
             }18 {
-                CM.Glyphs.UpArrow
+                Glyphs.UpArrow
             }10 {
-                CM.Glyphs.VerticalFourDots
+                Glyphs.VerticalFourDots
             }1 {
-                CM.Glyphs.HorizontalEllipsis
+                Glyphs.HorizontalEllipsis
             }";
 
         // Init
diff --git a/UnitTests/Configuration/GlyphTests.cs b/UnitTests/Configuration/GlyphTests.cs
new file mode 100644
index 0000000000..ed31deda19
--- /dev/null
+++ b/UnitTests/Configuration/GlyphTests.cs
@@ -0,0 +1,42 @@
+using System.Reflection;
+using System.Text;
+using System.Text.Json;
+using static Terminal.Gui.ConfigurationManager;
+
+namespace Terminal.Gui.ConfigurationTests;
+
+public class GlyphTests
+{
+    [Fact]
+    public void Overrides_Defaults ()
+    {
+        // arrange
+        Locations = ConfigLocations.Default;
+        Load (true);
+
+        Assert.Equal ((Rune)'⟦', Glyphs.LeftBracket);
+
+        var glyph = (Rune)Settings ["Glyphs.LeftBracket"].PropertyValue;
+        Assert.Equal ((Rune)'⟦', glyph);
+
+        ThrowOnJsonErrors = true;
+
+        // act
+        var json = """
+                   {
+                   "Glyphs.LeftBracket": "["
+                   }
+                   """;
+
+        Settings!.Update (json, "Overrides_Defaults", ConfigLocations.Runtime);
+        Apply();
+        // assert
+        glyph = (Rune)Settings ["Glyphs.LeftBracket"].PropertyValue;
+        Assert.Equal ((Rune)'[', glyph);
+        Assert.Equal((Rune)'[', Glyphs.LeftBracket);
+
+        // clean up
+        Locations = ConfigLocations.All;
+    }
+
+}
diff --git a/UnitTests/Configuration/RuneJsonConverterTests.cs b/UnitTests/Configuration/RuneJsonConverterTests.cs
index c0a56a5bfd..b8c98498ce 100644
--- a/UnitTests/Configuration/RuneJsonConverterTests.cs
+++ b/UnitTests/Configuration/RuneJsonConverterTests.cs
@@ -3,7 +3,7 @@
 
 namespace Terminal.Gui.ConfigurationTests;
 
-public class RunJsonConverterTests
+public class RuneJsonConverterTests
 {
     [Theory]
     [InlineData ("aa")]
diff --git a/UnitTests/Dialogs/DialogTests.cs b/UnitTests/Dialogs/DialogTests.cs
index 9320b84039..9009b41d36 100644
--- a/UnitTests/Dialogs/DialogTests.cs
+++ b/UnitTests/Dialogs/DialogTests.cs
@@ -18,12 +18,12 @@ public void Add_Button_Works ()
 
         var title = "1234";
         var btn1Text = "yes";
-        var btn1 = $"{CM.Glyphs.LeftBracket} {btn1Text} {CM.Glyphs.RightBracket}";
+        var btn1 = $"{Glyphs.LeftBracket} {btn1Text} {Glyphs.RightBracket}";
         var btn2Text = "no";
-        var btn2 = $"{CM.Glyphs.LeftBracket} {btn2Text} {CM.Glyphs.RightBracket}";
+        var btn2 = $"{Glyphs.LeftBracket} {btn2Text} {Glyphs.RightBracket}";
 
         // We test with one button first, but do this to get the width right for 2
-        int width = $@"{CM.Glyphs.VLine} {btn1} {btn2} {CM.Glyphs.VLine}".Length;
+        int width = $@"{Glyphs.VLine} {btn1} {btn2} {Glyphs.VLine}".Length;
         d.SetBufferSize (width, 1);
 
         // Override CM
@@ -45,14 +45,14 @@ public void Add_Button_Works ()
         // Create with no top or bottom border to simplify testing button layout (no need to account for title etc..)
         dlg.Border.Thickness = new (1, 0, 1, 0);
         runstate = Begin (dlg);
-        var buttonRow = $"{CM.Glyphs.VLine}    {btn1}     {CM.Glyphs.VLine}";
+        var buttonRow = $"{Glyphs.VLine}    {btn1}     {Glyphs.VLine}";
 
         RunIteration (ref runstate);
 
         TestHelpers.AssertDriverContentsWithFrameAre ($"{buttonRow}", _output);
 
         // Now add a second button
-        buttonRow = $"{CM.Glyphs.VLine} {btn1} {btn2} {CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine} {btn1} {btn2} {Glyphs.VLine}";
         dlg.AddButton (new () { Text = btn2Text });
 
         RunIteration (ref runstate);
@@ -76,11 +76,11 @@ public void Add_Button_Works ()
 
         RunIteration (ref runstate);
 
-        buttonRow = $"{CM.Glyphs.VLine}{btn1}         {CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1}         {Glyphs.VLine}";
         TestHelpers.AssertDriverContentsWithFrameAre ($"{buttonRow}", _output);
 
         // Now add a second button
-        buttonRow = $"{CM.Glyphs.VLine}{btn1}   {btn2}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1}   {btn2}{Glyphs.VLine}";
         dlg.AddButton (new () { Text = btn2Text });
         RunIteration (ref runstate);
         TestHelpers.AssertDriverContentsWithFrameAre ($"{buttonRow}", _output);
@@ -103,11 +103,11 @@ public void Add_Button_Works ()
 
         RunIteration (ref runstate);
 
-        buttonRow = $"{CM.Glyphs.VLine}{new (' ', width - btn1.Length - 2)}{btn1}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{new (' ', width - btn1.Length - 2)}{btn1}{Glyphs.VLine}";
         TestHelpers.AssertDriverContentsWithFrameAre ($"{buttonRow}", _output);
 
         // Now add a second button
-        buttonRow = $"{CM.Glyphs.VLine}  {btn1} {btn2}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}  {btn1} {btn2}{Glyphs.VLine}";
         dlg.AddButton (new () { Text = btn2Text });
 
         RunIteration (ref runstate);
@@ -130,11 +130,11 @@ public void Add_Button_Works ()
         runstate = Begin (dlg);
         RunIteration (ref runstate);
 
-        buttonRow = $"{CM.Glyphs.VLine}{btn1}{new (' ', width - btn1.Length - 2)}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1}{new (' ', width - btn1.Length - 2)}{Glyphs.VLine}";
         TestHelpers.AssertDriverContentsWithFrameAre ($"{buttonRow}", _output);
 
         // Now add a second button
-        buttonRow = $"{CM.Glyphs.VLine}{btn1} {btn2}  {CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1} {btn2}  {Glyphs.VLine}";
         dlg.AddButton (new () { Text = btn2Text });
 
         RunIteration (ref runstate);
@@ -157,15 +157,15 @@ public void ButtonAlignment_Four ()
 
         // E.g "|[ yes ][ no ][ maybe ]|"
         var btn1Text = "yes";
-        var btn1 = $"{CM.Glyphs.LeftBracket} {btn1Text} {CM.Glyphs.RightBracket}";
+        var btn1 = $"{Glyphs.LeftBracket} {btn1Text} {Glyphs.RightBracket}";
         var btn2Text = "no";
-        var btn2 = $"{CM.Glyphs.LeftBracket} {btn2Text} {CM.Glyphs.RightBracket}";
+        var btn2 = $"{Glyphs.LeftBracket} {btn2Text} {Glyphs.RightBracket}";
         var btn3Text = "maybe";
-        var btn3 = $"{CM.Glyphs.LeftBracket} {btn3Text} {CM.Glyphs.RightBracket}";
+        var btn3 = $"{Glyphs.LeftBracket} {btn3Text} {Glyphs.RightBracket}";
         var btn4Text = "never";
-        var btn4 = $"{CM.Glyphs.LeftBracket} {btn4Text} {CM.Glyphs.RightBracket}";
+        var btn4 = $"{Glyphs.LeftBracket} {btn4Text} {Glyphs.RightBracket}";
 
-        var buttonRow = $"{CM.Glyphs.VLine} {btn1} {btn2} {btn3} {btn4} {CM.Glyphs.VLine}";
+        var buttonRow = $"{Glyphs.VLine} {btn1} {btn2} {btn3} {btn4} {Glyphs.VLine}";
         int width = buttonRow.Length;
         d.SetBufferSize (buttonRow.Length, 3);
 
@@ -184,7 +184,7 @@ public void ButtonAlignment_Four ()
         dlg.Dispose ();
 
         // Justify
-        buttonRow = $"{CM.Glyphs.VLine}{btn1}  {btn2}  {btn3} {btn4}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1}  {btn2}  {btn3} {btn4}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -201,7 +201,7 @@ public void ButtonAlignment_Four ()
         dlg.Dispose ();
 
         // Right
-        buttonRow = $"{CM.Glyphs.VLine}  {btn1} {btn2} {btn3} {btn4}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}  {btn1} {btn2} {btn3} {btn4}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -218,7 +218,7 @@ public void ButtonAlignment_Four ()
         dlg.Dispose ();
 
         // Left
-        buttonRow = $"{CM.Glyphs.VLine}{btn1} {btn2} {btn3} {btn4}  {CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1} {btn2} {btn3} {btn4}  {Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -249,13 +249,13 @@ public void ButtonAlignment_Four_On_Too_Small_Width ()
 
         // E.g "|[ yes ][ no ][ maybe ][ never ]|"
         var btn1Text = "yes";
-        var btn1 = $"{CM.Glyphs.LeftBracket} {btn1Text} {CM.Glyphs.RightBracket}";
+        var btn1 = $"{Glyphs.LeftBracket} {btn1Text} {Glyphs.RightBracket}";
         var btn2Text = "no";
-        var btn2 = $"{CM.Glyphs.LeftBracket} {btn2Text} {CM.Glyphs.RightBracket}";
+        var btn2 = $"{Glyphs.LeftBracket} {btn2Text} {Glyphs.RightBracket}";
         var btn3Text = "maybe";
-        var btn3 = $"{CM.Glyphs.LeftBracket} {btn3Text} {CM.Glyphs.RightBracket}";
+        var btn3 = $"{Glyphs.LeftBracket} {btn3Text} {Glyphs.RightBracket}";
         var btn4Text = "never";
-        var btn4 = $"{CM.Glyphs.LeftBracket} {btn4Text} {CM.Glyphs.RightBracket}";
+        var btn4 = $"{Glyphs.LeftBracket} {btn4Text} {Glyphs.RightBracket}";
         var buttonRow = string.Empty;
 
         var width = 30;
@@ -263,7 +263,7 @@ public void ButtonAlignment_Four_On_Too_Small_Width ()
 
         // Default - Center
         buttonRow =
-            $"{CM.Glyphs.VLine} yes {CM.Glyphs.RightBracket}{btn2}{btn3}{CM.Glyphs.LeftBracket} never{CM.Glyphs.VLine}";
+            $"{Glyphs.VLine} yes {Glyphs.RightBracket}{btn2}{btn3}{Glyphs.LeftBracket} never{Glyphs.VLine}";
 
         (runstate, Dialog dlg) = BeginButtonTestDialog (
                                                       title,
@@ -281,7 +281,7 @@ public void ButtonAlignment_Four_On_Too_Small_Width ()
 
         // Justify
         buttonRow =
-            $"{CM.Glyphs.VLine}{CM.Glyphs.LeftBracket} yes {CM.Glyphs.LeftBracket} no {CM.Glyphs.LeftBracket} maybe {CM.Glyphs.LeftBracket} never {CM.Glyphs.RightBracket}{CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}{Glyphs.LeftBracket} yes {Glyphs.LeftBracket} no {Glyphs.LeftBracket} maybe {Glyphs.LeftBracket} never {Glyphs.RightBracket}{Glyphs.VLine}";
 
         (runstate, dlg) = BeginButtonTestDialog (
                                                title,
@@ -297,7 +297,7 @@ public void ButtonAlignment_Four_On_Too_Small_Width ()
         dlg.Dispose ();
 
         // Right
-        buttonRow = $"{CM.Glyphs.VLine}es {CM.Glyphs.RightBracket}{btn2}{btn3}{btn4}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}es {Glyphs.RightBracket}{btn2}{btn3}{btn4}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -314,7 +314,7 @@ public void ButtonAlignment_Four_On_Too_Small_Width ()
         dlg.Dispose ();
 
         // Left
-        buttonRow = $"{CM.Glyphs.VLine}{btn1}{btn2}{btn3}{CM.Glyphs.LeftBracket} neve{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1}{btn2}{btn3}{Glyphs.LeftBracket} neve{Glyphs.VLine}";
 
         (runstate, dlg) = BeginButtonTestDialog (
                                                title,
@@ -344,17 +344,17 @@ public void ButtonAlignment_Four_WideOdd ()
 
         // E.g "|[ yes ][ no ][ maybe ]|"
         var btn1Text = "really long button 1";
-        var btn1 = $"{CM.Glyphs.LeftBracket} {btn1Text} {CM.Glyphs.RightBracket}";
+        var btn1 = $"{Glyphs.LeftBracket} {btn1Text} {Glyphs.RightBracket}";
         var btn2Text = "really long button 2";
-        var btn2 = $"{CM.Glyphs.LeftBracket} {btn2Text} {CM.Glyphs.RightBracket}";
+        var btn2 = $"{Glyphs.LeftBracket} {btn2Text} {Glyphs.RightBracket}";
         var btn3Text = "really long button 3";
-        var btn3 = $"{CM.Glyphs.LeftBracket} {btn3Text} {CM.Glyphs.RightBracket}";
+        var btn3 = $"{Glyphs.LeftBracket} {btn3Text} {Glyphs.RightBracket}";
         var btn4Text = "really long button 44"; // 44 is intentional to make length different than rest
-        var btn4 = $"{CM.Glyphs.LeftBracket} {btn4Text} {CM.Glyphs.RightBracket}";
+        var btn4 = $"{Glyphs.LeftBracket} {btn4Text} {Glyphs.RightBracket}";
 
         // Note extra spaces to make dialog even wider
         //                         123456                          1234567
-        var buttonRow = $"{CM.Glyphs.VLine}      {btn1} {btn2} {btn3} {btn4}      {CM.Glyphs.VLine}";
+        var buttonRow = $"{Glyphs.VLine}      {btn1} {btn2} {btn3} {btn4}      {Glyphs.VLine}";
         int width = buttonRow.Length;
         d.SetBufferSize (buttonRow.Length, 1);
 
@@ -373,7 +373,7 @@ public void ButtonAlignment_Four_WideOdd ()
         dlg.Dispose ();
 
         // Justify
-        buttonRow = $"{CM.Glyphs.VLine}{btn1}     {btn2}     {btn3}     {btn4}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1}     {btn2}     {btn3}     {btn4}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -390,7 +390,7 @@ public void ButtonAlignment_Four_WideOdd ()
         dlg.Dispose ();
 
         // Right
-        buttonRow = $"{CM.Glyphs.VLine}            {btn1} {btn2} {btn3} {btn4}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}            {btn1} {btn2} {btn3} {btn4}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -407,7 +407,7 @@ public void ButtonAlignment_Four_WideOdd ()
         dlg.Dispose ();
 
         // Left
-        buttonRow = $"{CM.Glyphs.VLine}{btn1} {btn2} {btn3} {btn4}            {CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1} {btn2} {btn3} {btn4}            {Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -438,19 +438,19 @@ public void ButtonAlignment_Four_Wider ()
 
         // E.g "|[ yes ][ no ][ maybe ]|"
         var btn1Text = "yes";
-        var btn1 = $"{CM.Glyphs.LeftBracket} {btn1Text} {CM.Glyphs.RightBracket}";
+        var btn1 = $"{Glyphs.LeftBracket} {btn1Text} {Glyphs.RightBracket}";
         var btn2Text = "no";
-        var btn2 = $"{CM.Glyphs.LeftBracket} {btn2Text} {CM.Glyphs.RightBracket}";
+        var btn2 = $"{Glyphs.LeftBracket} {btn2Text} {Glyphs.RightBracket}";
         var btn3Text = "你你你你你"; // This is a wide char
-        var btn3 = $"{CM.Glyphs.LeftBracket} {btn3Text} {CM.Glyphs.RightBracket}";
+        var btn3 = $"{Glyphs.LeftBracket} {btn3Text} {Glyphs.RightBracket}";
 
         // Requires a Nerd Font
         var btn4Text = "\uE36E\uE36F\uE370\uE371\uE372\uE373";
-        var btn4 = $"{CM.Glyphs.LeftBracket} {btn4Text} {CM.Glyphs.RightBracket}";
+        var btn4 = $"{Glyphs.LeftBracket} {btn4Text} {Glyphs.RightBracket}";
 
         // Note extra spaces to make dialog even wider
         //                         123456                           123456
-        var buttonRow = $"{CM.Glyphs.VLine}      {btn1} {btn2} {btn3} {btn4}      {CM.Glyphs.VLine}";
+        var buttonRow = $"{Glyphs.VLine}      {btn1} {btn2} {btn3} {btn4}      {Glyphs.VLine}";
         int width = buttonRow.GetColumns ();
         d.SetBufferSize (width, 3);
 
@@ -469,7 +469,7 @@ public void ButtonAlignment_Four_Wider ()
         dlg.Dispose ();
 
         // Justify
-        buttonRow = $"{CM.Glyphs.VLine}{btn1}     {btn2}     {btn3}     {btn4}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1}     {btn2}     {btn3}     {btn4}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.GetColumns ());
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -486,7 +486,7 @@ public void ButtonAlignment_Four_Wider ()
         dlg.Dispose ();
 
         // Right
-        buttonRow = $"{CM.Glyphs.VLine}            {btn1} {btn2} {btn3} {btn4}{CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}            {btn1} {btn2} {btn3} {btn4}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.GetColumns ());
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -503,7 +503,7 @@ public void ButtonAlignment_Four_Wider ()
         dlg.Dispose ();
 
         // Left
-        buttonRow = $"{CM.Glyphs.VLine}{btn1} {btn2} {btn3} {btn4}            {CM.Glyphs.VLine}";
+        buttonRow = $"{Glyphs.VLine}{btn1} {btn2} {btn3} {btn4}            {Glyphs.VLine}";
         Assert.Equal (width, buttonRow.GetColumns ());
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -535,7 +535,7 @@ public void ButtonAlignment_One ()
         var btnText = "ok";
 
         var buttonRow =
-            $"{CM.Glyphs.VLine}  {CM.Glyphs.LeftBracket} {btnText} {CM.Glyphs.RightBracket}  {CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}  {Glyphs.LeftBracket} {btnText} {Glyphs.RightBracket}  {Glyphs.VLine}";
         int width = buttonRow.Length;
 
         d.SetBufferSize (width, 1);
@@ -554,7 +554,7 @@ public void ButtonAlignment_One ()
 
         // Justify 
         buttonRow =
-            $"{CM.Glyphs.VLine}{CM.Glyphs.LeftBracket} {btnText} {CM.Glyphs.RightBracket}    {CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}{Glyphs.LeftBracket} {btnText} {Glyphs.RightBracket}    {Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -569,7 +569,7 @@ public void ButtonAlignment_One ()
 
         // Right
         buttonRow =
-            $"{CM.Glyphs.VLine}    {CM.Glyphs.LeftBracket} {btnText} {CM.Glyphs.RightBracket}{CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}    {Glyphs.LeftBracket} {btnText} {Glyphs.RightBracket}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -584,7 +584,7 @@ public void ButtonAlignment_One ()
 
         // Left
         buttonRow =
-            $"{CM.Glyphs.VLine}{CM.Glyphs.LeftBracket} {btnText} {CM.Glyphs.RightBracket}    {CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}{Glyphs.LeftBracket} {btnText} {Glyphs.RightBracket}    {Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -599,7 +599,7 @@ public void ButtonAlignment_One ()
 
         // Wider
         buttonRow =
-            $"{CM.Glyphs.VLine}   {CM.Glyphs.LeftBracket} {btnText} {CM.Glyphs.RightBracket}   {CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}   {Glyphs.LeftBracket} {btnText} {Glyphs.RightBracket}   {Glyphs.VLine}";
         width = buttonRow.Length;
 
         d.SetBufferSize (width, 1);
@@ -616,7 +616,7 @@ public void ButtonAlignment_One ()
 
         // Justify
         buttonRow =
-            $"{CM.Glyphs.VLine}{CM.Glyphs.LeftBracket} {btnText} {CM.Glyphs.RightBracket}      {CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}{Glyphs.LeftBracket} {btnText} {Glyphs.RightBracket}      {Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -631,7 +631,7 @@ public void ButtonAlignment_One ()
 
         // Right
         buttonRow =
-            $"{CM.Glyphs.VLine}      {CM.Glyphs.LeftBracket} {btnText} {CM.Glyphs.RightBracket}{CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}      {Glyphs.LeftBracket} {btnText} {Glyphs.RightBracket}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -646,7 +646,7 @@ public void ButtonAlignment_One ()
 
         // Left
         buttonRow =
-            $"{CM.Glyphs.VLine}{CM.Glyphs.LeftBracket} {btnText} {CM.Glyphs.RightBracket}      {CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}{Glyphs.LeftBracket} {btnText} {Glyphs.RightBracket}      {Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -674,13 +674,13 @@ public void ButtonAlignment_Three ()
 
         // E.g "|[ yes ][ no ][ maybe ]|"
         var btn1Text = "yes";
-        var btn1 = $"{CM.Glyphs.LeftBracket} {btn1Text} {CM.Glyphs.RightBracket}";
+        var btn1 = $"{Glyphs.LeftBracket} {btn1Text} {Glyphs.RightBracket}";
         var btn2Text = "no";
-        var btn2 = $"{CM.Glyphs.LeftBracket} {btn2Text} {CM.Glyphs.RightBracket}";
+        var btn2 = $"{Glyphs.LeftBracket} {btn2Text} {Glyphs.RightBracket}";
         var btn3Text = "maybe";
-        var btn3 = $"{CM.Glyphs.LeftBracket} {btn3Text} {CM.Glyphs.RightBracket}";
+        var btn3 = $"{Glyphs.LeftBracket} {btn3Text} {Glyphs.RightBracket}";
 
-        var buttonRow = $@"{CM.Glyphs.VLine} {btn1} {btn2} {btn3} {CM.Glyphs.VLine}";
+        var buttonRow = $@"{Glyphs.VLine} {btn1} {btn2} {btn3} {Glyphs.VLine}";
         int width = buttonRow.Length;
 
         d.SetBufferSize (buttonRow.Length, 3);
@@ -698,7 +698,7 @@ public void ButtonAlignment_Three ()
         dlg.Dispose ();
 
         // Justify
-        buttonRow = $@"{CM.Glyphs.VLine}{btn1}  {btn2}  {btn3}{CM.Glyphs.VLine}";
+        buttonRow = $@"{Glyphs.VLine}{btn1}  {btn2}  {btn3}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -714,7 +714,7 @@ public void ButtonAlignment_Three ()
         dlg.Dispose ();
 
         // Right
-        buttonRow = $@"{CM.Glyphs.VLine}  {btn1} {btn2} {btn3}{CM.Glyphs.VLine}";
+        buttonRow = $@"{Glyphs.VLine}  {btn1} {btn2} {btn3}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -730,7 +730,7 @@ public void ButtonAlignment_Three ()
         dlg.Dispose ();
 
         // Left
-        buttonRow = $@"{CM.Glyphs.VLine}{btn1} {btn2} {btn3}  {CM.Glyphs.VLine}";
+        buttonRow = $@"{Glyphs.VLine}{btn1} {btn2} {btn3}  {Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -760,11 +760,11 @@ public void ButtonAlignment_Two ()
 
         // E.g "|[ yes ][ no ]|"
         var btn1Text = "yes";
-        var btn1 = $"{CM.Glyphs.LeftBracket} {btn1Text} {CM.Glyphs.RightBracket}";
+        var btn1 = $"{Glyphs.LeftBracket} {btn1Text} {Glyphs.RightBracket}";
         var btn2Text = "no";
-        var btn2 = $"{CM.Glyphs.LeftBracket} {btn2Text} {CM.Glyphs.RightBracket}";
+        var btn2 = $"{Glyphs.LeftBracket} {btn2Text} {Glyphs.RightBracket}";
 
-        var buttonRow = $@"{CM.Glyphs.VLine} {btn1} {btn2} {CM.Glyphs.VLine}";
+        var buttonRow = $@"{Glyphs.VLine} {btn1} {btn2} {Glyphs.VLine}";
         int width = buttonRow.Length;
 
         d.SetBufferSize (buttonRow.Length, 3);
@@ -781,7 +781,7 @@ public void ButtonAlignment_Two ()
         dlg.Dispose ();
 
         // Justify
-        buttonRow = $@"{CM.Glyphs.VLine}{btn1}   {btn2}{CM.Glyphs.VLine}";
+        buttonRow = $@"{Glyphs.VLine}{btn1}   {btn2}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -796,7 +796,7 @@ public void ButtonAlignment_Two ()
         dlg.Dispose ();
 
         // Right
-        buttonRow = $@"{CM.Glyphs.VLine}  {btn1} {btn2}{CM.Glyphs.VLine}";
+        buttonRow = $@"{Glyphs.VLine}  {btn1} {btn2}{Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -811,7 +811,7 @@ public void ButtonAlignment_Two ()
         dlg.Dispose ();
 
         // Left
-        buttonRow = $@"{CM.Glyphs.VLine}{btn1} {btn2}  {CM.Glyphs.VLine}";
+        buttonRow = $@"{Glyphs.VLine}{btn1} {btn2}  {Glyphs.VLine}";
         Assert.Equal (width, buttonRow.Length);
 
         (runstate, dlg) = BeginButtonTestDialog (
@@ -841,11 +841,11 @@ public void ButtonAlignment_Two_Hidden ()
 
         // E.g "|[ yes ][ no ]|"
         var btn1Text = "yes";
-        var btn1 = $"{CM.Glyphs.LeftBracket} {btn1Text} {CM.Glyphs.RightBracket}";
+        var btn1 = $"{Glyphs.LeftBracket} {btn1Text} {Glyphs.RightBracket}";
         var btn2Text = "no";
-        var btn2 = $"{CM.Glyphs.LeftBracket} {btn2Text} {CM.Glyphs.RightBracket}";
+        var btn2 = $"{Glyphs.LeftBracket} {btn2Text} {Glyphs.RightBracket}";
 
-        var buttonRow = $@"{CM.Glyphs.VLine} {btn1} {btn2} {CM.Glyphs.VLine}";
+        var buttonRow = $@"{Glyphs.VLine} {btn1} {btn2} {Glyphs.VLine}";
         int width = buttonRow.Length;
 
         d.SetBufferSize (buttonRow.Length, 3);
@@ -859,7 +859,7 @@ public void ButtonAlignment_Two_Hidden ()
         (runstate, dlg) = BeginButtonTestDialog (title, width, Alignment.Center, button1, button2);
         button1.Visible = false;
         RunIteration (ref runstate, firstIteration);
-        buttonRow = $@"{CM.Glyphs.VLine}         {btn2} {CM.Glyphs.VLine}";
+        buttonRow = $@"{Glyphs.VLine}         {btn2} {Glyphs.VLine}";
         TestHelpers.AssertDriverContentsWithFrameAre ($"{buttonRow}", _output);
         End (runstate);
         dlg.Dispose ();
@@ -871,7 +871,7 @@ public void ButtonAlignment_Two_Hidden ()
         (runstate, dlg) = BeginButtonTestDialog (title, width, Alignment.Fill, button1, button2);
         button1.Visible = false;
         RunIteration (ref runstate, firstIteration);
-        buttonRow = $@"{CM.Glyphs.VLine}          {btn2}{CM.Glyphs.VLine}";
+        buttonRow = $@"{Glyphs.VLine}          {btn2}{Glyphs.VLine}";
         TestHelpers.AssertDriverContentsWithFrameAre ($"{buttonRow}", _output);
         End (runstate);
         dlg.Dispose ();
@@ -894,7 +894,7 @@ public void ButtonAlignment_Two_Hidden ()
         (runstate, dlg) = BeginButtonTestDialog (title, width, Alignment.Start, button1, button2);
         button1.Visible = false;
         RunIteration (ref runstate, firstIteration);
-        buttonRow = $@"{CM.Glyphs.VLine}        {btn2}  {CM.Glyphs.VLine}";
+        buttonRow = $@"{Glyphs.VLine}        {btn2}  {Glyphs.VLine}";
         TestHelpers.AssertDriverContentsWithFrameAre ($"{buttonRow}", _output);
         End (runstate);
         dlg.Dispose ();
@@ -924,7 +924,7 @@ public void Dialog_In_Window_With_Size_One_Button_Aligns ()
                              RequestStop ();
                          }
                      };
-        var btn = $"{CM.Glyphs.LeftBracket} Ok {CM.Glyphs.RightBracket}";
+        var btn = $"{Glyphs.LeftBracket} Ok {Glyphs.RightBracket}";
 
         win.Loaded += (s, a) =>
                       {
@@ -1096,7 +1096,7 @@ public void Dialog_Opened_From_Another_Dialog ()
                        };
 
         var btn =
-            $"{CM.Glyphs.LeftBracket}{CM.Glyphs.LeftDefaultIndicator} Ok {CM.Glyphs.RightDefaultIndicator}{CM.Glyphs.RightBracket}";
+            $"{Glyphs.LeftBracket}{Glyphs.LeftDefaultIndicator} Ok {Glyphs.RightDefaultIndicator}{Glyphs.RightBracket}";
 
         int iterations = -1;
 
@@ -1127,7 +1127,7 @@ public void Dialog_Opened_From_Another_Dialog ()
   │                       │
   │                       │
   │                       │
-  │{CM.Glyphs.LeftBracket} Show Sub {CM.Glyphs.RightBracket} {CM.Glyphs.LeftBracket} Close {CM.Glyphs.RightBracket} │
+  │{Glyphs.LeftBracket} Show Sub {Glyphs.RightBracket} {Glyphs.LeftBracket} Close {Glyphs.RightBracket} │
   └───────────────────────┘";
                                  TestHelpers.AssertDriverContentsWithFrameAre (expected, _output);
 
@@ -1145,7 +1145,7 @@ public void Dialog_Opened_From_Another_Dialog ()
   │  │                  │ │
   │  │     {btn}     │ │
   │  └──────────────────┘ │
-  │{CM.Glyphs.LeftBracket} Show Sub {CM.Glyphs.RightBracket} {CM.Glyphs.LeftBracket} Close {CM.Glyphs.RightBracket} │
+  │{Glyphs.LeftBracket} Show Sub {Glyphs.RightBracket} {Glyphs.LeftBracket} Close {Glyphs.RightBracket} │
   └───────────────────────┘",
                                                                                _output
                                                                               );
@@ -1266,7 +1266,7 @@ public void One_Button_Works ()
         var btnText = "ok";
 
         var buttonRow =
-            $"{CM.Glyphs.VLine}   {CM.Glyphs.LeftBracket} {btnText} {CM.Glyphs.RightBracket}   {CM.Glyphs.VLine}";
+            $"{Glyphs.VLine}   {Glyphs.LeftBracket} {btnText} {Glyphs.RightBracket}   {Glyphs.VLine}";
 
         int width = buttonRow.Length;
         d.SetBufferSize (buttonRow.Length, 10);
@@ -1326,7 +1326,7 @@ public void Zero_Buttons_Works ()
 
         var title = "1234";
 
-        var buttonRow = $"{CM.Glyphs.VLine}        {CM.Glyphs.VLine}";
+        var buttonRow = $"{Glyphs.VLine}        {Glyphs.VLine}";
         int width = buttonRow.Length;
         d.SetBufferSize (buttonRow.Length, 3);
 
diff --git a/UnitTests/Dialogs/MessageBoxTests.cs b/UnitTests/Dialogs/MessageBoxTests.cs
index 6d7176b039..ff7fd728ac 100644
--- a/UnitTests/Dialogs/MessageBoxTests.cs
+++ b/UnitTests/Dialogs/MessageBoxTests.cs
@@ -192,7 +192,7 @@ public void Message_With_Spaces_WrapMessage_False ()
         ((FakeDriver)Application.Driver!).SetBufferSize (20, 10);
 
         var btn =
-            $"{CM.Glyphs.LeftBracket}{CM.Glyphs.LeftDefaultIndicator} btn {CM.Glyphs.RightDefaultIndicator}{CM.Glyphs.RightBracket}";
+            $"{Glyphs.LeftBracket}{Glyphs.LeftDefaultIndicator} btn {Glyphs.RightDefaultIndicator}{Glyphs.RightBracket}";
 
         // Override CM
         MessageBox.DefaultButtonAlignment = Alignment.End;
@@ -264,7 +264,7 @@ public void Message_With_Spaces_WrapMessage_True ()
         ((FakeDriver)Application.Driver!).SetBufferSize (20, 10);
 
         var btn =
-            $"{CM.Glyphs.LeftBracket}{CM.Glyphs.LeftDefaultIndicator} btn {CM.Glyphs.RightDefaultIndicator}{CM.Glyphs.RightBracket}";
+            $"{Glyphs.LeftBracket}{Glyphs.LeftDefaultIndicator} btn {Glyphs.RightDefaultIndicator}{Glyphs.RightBracket}";
 
         // Override CM
         MessageBox.DefaultButtonAlignment = Alignment.End;
diff --git a/UnitTests/Dialogs/WizardTests.cs b/UnitTests/Dialogs/WizardTests.cs
index accd381398..66fbfc8f99 100644
--- a/UnitTests/Dialogs/WizardTests.cs
+++ b/UnitTests/Dialogs/WizardTests.cs
@@ -401,44 +401,44 @@ public void OneStepWizard_Shows ()
         d.SetBufferSize (width, height);
 
         //	var btnBackText = "Back";
-        var btnBack = string.Empty; // $"{CM.Glyphs.LeftBracket} {btnBackText} {CM.Glyphs.RightBracket}";
+        var btnBack = string.Empty; // $"{Glyphs.LeftBracket} {btnBackText} {Glyphs.RightBracket}";
         var btnNextText = "Finish"; // "Next";
 
         var btnNext =
             $"{
-                CM.Glyphs.LeftBracket
+                Glyphs.LeftBracket
             }{
-                CM.Glyphs.LeftDefaultIndicator
+                Glyphs.LeftDefaultIndicator
             } {
                 btnNextText
             } {
-                CM.Glyphs.RightDefaultIndicator
+                Glyphs.RightDefaultIndicator
             }{
-                CM.Glyphs.RightBracket
+                Glyphs.RightBracket
             }";
 
         var topRow =
             $"{
-                CM.Glyphs.ULCornerDbl
+                Glyphs.ULCornerDbl
             }╡{
                 title
             } - {
                 stepTitle
             }╞{
-                new (CM.Glyphs.HLineDbl.ToString () [0], width - title.Length - stepTitle.Length - 7)
+                new (Glyphs.HLineDbl.ToString () [0], width - title.Length - stepTitle.Length - 7)
             }{
-                CM.Glyphs.URCornerDbl
+                Glyphs.URCornerDbl
             }";
-        var row2 = $"{CM.Glyphs.VLineDbl}{new (' ', width - 2)}{CM.Glyphs.VLineDbl}";
+        var row2 = $"{Glyphs.VLineDbl}{new (' ', width - 2)}{Glyphs.VLineDbl}";
         string row3 = row2;
         string row4 = row3;
 
         var separatorRow =
-            $"{CM.Glyphs.VLineDbl}{new (CM.Glyphs.HLine.ToString () [0], width - 2)}{CM.Glyphs.VLineDbl}";
+            $"{Glyphs.VLineDbl}{new (Glyphs.HLine.ToString () [0], width - 2)}{Glyphs.VLineDbl}";
 
         var buttonRow =
             $"{
-                CM.Glyphs.VLineDbl
+                Glyphs.VLineDbl
             }{
                 btnBack
             }{
@@ -446,16 +446,16 @@ public void OneStepWizard_Shows ()
             }{
                 btnNext
             }{
-                CM.Glyphs.VLineDbl
+                Glyphs.VLineDbl
             }";
 
         var bottomRow =
             $"{
-                CM.Glyphs.LLCornerDbl
+                Glyphs.LLCornerDbl
             }{
-                new (CM.Glyphs.HLineDbl.ToString () [0], width - 2)
+                new (Glyphs.HLineDbl.ToString () [0], width - 2)
             }{
-                CM.Glyphs.LRCornerDbl
+                Glyphs.LRCornerDbl
             }";
 
         var wizard = new Wizard { Title = title, Width = width, Height = height };
@@ -494,45 +494,45 @@ public void Setting_Title_Works ()
 
         var btnNext =
             $"{
-                CM.Glyphs.LeftBracket
+                Glyphs.LeftBracket
             }{
-                CM.Glyphs.LeftDefaultIndicator
+                Glyphs.LeftDefaultIndicator
             } {
                 btnNextText
             } {
-                CM.Glyphs.RightDefaultIndicator
+                Glyphs.RightDefaultIndicator
             }{
-                CM.Glyphs.RightBracket
+                Glyphs.RightBracket
             }";
 
         var topRow =
             $"{
-                CM.Glyphs.ULCornerDbl
+                Glyphs.ULCornerDbl
             }╡{
                 title
             }{
                 stepTitle
             }╞{
-                new (CM.Glyphs.HLineDbl.ToString () [0], width - title.Length - stepTitle.Length - 4)
+                new (Glyphs.HLineDbl.ToString () [0], width - title.Length - stepTitle.Length - 4)
             }{
-                CM.Glyphs.URCornerDbl
+                Glyphs.URCornerDbl
             }";
 
         var separatorRow =
-            $"{CM.Glyphs.VLineDbl}{new (CM.Glyphs.HLine.ToString () [0], width - 2)}{CM.Glyphs.VLineDbl}";
+            $"{Glyphs.VLineDbl}{new (Glyphs.HLine.ToString () [0], width - 2)}{Glyphs.VLineDbl}";
 
         // Once this is fixed, revert to commented out line: https://github.com/gui-cs/Terminal.Gui/issues/1791
         var buttonRow =
-            $"{CM.Glyphs.VLineDbl}{new (' ', width - btnNext.Length - 2)}{btnNext}{CM.Glyphs.VLineDbl}";
+            $"{Glyphs.VLineDbl}{new (' ', width - btnNext.Length - 2)}{btnNext}{Glyphs.VLineDbl}";
 
-        //var buttonRow = $"{CM.Glyphs.VDLine}{new String (' ', width - btnNext.Length - 2)}{btnNext}{CM.Glyphs.VDLine}";
+        //var buttonRow = $"{Glyphs.VDLine}{new String (' ', width - btnNext.Length - 2)}{btnNext}{Glyphs.VDLine}";
         var bottomRow =
             $"{
-                CM.Glyphs.LLCornerDbl
+                Glyphs.LLCornerDbl
             }{
-                new (CM.Glyphs.HLineDbl.ToString () [0], width - 2)
+                new (Glyphs.HLineDbl.ToString () [0], width - 2)
             }{
-                CM.Glyphs.LRCornerDbl
+                Glyphs.LRCornerDbl
             }";
 
         var wizard = new Wizard { Title = title, Width = width, Height = height };
@@ -655,43 +655,43 @@ public void ZeroStepWizard_Shows ()
         d.SetBufferSize (width, height);
 
         var btnBackText = "Back";
-        var btnBack = $"{CM.Glyphs.LeftBracket} {btnBackText} {CM.Glyphs.RightBracket}";
+        var btnBack = $"{Glyphs.LeftBracket} {btnBackText} {Glyphs.RightBracket}";
         var btnNextText = "Finish";
 
         var btnNext =
             $"{
-                CM.Glyphs.LeftBracket
+                Glyphs.LeftBracket
             }{
-                CM.Glyphs.LeftDefaultIndicator
+                Glyphs.LeftDefaultIndicator
             } {
                 btnNextText
             } {
-                CM.Glyphs.RightDefaultIndicator
+                Glyphs.RightDefaultIndicator
             }{
-                CM.Glyphs.RightBracket
+                Glyphs.RightBracket
             }";
 
         var topRow =
             $"{
-                CM.Glyphs.ULCornerDbl
+                Glyphs.ULCornerDbl
             }╡{
                 title
             }{
                 stepTitle
             }╞{
-                new (CM.Glyphs.HLineDbl.ToString () [0], width - title.Length - stepTitle.Length - 4)
+                new (Glyphs.HLineDbl.ToString () [0], width - title.Length - stepTitle.Length - 4)
             }{
-                CM.Glyphs.URCornerDbl
+                Glyphs.URCornerDbl
             }";
-        var row2 = $"{CM.Glyphs.VLineDbl}{new (' ', width - 2)}{CM.Glyphs.VLineDbl}";
+        var row2 = $"{Glyphs.VLineDbl}{new (' ', width - 2)}{Glyphs.VLineDbl}";
         string row3 = row2;
 
         var separatorRow =
-            $"{CM.Glyphs.VLineDbl}{new (CM.Glyphs.HLine.ToString () [0], width - 2)}{CM.Glyphs.VLineDbl}";
+            $"{Glyphs.VLineDbl}{new (Glyphs.HLine.ToString () [0], width - 2)}{Glyphs.VLineDbl}";
 
         var buttonRow =
             $"{
-                CM.Glyphs.VLineDbl
+                Glyphs.VLineDbl
             }{
                 btnBack
             }{
@@ -699,16 +699,16 @@ public void ZeroStepWizard_Shows ()
             }{
                 btnNext
             }{
-                CM.Glyphs.VLineDbl
+                Glyphs.VLineDbl
             }";
 
         var bottomRow =
             $"{
-                CM.Glyphs.LLCornerDbl
+                Glyphs.LLCornerDbl
             }{
-                new (CM.Glyphs.HLineDbl.ToString () [0], width - 2)
+                new (Glyphs.HLineDbl.ToString () [0], width - 2)
             }{
-                CM.Glyphs.LRCornerDbl
+                Glyphs.LRCornerDbl
             }";
 
         var wizard = new Wizard { Title = title, Width = width, Height = height };
diff --git a/UnitTests/Drawing/GlyphTests.cs b/UnitTests/Drawing/GlyphTests.cs
deleted file mode 100644
index c3b1488621..0000000000
--- a/UnitTests/Drawing/GlyphTests.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Reflection;
-using System.Text;
-using System.Text.Json;
-
-namespace Terminal.Gui.DrawingTests;
-
-public class GlyphTests
-{
-    [Fact]
-    public void Default_GlyphDefinitions_Deserialize ()
-    {
-        var defs = new GlyphDefinitions ();
-
-        // enumerate all properties in GlyphDefinitions
-        foreach (PropertyInfo prop in typeof (GlyphDefinitions).GetProperties ())
-        {
-            if (prop.PropertyType == typeof (Rune))
-            {
-                // Act
-                var rune = (Rune)prop.GetValue (defs);
-                string json = JsonSerializer.Serialize (rune, ConfigurationManager._serializerOptions);
-                var deserialized = JsonSerializer.Deserialize<Rune> (json, ConfigurationManager._serializerOptions);
-
-                // Assert
-                Assert.Equal (((Rune)prop.GetValue (defs)).Value, deserialized.Value);
-            }
-        }
-    }
-}
diff --git a/UnitTests/Text/TextFormatterTests.cs b/UnitTests/Text/TextFormatterTests.cs
index 5435d02044..986775079d 100644
--- a/UnitTests/Text/TextFormatterTests.cs
+++ b/UnitTests/Text/TextFormatterTests.cs
@@ -235,7 +235,7 @@ public void ClipAndJustify_Valid_Right (string text, string justifiedText, int m
     }
 
     public static IEnumerable<object []> CMGlyphs =>
-        new List<object []> { new object [] { $"{CM.Glyphs.LeftBracket} Say Hello 你 {CM.Glyphs.RightBracket}", 16, 15 } };
+        new List<object []> { new object [] { $"{Glyphs.LeftBracket} Say Hello 你 {Glyphs.RightBracket}", 16, 15 } };
 
     [SetupFakeDriver]
     [Theory]
diff --git a/UnitTests/View/Layout/Pos.AnchorEndTests.cs b/UnitTests/View/Layout/Pos.AnchorEndTests.cs
index 9359dbff4d..f69faca9f7 100644
--- a/UnitTests/View/Layout/Pos.AnchorEndTests.cs
+++ b/UnitTests/View/Layout/Pos.AnchorEndTests.cs
@@ -180,7 +180,7 @@ public void PosAnchorEnd_View_And_Button ()
         // Override CM
         Button.DefaultShadow = ShadowStyle.None;
 
-        var b = $"{CM.Glyphs.LeftBracket} Ok {CM.Glyphs.RightBracket}";
+        var b = $"{Glyphs.LeftBracket} Ok {Glyphs.RightBracket}";
 
         var frame = new FrameView { Width = 18, Height = 3 };
         Assert.Equal (16, frame.Viewport.Width);
diff --git a/UnitTests/Views/ButtonTests.cs b/UnitTests/Views/ButtonTests.cs
index cf663d887a..dc7dcb5ce9 100644
--- a/UnitTests/Views/ButtonTests.cs
+++ b/UnitTests/Views/ButtonTests.cs
@@ -15,7 +15,7 @@ public void Text_Mirrors_Title ()
         Assert.Equal ("Hello", view.TitleTextFormatter.Text);
 
         Assert.Equal ("Hello", view.Text);
-        Assert.Equal ($"{CM.Glyphs.LeftBracket} Hello {CM.Glyphs.RightBracket}", view.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.LeftBracket} Hello {Glyphs.RightBracket}", view.TextFormatter.Text);
         view.Dispose ();
     }
 
@@ -25,7 +25,7 @@ public void Title_Mirrors_Text ()
         var view = new Button ();
         view.Text = "Hello";
         Assert.Equal ("Hello", view.Text);
-        Assert.Equal ($"{CM.Glyphs.LeftBracket} Hello {CM.Glyphs.RightBracket}", view.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.LeftBracket} Hello {Glyphs.RightBracket}", view.TextFormatter.Text);
 
         Assert.Equal ("Hello", view.Title);
         Assert.Equal ("Hello", view.TitleTextFormatter.Text);
@@ -158,14 +158,14 @@ public void Constructors_Defaults ()
         btn.EndInit ();
         btn.SetRelativeLayout (new (100, 100));
 
-        Assert.Equal ($"{CM.Glyphs.LeftBracket}  {CM.Glyphs.RightBracket}", btn.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.LeftBracket}  {Glyphs.RightBracket}", btn.TextFormatter.Text);
         Assert.False (btn.IsDefault);
         Assert.Equal (Alignment.Center, btn.TextAlignment);
         Assert.Equal ('_', btn.HotKeySpecifier.Value);
         Assert.True (btn.CanFocus);
         Assert.Equal (new (0, 0, 4, 1), btn.Viewport);
         Assert.Equal (new (0, 0, 4, 1), btn.Frame);
-        Assert.Equal ($"{CM.Glyphs.LeftBracket}  {CM.Glyphs.RightBracket}", btn.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.LeftBracket}  {Glyphs.RightBracket}", btn.TextFormatter.Text);
         Assert.False (btn.IsDefault);
         Assert.Equal (Alignment.Center, btn.TextAlignment);
         Assert.Equal ('_', btn.HotKeySpecifier.Value);
@@ -179,7 +179,7 @@ public void Constructors_Defaults ()
         btn.Draw ();
 
         var expected = @$"
-{CM.Glyphs.LeftBracket}  {CM.Glyphs.RightBracket}
+{Glyphs.LeftBracket}  {Glyphs.RightBracket}
 ";
         TestHelpers.AssertDriverContentsWithFrameAre (expected, output);
         btn.Dispose ();
@@ -197,7 +197,7 @@ public void Constructors_Defaults ()
         Assert.Equal ("_Test", btn.Text);
 
         Assert.Equal (
-                      $"{CM.Glyphs.LeftBracket}{CM.Glyphs.LeftDefaultIndicator} Test {CM.Glyphs.RightDefaultIndicator}{CM.Glyphs.RightBracket}",
+                      $"{Glyphs.LeftBracket}{Glyphs.LeftDefaultIndicator} Test {Glyphs.RightDefaultIndicator}{Glyphs.RightBracket}",
                       btn.TextFormatter.Format ()
                      );
         Assert.True (btn.IsDefault);
@@ -224,7 +224,7 @@ public void Constructors_Defaults ()
         Assert.Equal (Key.A, btn.HotKey);
 
         Assert.Equal (
-                      $"{CM.Glyphs.LeftBracket}{CM.Glyphs.LeftDefaultIndicator} abc {CM.Glyphs.RightDefaultIndicator}{CM.Glyphs.RightBracket}",
+                      $"{Glyphs.LeftBracket}{Glyphs.LeftDefaultIndicator} abc {Glyphs.RightDefaultIndicator}{Glyphs.RightBracket}",
                       btn.TextFormatter.Format ()
                      );
         Assert.True (btn.IsDefault);
@@ -236,7 +236,7 @@ public void Constructors_Defaults ()
         btn.Draw ();
 
         expected = @$"
- {CM.Glyphs.LeftBracket}{CM.Glyphs.LeftDefaultIndicator} abc {CM.Glyphs.RightDefaultIndicator}{CM.Glyphs.RightBracket}
+ {Glyphs.LeftBracket}{Glyphs.LeftDefaultIndicator} abc {Glyphs.RightDefaultIndicator}{Glyphs.RightBracket}
 ";
         TestHelpers.AssertDriverContentsWithFrameAre (expected, output);
 
@@ -576,9 +576,9 @@ public void Update_Parameterless_Only_On_Or_After_Initialize ()
 
         Assert.True (btn.IsInitialized);
         Assert.Equal ("Say Hello 你", btn.Text);
-        Assert.Equal ($"{CM.Glyphs.LeftBracket} {btn.Text} {CM.Glyphs.RightBracket}", btn.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.LeftBracket} {btn.Text} {Glyphs.RightBracket}", btn.TextFormatter.Text);
         Assert.Equal (new (0, 0, 16, 1), btn.Viewport);
-        var btnTxt = $"{CM.Glyphs.LeftBracket} {btn.Text} {CM.Glyphs.RightBracket}";
+        var btnTxt = $"{Glyphs.LeftBracket} {btn.Text} {Glyphs.RightBracket}";
 
         var expected = @$"
 ┌────────────────────────────┐
diff --git a/UnitTests/Views/CheckBoxTests.cs b/UnitTests/Views/CheckBoxTests.cs
index a64c2e7912..511cf3be4f 100644
--- a/UnitTests/Views/CheckBoxTests.cs
+++ b/UnitTests/Views/CheckBoxTests.cs
@@ -79,7 +79,7 @@ public void Text_Mirrors_Title ()
         Assert.Equal ("Hello", view.TitleTextFormatter.Text);
 
         Assert.Equal ("Hello", view.Text);
-        Assert.Equal ($"{CM.Glyphs.CheckStateUnChecked} Hello", view.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.CheckStateUnChecked} Hello", view.TextFormatter.Text);
     }
 
     [Fact]
@@ -88,7 +88,7 @@ public void Title_Mirrors_Text ()
         var view = new CheckBox ();
         view.Text = "Hello";
         Assert.Equal ("Hello", view.Text);
-        Assert.Equal ($"{CM.Glyphs.CheckStateUnChecked} Hello", view.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.CheckStateUnChecked} Hello", view.TextFormatter.Text);
 
         Assert.Equal ("Hello", view.Title);
         Assert.Equal ("Hello", view.TitleTextFormatter.Text);
@@ -104,7 +104,7 @@ public void Constructors_Defaults ()
         Assert.Equal (CheckState.UnChecked, ckb.CheckedState);
         Assert.False (ckb.AllowCheckStateNone);
         Assert.Equal (string.Empty, ckb.Text);
-        Assert.Equal ($"{CM.Glyphs.CheckStateUnChecked} ", ckb.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.CheckStateUnChecked} ", ckb.TextFormatter.Text);
         Assert.True (ckb.CanFocus);
         Assert.Equal (new (0, 0, 2, 1), ckb.Frame);
 
@@ -115,7 +115,7 @@ public void Constructors_Defaults ()
         Assert.Equal (CheckState.Checked, ckb.CheckedState);
         Assert.False (ckb.AllowCheckStateNone);
         Assert.Equal ("Test", ckb.Text);
-        Assert.Equal ($"{CM.Glyphs.CheckStateChecked} Test", ckb.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.CheckStateChecked} Test", ckb.TextFormatter.Text);
         Assert.True (ckb.CanFocus);
         Assert.Equal (new (0, 0, 6, 1), ckb.Frame);
 
@@ -126,7 +126,7 @@ public void Constructors_Defaults ()
         Assert.Equal (CheckState.UnChecked, ckb.CheckedState);
         Assert.False (ckb.AllowCheckStateNone);
         Assert.Equal ("Test", ckb.Text);
-        Assert.Equal ($"{CM.Glyphs.CheckStateUnChecked} Test", ckb.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.CheckStateUnChecked} Test", ckb.TextFormatter.Text);
         Assert.True (ckb.CanFocus);
         Assert.Equal (new (1, 2, 6, 1), ckb.Frame);
 
@@ -137,7 +137,7 @@ public void Constructors_Defaults ()
         Assert.Equal (CheckState.Checked, ckb.CheckedState);
         Assert.False (ckb.AllowCheckStateNone);
         Assert.Equal ("Test", ckb.Text);
-        Assert.Equal ($"{CM.Glyphs.CheckStateChecked} Test", ckb.TextFormatter.Text);
+        Assert.Equal ($"{Glyphs.CheckStateChecked} Test", ckb.TextFormatter.Text);
         Assert.True (ckb.CanFocus);
         Assert.Equal (new (3, 4, 6, 1), ckb.Frame);
     }
@@ -359,7 +359,7 @@ public void TextAlignment_Centered ()
         var expected = @$"
 ┌┤Test Demo 你├──────────────┐
 │                            │
-│    {CM.Glyphs.CheckStateUnChecked} Check this out 你     │
+│    {Glyphs.CheckStateUnChecked} Check this out 你     │
 │                            │
 └────────────────────────────┘
 ";
@@ -373,7 +373,7 @@ public void TextAlignment_Centered ()
         expected = @$"
 ┌┤Test Demo 你├──────────────┐
 │                            │
-│    {CM.Glyphs.CheckStateChecked} Check this out 你     │
+│    {Glyphs.CheckStateChecked} Check this out 你     │
 │                            │
 └────────────────────────────┘
 ";
@@ -420,8 +420,8 @@ public void TextAlignment_Justified ()
         var expected = @$"
 ┌┤Test Demo 你├──────────────┐
 │                            │
-│ {CM.Glyphs.CheckStateUnChecked}   Check  first  out  你  │
-│ {CM.Glyphs.CheckStateUnChecked}  Check  second  out  你  │
+│ {Glyphs.CheckStateUnChecked}   Check  first  out  你  │
+│ {Glyphs.CheckStateUnChecked}  Check  second  out  你  │
 │                            │
 └────────────────────────────┘
 ";
@@ -443,8 +443,8 @@ public void TextAlignment_Justified ()
         expected = @$"
 ┌┤Test Demo 你├──────────────┐
 │                            │
-│ {CM.Glyphs.CheckStateChecked}   Check  first  out  你  │
-│ {CM.Glyphs.CheckStateChecked}  Check  second  out  你  │
+│ {Glyphs.CheckStateChecked}   Check  first  out  你  │
+│ {Glyphs.CheckStateChecked}  Check  second  out  你  │
 │                            │
 └────────────────────────────┘
 ";
@@ -480,7 +480,7 @@ public void TextAlignment_Left ()
         var expected = @$"
 ┌┤Test Demo 你├──────────────┐
 │                            │
-│ {CM.Glyphs.CheckStateUnChecked} Check this out 你        │
+│ {Glyphs.CheckStateUnChecked} Check this out 你        │
 │                            │
 └────────────────────────────┘
 ";
@@ -494,7 +494,7 @@ public void TextAlignment_Left ()
         expected = @$"
 ┌┤Test Demo 你├──────────────┐
 │                            │
-│ {CM.Glyphs.CheckStateChecked} Check this out 你        │
+│ {Glyphs.CheckStateChecked} Check this out 你        │
 │                            │
 └────────────────────────────┘
 ";
@@ -531,7 +531,7 @@ public void TextAlignment_Right ()
         var expected = @$"
 ┌┤Test Demo 你├──────────────┐
 │                            │
-│       Check this out 你 {CM.Glyphs.CheckStateUnChecked}  │
+│       Check this out 你 {Glyphs.CheckStateUnChecked}  │
 │                            │
 └────────────────────────────┘
 ";
@@ -545,7 +545,7 @@ public void TextAlignment_Right ()
         expected = @$"
 ┌┤Test Demo 你├──────────────┐
 │                            │
-│       Check this out 你 {CM.Glyphs.CheckStateChecked}  │
+│       Check this out 你 {Glyphs.CheckStateChecked}  │
 │                            │
 └────────────────────────────┘
 ";
diff --git a/UnitTests/Views/GraphViewTests.cs b/UnitTests/Views/GraphViewTests.cs
index c44f26ea33..4a7fe4a066 100644
--- a/UnitTests/Views/GraphViewTests.cs
+++ b/UnitTests/Views/GraphViewTests.cs
@@ -1118,7 +1118,7 @@ public void TestTextAnnotation_EmptyText (string whitespace)
         var expected =
             @$"
  │
- ┤      {CM.Glyphs.Dot}
+ ┤      {Glyphs.Dot}
  ┤
 0┼┬┬┬┬┬┬┬┬
  0    5";
@@ -1593,9 +1593,9 @@ public void XAxisLabels_With_MarginLeft ()
    │
   2┤
    │
-  1┤{CM.Glyphs.Dot}
+  1┤{Glyphs.Dot}
    │ 
-  0┼┬┬┬┬{CM.Glyphs.Dot}┬
+  0┼┬┬┬┬{Glyphs.Dot}┬
    0    5
          
           ";
@@ -1630,9 +1630,9 @@ public void YAxisLabels_With_MarginBottom ()
         var expected =
             @$"
  │
-1┤{CM.Glyphs.Dot}
+1┤{Glyphs.Dot}
  │ 
-0┼┬┬┬┬{CM.Glyphs.Dot}┬┬┬
+0┼┬┬┬┬{Glyphs.Dot}┬┬┬
  0    5   
           
           ";
diff --git a/UnitTests/Views/MenuBarTests.cs b/UnitTests/Views/MenuBarTests.cs
index 34fac896e8..133f0175fa 100644
--- a/UnitTests/Views/MenuBarTests.cs
+++ b/UnitTests/Views/MenuBarTests.cs
@@ -107,7 +107,7 @@ public void AllowNullChecked_Get_Set ()
                                                       @$"
  Nullable Checked       
 ┌──────────────────────┐
-│ {CM.Glyphs.CheckStateNone} Check this out 你  │
+│ {Glyphs.CheckStateNone} Check this out 你  │
 └──────────────────────┘",
                                                       output
                                                      );
@@ -3771,11 +3771,11 @@ public class ExpectedMenuBar : MenuBar
 
         public string ExpectedBottomRow (int i)
         {
-            return $"{CM.Glyphs.LLCorner}{new (CM.Glyphs.HLine.ToString () [0], Menus [i].Children [0].TitleLength + 3)}{CM.Glyphs.LRCorner}  \n";
+            return $"{Glyphs.LLCorner}{new (Glyphs.HLine.ToString () [0], Menus [i].Children [0].TitleLength + 3)}{Glyphs.LRCorner}  \n";
         }
 
         // The 3 spaces at end are a result of Menu.cs line 1062 where `pos` is calculated (` + spacesAfterTitle`)
-        public string ExpectedMenuItemRow (int i) { return $"{CM.Glyphs.VLine} {Menus [i].Children [0].Title}  {CM.Glyphs.VLine}   \n"; }
+        public string ExpectedMenuItemRow (int i) { return $"{Glyphs.VLine} {Menus [i].Children [0].Title}  {Glyphs.VLine}   \n"; }
 
         // The full expected string for an open sub menu
         public string ExpectedSubMenuOpen (int i)
@@ -3800,7 +3800,7 @@ public string ExpectedSubMenuOpen (int i)
         //   1 space before the Title and 2 spaces after the Title/Check/Help
         public string ExpectedTopRow (int i)
         {
-            return $"{CM.Glyphs.ULCorner}{new (CM.Glyphs.HLine.ToString () [0], Menus [i].Children [0].TitleLength + 3)}{CM.Glyphs.URCorner}  \n";
+            return $"{Glyphs.ULCorner}{new (Glyphs.HLine.ToString () [0], Menus [i].Children [0].TitleLength + 3)}{Glyphs.URCorner}  \n";
         }
 
         // Each MenuBar title has a 1 space pad on each side
diff --git a/UnitTests/Views/ProgressBarTests.cs b/UnitTests/Views/ProgressBarTests.cs
index 927085f742..d5c163a76b 100644
--- a/UnitTests/Views/ProgressBarTests.cs
+++ b/UnitTests/Views/ProgressBarTests.cs
@@ -18,7 +18,7 @@ public void Default_Constructor ()
         Assert.Equal (1, pb.Frame.Height);
         Assert.Equal (ProgressBarStyle.Blocks, pb.ProgressBarStyle);
         Assert.Equal (ProgressBarFormat.Simple, pb.ProgressBarFormat);
-        Assert.Equal (CM.Glyphs.BlocksMeterSegment, pb.SegmentCharacter);
+        Assert.Equal (Glyphs.BlocksMeterSegment, pb.SegmentCharacter);
     }
 
     [Fact]
@@ -41,7 +41,7 @@ public void Fraction_Redraw ()
 
             if (i == 0)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
@@ -50,8 +50,8 @@ public void Fraction_Redraw ()
             }
             else if (i == 1)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
@@ -59,38 +59,38 @@ public void Fraction_Redraw ()
             }
             else if (i == 2)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
             }
             else if (i == 3)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
             }
             else if (i == 4)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
             }
             else if (i == 5)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
             }
         }
@@ -148,16 +148,16 @@ public void ProgressBarStyle_Setter ()
         var pb = new ProgressBar ();
 
         pb.ProgressBarStyle = ProgressBarStyle.Blocks;
-        Assert.Equal (CM.Glyphs.BlocksMeterSegment, pb.SegmentCharacter);
+        Assert.Equal (Glyphs.BlocksMeterSegment, pb.SegmentCharacter);
 
         pb.ProgressBarStyle = ProgressBarStyle.Continuous;
-        Assert.Equal (CM.Glyphs.ContinuousMeterSegment, pb.SegmentCharacter);
+        Assert.Equal (Glyphs.ContinuousMeterSegment, pb.SegmentCharacter);
 
         pb.ProgressBarStyle = ProgressBarStyle.MarqueeBlocks;
-        Assert.Equal (CM.Glyphs.BlocksMeterSegment, pb.SegmentCharacter);
+        Assert.Equal (Glyphs.BlocksMeterSegment, pb.SegmentCharacter);
 
         pb.ProgressBarStyle = ProgressBarStyle.MarqueeContinuous;
-        Assert.Equal (CM.Glyphs.ContinuousMeterSegment, pb.SegmentCharacter);
+        Assert.Equal (Glyphs.ContinuousMeterSegment, pb.SegmentCharacter);
     }
 
     [Fact]
@@ -183,7 +183,7 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
 
             if (i == 0)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
@@ -201,8 +201,8 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             }
             else if (i == 1)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
@@ -219,9 +219,9 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             }
             else if (i == 2)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
@@ -237,10 +237,10 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             }
             else if (i == 3)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
@@ -255,11 +255,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             }
             else if (i == 4)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
@@ -274,11 +274,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             else if (i == 5)
             {
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
@@ -293,11 +293,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             {
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
@@ -312,11 +312,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
@@ -331,11 +331,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
@@ -350,11 +350,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
@@ -369,11 +369,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
@@ -388,11 +388,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
@@ -407,11 +407,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
             }
@@ -426,11 +426,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
             }
             else if (i == 14)
@@ -445,11 +445,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 15)
             {
@@ -464,10 +464,10 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 16)
             {
@@ -483,9 +483,9 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 17)
             {
@@ -502,8 +502,8 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 18)
             {
@@ -521,11 +521,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 19)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
@@ -543,8 +543,8 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             }
             else if (i == 20)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
@@ -561,9 +561,9 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             }
             else if (i == 21)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
@@ -579,10 +579,10 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             }
             else if (i == 22)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
@@ -597,11 +597,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             }
             else if (i == 23)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
@@ -616,11 +616,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             else if (i == 24)
             {
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
@@ -635,11 +635,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
             {
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
@@ -654,11 +654,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
@@ -673,11 +673,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
@@ -692,11 +692,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
@@ -711,11 +711,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
@@ -730,11 +730,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
@@ -749,11 +749,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
             }
@@ -768,11 +768,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
             }
             else if (i == 33)
@@ -787,11 +787,11 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 34)
             {
@@ -806,10 +806,10 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 35)
             {
@@ -825,9 +825,9 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 36)
             {
@@ -844,8 +844,8 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 37)
             {
@@ -863,7 +863,7 @@ public void Pulse_Redraw_BidirectionalMarquee_False ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
         }
     }
@@ -888,7 +888,7 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
 
             if (i == 0)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
@@ -906,8 +906,8 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 1)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
@@ -924,9 +924,9 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 2)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
@@ -942,10 +942,10 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 3)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
@@ -960,11 +960,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 4)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
@@ -979,11 +979,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             else if (i == 5)
             {
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
@@ -998,11 +998,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             {
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
@@ -1017,11 +1017,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
@@ -1036,11 +1036,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
@@ -1055,11 +1055,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
@@ -1074,11 +1074,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
@@ -1093,11 +1093,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
@@ -1112,11 +1112,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
             }
@@ -1131,11 +1131,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
             }
             else if (i == 14)
@@ -1150,11 +1150,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 15)
             {
@@ -1169,10 +1169,10 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 16)
             {
@@ -1188,9 +1188,9 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 17)
             {
@@ -1207,8 +1207,8 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 18)
             {
@@ -1226,7 +1226,7 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 19)
             {
@@ -1243,8 +1243,8 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 20)
             {
@@ -1260,9 +1260,9 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 21)
             {
@@ -1277,10 +1277,10 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 22)
             {
@@ -1294,11 +1294,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 14].Rune);
             }
             else if (i == 23)
             {
@@ -1311,11 +1311,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
             }
             else if (i == 24)
@@ -1328,11 +1328,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
             }
@@ -1345,11 +1345,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 14].Rune);
@@ -1362,11 +1362,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 13].Rune);
@@ -1379,11 +1379,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 12].Rune);
@@ -1396,11 +1396,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 11].Rune);
@@ -1413,11 +1413,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 10].Rune);
@@ -1430,11 +1430,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             {
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 9].Rune);
@@ -1447,11 +1447,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             else if (i == 31)
             {
                 Assert.Equal ((Rune)' ', driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 8].Rune);
@@ -1464,11 +1464,11 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 32)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 7].Rune);
@@ -1482,10 +1482,10 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 33)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 6].Rune);
@@ -1500,9 +1500,9 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 34)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 5].Rune);
@@ -1518,8 +1518,8 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 35)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
@@ -1536,7 +1536,7 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 36)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
@@ -1554,8 +1554,8 @@ public void Pulse_Redraw_BidirectionalMarquee_True_Default ()
             }
             else if (i == 37)
             {
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
-                Assert.Equal (CM.Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 0].Rune);
+                Assert.Equal (Glyphs.BlocksMeterSegment, driver.Contents [0, 1].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 2].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 3].Rune);
                 Assert.Equal ((Rune)' ', driver.Contents [0, 4].Rune);
diff --git a/UnitTests/Views/RadioGroupTests.cs b/UnitTests/Views/RadioGroupTests.cs
index 4276ca71f6..8eb95cb716 100644
--- a/UnitTests/Views/RadioGroupTests.cs
+++ b/UnitTests/Views/RadioGroupTests.cs
@@ -543,8 +543,8 @@ public void Orientation_Width_Height_Vertical_Horizontal_Space ()
 
         var expected = @$"
 ┌────────────────────────────┐
-│{CM.Glyphs.Selected} Test                      │
-│{CM.Glyphs.UnSelected} New Test 你               │
+│{Glyphs.Selected} Test                      │
+│{Glyphs.UnSelected} New Test 你               │
 │                            │
 └────────────────────────────┘
 ";
@@ -564,7 +564,7 @@ public void Orientation_Width_Height_Vertical_Horizontal_Space ()
 
         expected = @$"
 ┌────────────────────────────┐
-│{CM.Glyphs.Selected} Test  {CM.Glyphs.UnSelected} New Test 你       │
+│{Glyphs.Selected} Test  {Glyphs.UnSelected} New Test 你       │
 │                            │
 │                            │
 └────────────────────────────┘
@@ -585,7 +585,7 @@ public void Orientation_Width_Height_Vertical_Horizontal_Space ()
 
         expected = @$"
 ┌────────────────────────────┐
-│{CM.Glyphs.Selected} Test    {CM.Glyphs.UnSelected} New Test 你     │
+│{Glyphs.Selected} Test    {Glyphs.UnSelected} New Test 你     │
 │                            │
 │                            │
 └────────────────────────────┘
diff --git a/UnitTests/Views/TreeTableSourceTests.cs b/UnitTests/Views/TreeTableSourceTests.cs
index bf8945f610..d235690284 100644
--- a/UnitTests/Views/TreeTableSourceTests.cs
+++ b/UnitTests/Views/TreeTableSourceTests.cs
@@ -13,16 +13,16 @@ public TreeTableSourceTests (ITestOutputHelper output)
     {
         _output = output;
 
-        _origChecked = ConfigurationManager.Glyphs.CheckStateChecked;
-        _origUnchecked = ConfigurationManager.Glyphs.CheckStateUnChecked;
-        ConfigurationManager.Glyphs.CheckStateChecked = new Rune ('☑');
-        ConfigurationManager.Glyphs.CheckStateUnChecked = new Rune ('☐');
+        _origChecked = Glyphs.CheckStateChecked;
+        _origUnchecked = Glyphs.CheckStateUnChecked;
+        Glyphs.CheckStateChecked = new Rune ('☑');
+        Glyphs.CheckStateUnChecked = new Rune ('☐');
     }
 
     public void Dispose ()
     {
-        ConfigurationManager.Glyphs.CheckStateChecked = _origChecked;
-        ConfigurationManager.Glyphs.CheckStateUnChecked = _origUnchecked;
+        Glyphs.CheckStateChecked = _origChecked;
+        Glyphs.CheckStateUnChecked = _origUnchecked;
     }
 
     [Fact]

From 5c79ffb9bef6c3c617697625a220ccb911413671 Mon Sep 17 00:00:00 2001
From: Tig <tig@users.noreply.github.com>
Date: Wed, 26 Feb 2025 12:23:32 -0700
Subject: [PATCH 2/3] Moved Glyphs to ThemeScope

---
 .../Configuration/ConfigurationManager.cs     |   9 +
 Terminal.Gui/Configuration/Scope.cs           |   7 +
 Terminal.Gui/Drawing/Glyphs.cs                | 282 ++++++++---------
 Terminal.Gui/Resources/config.json            | 286 +++++++++---------
 UnitTests/Application/ApplicationTests.cs     |  13 +-
 .../Configuration/ConfigurationMangerTests.cs |  91 +++---
 UnitTests/Configuration/GlyphTests.cs         |  14 +-
 7 files changed, 378 insertions(+), 324 deletions(-)

diff --git a/Terminal.Gui/Configuration/ConfigurationManager.cs b/Terminal.Gui/Configuration/ConfigurationManager.cs
index a9806d395c..d7689f2609 100644
--- a/Terminal.Gui/Configuration/ConfigurationManager.cs
+++ b/Terminal.Gui/Configuration/ConfigurationManager.cs
@@ -163,6 +163,10 @@ public static void Apply ()
         var themes = false;
         var appSettings = false;
 
+        // Start stopwatch
+        Stopwatch stopwatch = new Stopwatch ();
+        stopwatch.Start ();
+
         try
         {
             if (string.IsNullOrEmpty (ThemeManager.SelectedTheme))
@@ -199,6 +203,10 @@ public static void Apply ()
             {
                 OnApplied ();
             }
+            // Stop stopwatch
+            stopwatch.Stop ();
+
+            Debug.WriteLine ($"CM.Apply () took {stopwatch.ElapsedMilliseconds} ms");
         }
     }
 
@@ -293,6 +301,7 @@ public static void Load (bool reset = false)
     public static void OnApplied ()
     {
         Debug.WriteLine ("ConfigurationManager.OnApplied()");
+
         Applied?.Invoke (null, new ());
 
         // TODO: Refactor ConfigurationManager to not use an event handler for this.
diff --git a/Terminal.Gui/Configuration/Scope.cs b/Terminal.Gui/Configuration/Scope.cs
index 718c5d5124..1ffff7c858 100644
--- a/Terminal.Gui/Configuration/Scope.cs
+++ b/Terminal.Gui/Configuration/Scope.cs
@@ -1,4 +1,5 @@
 #nullable enable
+using System.Diagnostics;
 using System.Reflection;
 
 namespace Terminal.Gui;
@@ -51,6 +52,10 @@ public void RetrieveValues ()
     /// <returns></returns>
     internal virtual bool Apply ()
     {
+        // Start stopwatch
+        Stopwatch stopwatch = new Stopwatch ();
+        stopwatch.Start ();
+
         var set = false;
 
         foreach (KeyValuePair<string, ConfigProperty> p in this.Where (
@@ -64,6 +69,8 @@ internal virtual bool Apply ()
             }
         }
 
+        Debug.WriteLine ($"{GetType().Name}.Apply () took {stopwatch.ElapsedMilliseconds} ms");
+
         return set;
     }
 
diff --git a/Terminal.Gui/Drawing/Glyphs.cs b/Terminal.Gui/Drawing/Glyphs.cs
index b9e4b978fd..de9d80378a 100644
--- a/Terminal.Gui/Drawing/Glyphs.cs
+++ b/Terminal.Gui/Drawing/Glyphs.cs
@@ -26,161 +26,161 @@ public class Glyphs
     // IMPORTANT: in ./UnitTests/bin/Debug/netX.0/config.json
 
     /// <summary>File icon.  Defaults to ☰ (Trigram For Heaven)</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune File { get; set; } = (Rune)'☰';
 
     /// <summary>Folder icon.  Defaults to ꤉ (Kayah Li Digit Nine)</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Folder { get; set; } = (Rune)'꤉';
 
     /// <summary>Horizontal Ellipsis - … U+2026</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune HorizontalEllipsis { get; set; } = (Rune)'…';
 
     /// <summary>Vertical Four Dots - ⁞ U+205e</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune VerticalFourDots { get; set; } = (Rune)'⁞';
 
     #region ----------------- Single Glyphs -----------------
 
     /// <summary>Checked indicator (e.g. for <see cref="ListView"/> and <see cref="CheckBox"/>).</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune CheckStateChecked { get; set; } = (Rune)'☑';
 
     /// <summary>Not Checked indicator (e.g. for <see cref="ListView"/> and <see cref="CheckBox"/>).</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune CheckStateUnChecked { get; set; } = (Rune)'☐';
 
     /// <summary>Null Checked indicator (e.g. for <see cref="ListView"/> and <see cref="CheckBox"/>).</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune CheckStateNone { get; set; } = (Rune)'☒';
 
     /// <summary>Selected indicator  (e.g. for <see cref="ListView"/> and <see cref="RadioGroup"/>).</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Selected { get; set; } = (Rune)'◉';
 
     /// <summary>Not Selected indicator (e.g. for <see cref="ListView"/> and <see cref="RadioGroup"/>).</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune UnSelected { get; set; } = (Rune)'○';
 
     /// <summary>Horizontal arrow.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune RightArrow { get; set; } = (Rune)'►';
 
     /// <summary>Left arrow.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune LeftArrow { get; set; } = (Rune)'◄';
 
     /// <summary>Down arrow.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune DownArrow { get; set; } = (Rune)'▼';
 
     /// <summary>Vertical arrow.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune UpArrow { get; set; } = (Rune)'▲';
 
     /// <summary>Left default indicator (e.g. for <see cref="Button"/>.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune LeftDefaultIndicator { get; set; } = (Rune)'►';
 
     /// <summary>Horizontal default indicator (e.g. for <see cref="Button"/>.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune RightDefaultIndicator { get; set; } = (Rune)'◄';
 
     /// <summary>Left Bracket (e.g. for <see cref="Button"/>. Default is (U+005B) - [.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune LeftBracket { get; set; } = (Rune)'⟦';
 
     /// <summary>Horizontal Bracket (e.g. for <see cref="Button"/>. Default is (U+005D) - ].</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune RightBracket { get; set; } = (Rune)'⟧';
 
     /// <summary>Half block meter segment (e.g. for <see cref="ProgressBar"/>).</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune BlocksMeterSegment { get; set; } = (Rune)'▌';
 
     /// <summary>Continuous block meter segment (e.g. for <see cref="ProgressBar"/>).</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune ContinuousMeterSegment { get; set; } = (Rune)'█';
 
     /// <summary>Stipple pattern (e.g. for <see cref="ScrollBar"/>). Default is Light Shade (U+2591) - ░.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Stipple { get; set; } = (Rune)'░';
 
     /// <summary>Diamond. Default is Lozenge (U+25CA) - ◊.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Diamond { get; set; } = (Rune)'◊';
 
     /// <summary>Close. Default is Heavy Ballot X (U+2718) - ✘.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Close { get; set; } = (Rune)'✘';
 
     /// <summary>Minimize. Default is Lower Horizontal Shadowed White Circle (U+274F) - ❏.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Minimize { get; set; } = (Rune)'❏';
 
     /// <summary>Maximize. Default is Upper Horizontal Shadowed White Circle (U+273D) - ✽.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Maximize { get; set; } = (Rune)'✽';
 
     /// <summary>Dot. Default is (U+2219) - ∙.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Dot { get; set; } = (Rune)'∙';
 
     /// <summary>Dotted Square - ⬚ U+02b1a┝</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune DottedSquare { get; set; } = (Rune)'⬚';
 
     /// <summary>Black Circle . Default is (U+025cf) - ●.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune BlackCircle { get; set; } = (Rune)'●'; // Black Circle - ● U+025cf
 
     /// <summary>Expand (e.g. for <see cref="TreeView"/>.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Expand { get; set; } = (Rune)'+';
 
     /// <summary>Expand (e.g. for <see cref="TreeView"/>.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Collapse { get; set; } = (Rune)'-';
 
     /// <summary>Identical To (U+226)</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune IdenticalTo { get; set; } = (Rune)'≡';
 
     /// <summary>Move indicator. Default is Lozenge (U+25CA) - ◊.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Move { get; set; } = (Rune)'◊';
 
     /// <summary>Size Horizontally indicator. Default is ┥Left Right Arrow - ↔ U+02194</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune SizeHorizontal { get; set; } = (Rune)'↔';
 
     /// <summary>Size Vertical indicator. Default Up Down Arrow - ↕ U+02195</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune SizeVertical { get; set; } = (Rune)'↕';
 
     /// <summary>Size Top Left indicator. North West Arrow - ↖ U+02196</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune SizeTopLeft { get; set; } = (Rune)'↖';
 
     /// <summary>Size Top Right indicator. North East Arrow - ↗ U+02197</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune SizeTopRight { get; set; } = (Rune)'↗';
 
     /// <summary>Size Bottom Right indicator. South East Arrow - ↘ U+02198</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune SizeBottomRight { get; set; } = (Rune)'↘';
 
     /// <summary>Size Bottom Left indicator. South West Arrow - ↙ U+02199</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune SizeBottomLeft { get; set; } = (Rune)'↙';
 
     /// <summary>Apple (non-BMP). Because snek. And because it's an example of a non-BMP surrogate pair. See Issue #2610.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune Apple { get; set; } = "🍎".ToRunes () [0]; // nonBMP
 
     /// <summary>Apple (BMP). Because snek. See Issue #2610.</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune AppleBMP { get; set; } = (Rune)'❦';
 
     #endregion
@@ -188,342 +188,342 @@ public class Glyphs
     #region ----------------- Lines -----------------
 
     /// <summary>Box Drawings Horizontal Line - Light (U+2500) - ─</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune HLine { get; set; } = (Rune)'─';
 
     /// <summary>Box Drawings Vertical Line - Light (U+2502) - │</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune VLine { get; set; } = (Rune)'│';
 
     /// <summary>Box Drawings Double Horizontal (U+2550) - ═</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune HLineDbl { get; set; } = (Rune)'═';
 
     /// <summary>Box Drawings Double Vertical (U+2551) - ║</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineDbl { get; set; } = (Rune)'║';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineDbl { get; set; } = (Rune)'║';
 
     /// <summary>Box Drawings Heavy Double Dash Horizontal (U+254D) - ╍</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineHvDa2 { get; set; } = (Rune)'╍';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineHvDa2 { get; set; } = (Rune)'╍';
 
     /// <summary>Box Drawings Heavy Triple Dash Vertical (U+2507) - ┇</summary>
-    [SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
+    [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
     public static Rune VLineHvDa3 { get; set; } = (Rune)'┇';
 
     /// <summary>Box Drawings Heavy Triple Dash Horizontal (U+2505) - ┅</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineHvDa3 { get; set; } = (Rune)'┅';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineHvDa3 { get; set; } = (Rune)'┅';
 
     /// <summary>Box Drawings Heavy Quadruple Dash Horizontal (U+2509) - ┉</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineHvDa4 { get; set; } = (Rune)'┉';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineHvDa4 { get; set; } = (Rune)'┉';
 
     /// <summary>Box Drawings Heavy Double Dash Vertical (U+254F) - ╏</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineHvDa2 { get; set; } = (Rune)'╏';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineHvDa2 { get; set; } = (Rune)'╏';
 
     /// <summary>Box Drawings Heavy Quadruple Dash Vertical (U+250B) - ┋</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineHvDa4 { get; set; } = (Rune)'┋';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineHvDa4 { get; set; } = (Rune)'┋';
 
     /// <summary>Box Drawings Light Double Dash Horizontal (U+254C) - ╌</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineDa2 { get; set; } = (Rune)'╌';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineDa2 { get; set; } = (Rune)'╌';
 
     /// <summary>Box Drawings Light Triple Dash Vertical (U+2506) - ┆</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineDa3 { get; set; } = (Rune)'┆';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineDa3 { get; set; } = (Rune)'┆';
 
     /// <summary>Box Drawings Light Triple Dash Horizontal (U+2504) - ┄</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineDa3 { get; set; } = (Rune)'┄';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineDa3 { get; set; } = (Rune)'┄';
 
     /// <summary>Box Drawings Light Quadruple Dash Horizontal (U+2508) - ┈</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineDa4 { get; set; } = (Rune)'┈';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineDa4 { get; set; } = (Rune)'┈';
 
     /// <summary>Box Drawings Light Double Dash Vertical (U+254E) - ╎</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineDa2 { get; set; } = (Rune)'╎';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineDa2 { get; set; } = (Rune)'╎';
 
     /// <summary>Box Drawings Light Quadruple Dash Vertical (U+250A) - ┊</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineDa4 { get; set; } = (Rune)'┊';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineDa4 { get; set; } = (Rune)'┊';
 
     /// <summary>Box Drawings Heavy Horizontal (U+2501) - ━</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HLineHv { get; set; } = (Rune)'━';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineHv { get; set; } = (Rune)'━';
 
     /// <summary>Box Drawings Heavy Vertical (U+2503) - ┃</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune VLineHv { get; set; } = (Rune)'┃';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineHv { get; set; } = (Rune)'┃';
 
     /// <summary>Box Drawings Light Left (U+2574) - ╴</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfLeftLine { get; set; } = (Rune)'╴';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfLeftLine { get; set; } = (Rune)'╴';
 
     /// <summary>Box Drawings Light Vertical (U+2575) - ╵</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfTopLine { get; set; } = (Rune)'╵';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfTopLine { get; set; } = (Rune)'╵';
 
     /// <summary>Box Drawings Light Horizontal (U+2576) - ╶</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfRightLine { get; set; } = (Rune)'╶';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfRightLine { get; set; } = (Rune)'╶';
 
     /// <summary>Box Drawings Light Down (U+2577) - ╷</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfBottomLine { get; set; } = (Rune)'╷';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfBottomLine { get; set; } = (Rune)'╷';
 
     /// <summary>Box Drawings Heavy Left (U+2578) - ╸</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfLeftLineHv { get; set; } = (Rune)'╸';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfLeftLineHv { get; set; } = (Rune)'╸';
 
     /// <summary>Box Drawings Heavy Vertical (U+2579) - ╹</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfTopLineHv { get; set; } = (Rune)'╹';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfTopLineHv { get; set; } = (Rune)'╹';
 
     /// <summary>Box Drawings Heavy Horizontal (U+257A) - ╺</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfRightLineHv { get; set; } = (Rune)'╺';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfRightLineHv { get; set; } = (Rune)'╺';
 
     /// <summary>Box Drawings Light Vertical and Horizontal (U+257B) - ╻</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune HalfBottomLineLt { get; set; } = (Rune)'╻';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfBottomLineLt { get; set; } = (Rune)'╻';
 
     /// <summary>Box Drawings Light Horizontal and Heavy Horizontal (U+257C) - ╼</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightSideLineLtHv { get; set; } = (Rune)'╼';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightSideLineLtHv { get; set; } = (Rune)'╼';
 
     /// <summary>Box Drawings Light Vertical and Heavy Horizontal (U+257D) - ╽</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomSideLineLtHv { get; set; } = (Rune)'╽';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomSideLineLtHv { get; set; } = (Rune)'╽';
 
     /// <summary>Box Drawings Heavy Left and Light Horizontal (U+257E) - ╾</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftSideLineHvLt { get; set; } = (Rune)'╾';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftSideLineHvLt { get; set; } = (Rune)'╾';
 
     /// <summary>Box Drawings Heavy Vertical and Light Horizontal (U+257F) - ╿</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopSideLineHvLt { get; set; } = (Rune)'╿';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopSideLineHvLt { get; set; } = (Rune)'╿';
 
     #endregion
 
     #region ----------------- Upper Left Corners -----------------
 
     /// <summary>Box Drawings Upper Left Corner - Light Vertical and Light Horizontal (U+250C) - ┌</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCorner { get; set; } = (Rune)'┌';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCorner { get; set; } = (Rune)'┌';
 
     /// <summary>Box Drawings Upper Left Corner -  Double (U+2554) - ╔</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerDbl { get; set; } = (Rune)'╔';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerDbl { get; set; } = (Rune)'╔';
 
     /// <summary>Box Drawings Upper Left Corner - Light Arc Down and Horizontal (U+256D) - ╭</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerR { get; set; } = (Rune)'╭';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerR { get; set; } = (Rune)'╭';
 
     /// <summary>Box Drawings Heavy Down and Horizontal (U+250F) - ┏</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerHv { get; set; } = (Rune)'┏';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerHv { get; set; } = (Rune)'┏';
 
     /// <summary>Box Drawings Down Heavy and Horizontal Light (U+251E) - ┎</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerHvLt { get; set; } = (Rune)'┎';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerHvLt { get; set; } = (Rune)'┎';
 
     /// <summary>Box Drawings Down Light and Horizontal Heavy (U+250D) - ┎</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerLtHv { get; set; } = (Rune)'┍';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerLtHv { get; set; } = (Rune)'┍';
 
     /// <summary>Box Drawings Double Down and Single Horizontal (U+2553) - ╓</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerDblSingle { get; set; } = (Rune)'╓';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerDblSingle { get; set; } = (Rune)'╓';
 
     /// <summary>Box Drawings Single Down and Double Horizontal (U+2552) - ╒</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ULCornerSingleDbl { get; set; } = (Rune)'╒';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerSingleDbl { get; set; } = (Rune)'╒';
 
     #endregion
 
     #region ----------------- Lower Left Corners -----------------
 
     /// <summary>Box Drawings Lower Left Corner - Light Vertical and Light Horizontal (U+2514) - └</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCorner { get; set; } = (Rune)'└';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCorner { get; set; } = (Rune)'└';
 
     /// <summary>Box Drawings Heavy Vertical and Horizontal (U+2517) - ┗</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerHv { get; set; } = (Rune)'┗';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerHv { get; set; } = (Rune)'┗';
 
     /// <summary>Box Drawings Heavy Vertical and Horizontal Light (U+2516) - ┖</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerHvLt { get; set; } = (Rune)'┖';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerHvLt { get; set; } = (Rune)'┖';
 
     /// <summary>Box Drawings Vertical Light and Horizontal Heavy (U+2511) - ┕</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerLtHv { get; set; } = (Rune)'┕';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerLtHv { get; set; } = (Rune)'┕';
 
     /// <summary>Box Drawings Double Vertical and Double Left (U+255A) - ╚</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerDbl { get; set; } = (Rune)'╚';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerDbl { get; set; } = (Rune)'╚';
 
     /// <summary>Box Drawings Single Vertical and Double Left (U+2558) - ╘</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerSingleDbl { get; set; } = (Rune)'╘';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerSingleDbl { get; set; } = (Rune)'╘';
 
     /// <summary>Box Drawings Double Down and Single Left (U+2559) - ╙</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerDblSingle { get; set; } = (Rune)'╙';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerDblSingle { get; set; } = (Rune)'╙';
 
     /// <summary>Box Drawings Upper Left Corner - Light Arc Down and Left (U+2570) - ╰</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LLCornerR { get; set; } = (Rune)'╰';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerR { get; set; } = (Rune)'╰';
 
     #endregion
 
     #region ----------------- Upper Right Corners -----------------
 
     /// <summary>Box Drawings Upper Horizontal Corner - Light Vertical and Light Horizontal (U+2510) - ┐</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCorner { get; set; } = (Rune)'┐';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCorner { get; set; } = (Rune)'┐';
 
     /// <summary>Box Drawings Upper Horizontal Corner - Double Vertical and Double Horizontal (U+2557) - ╗</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerDbl { get; set; } = (Rune)'╗';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerDbl { get; set; } = (Rune)'╗';
 
     /// <summary>Box Drawings Upper Horizontal Corner - Light Arc Vertical and Horizontal (U+256E) - ╮</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerR { get; set; } = (Rune)'╮';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerR { get; set; } = (Rune)'╮';
 
     /// <summary>Box Drawings Heavy Down and Left (U+2513) - ┓</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerHv { get; set; } = (Rune)'┓';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerHv { get; set; } = (Rune)'┓';
 
     /// <summary>Box Drawings Heavy Vertical and Left Down Light (U+2511) - ┑</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerHvLt { get; set; } = (Rune)'┑';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerHvLt { get; set; } = (Rune)'┑';
 
     /// <summary>Box Drawings Down Light and Horizontal Heavy (U+2514) - ┒</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerLtHv { get; set; } = (Rune)'┒';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerLtHv { get; set; } = (Rune)'┒';
 
     /// <summary>Box Drawings Double Vertical and Single Left (U+2556) - ╖</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerDblSingle { get; set; } = (Rune)'╖';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerDblSingle { get; set; } = (Rune)'╖';
 
     /// <summary>Box Drawings Single Vertical and Double Left (U+2555) - ╕</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune URCornerSingleDbl { get; set; } = (Rune)'╕';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerSingleDbl { get; set; } = (Rune)'╕';
 
     #endregion
 
     #region ----------------- Lower Right Corners -----------------
 
     /// <summary>Box Drawings Lower Right Corner - Light (U+2518) - ┘</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCorner { get; set; } = (Rune)'┘';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCorner { get; set; } = (Rune)'┘';
 
     /// <summary>Box Drawings Lower Right Corner - Double (U+255D) - ╝</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerDbl { get; set; } = (Rune)'╝';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerDbl { get; set; } = (Rune)'╝';
 
     /// <summary>Box Drawings Lower Right Corner - Rounded (U+256F) - ╯</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerR { get; set; } = (Rune)'╯';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerR { get; set; } = (Rune)'╯';
 
     /// <summary>Box Drawings Lower Right Corner - Heavy (U+251B) - ┛</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerHv { get; set; } = (Rune)'┛';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerHv { get; set; } = (Rune)'┛';
 
     /// <summary>Box Drawings Lower Right Corner - Double Vertical and Single Horizontal (U+255C) - ╜</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerDblSingle { get; set; } = (Rune)'╜';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerDblSingle { get; set; } = (Rune)'╜';
 
     /// <summary>Box Drawings Lower Right Corner - Single Vertical and Double Horizontal (U+255B) - ╛</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerSingleDbl { get; set; } = (Rune)'╛';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerSingleDbl { get; set; } = (Rune)'╛';
 
     /// <summary>Box Drawings Lower Right Corner - Light Vertical and Heavy Horizontal (U+2519) - ┙</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerLtHv { get; set; } = (Rune)'┙';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerLtHv { get; set; } = (Rune)'┙';
 
     /// <summary>Box Drawings Lower Right Corner - Heavy Vertical and Light Horizontal (U+251A) - ┚</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LRCornerHvLt { get; set; } = (Rune)'┚';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerHvLt { get; set; } = (Rune)'┚';
 
     #endregion
 
     #region ----------------- Tees -----------------
 
     /// <summary>Box Drawings Left Tee - Single Vertical and Single Horizontal (U+251C) - ├</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTee { get; set; } = (Rune)'├';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTee { get; set; } = (Rune)'├';
 
     /// <summary>Box Drawings Left Tee - Single Vertical and Double Horizontal (U+255E) - ╞</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeDblH { get; set; } = (Rune)'╞';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeDblH { get; set; } = (Rune)'╞';
 
     /// <summary>Box Drawings Left Tee - Double Vertical and Single Horizontal (U+255F) - ╟</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeDblV { get; set; } = (Rune)'╟';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeDblV { get; set; } = (Rune)'╟';
 
     /// <summary>Box Drawings Left Tee - Double Vertical and Double Horizontal (U+2560) - ╠</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeDbl { get; set; } = (Rune)'╠';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeDbl { get; set; } = (Rune)'╠';
 
     /// <summary>Box Drawings Left Tee - Heavy Horizontal and Light Vertical (U+2523) - ┝</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeHvH { get; set; } = (Rune)'┝';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeHvH { get; set; } = (Rune)'┝';
 
     /// <summary>Box Drawings Left Tee - Light Horizontal and Heavy Vertical (U+252B) - ┠</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeHvV { get; set; } = (Rune)'┠';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeHvV { get; set; } = (Rune)'┠';
 
     /// <summary>Box Drawings Left Tee - Heavy Vertical and Heavy Horizontal (U+2527) - ┣</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune LeftTeeHvDblH { get; set; } = (Rune)'┣';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeHvDblH { get; set; } = (Rune)'┣';
 
     /// <summary>Box Drawings Right Tee - Single Vertical and Single Horizontal (U+2524) - ┤</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTee { get; set; } = (Rune)'┤';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTee { get; set; } = (Rune)'┤';
 
     /// <summary>Box Drawings Right Tee - Single Vertical and Double Horizontal (U+2561) - ╡</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeDblH { get; set; } = (Rune)'╡';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeDblH { get; set; } = (Rune)'╡';
 
     /// <summary>Box Drawings Right Tee - Double Vertical and Single Horizontal (U+2562) - ╢</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeDblV { get; set; } = (Rune)'╢';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeDblV { get; set; } = (Rune)'╢';
 
     /// <summary>Box Drawings Right Tee - Double Vertical and Double Horizontal (U+2563) - ╣</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeDbl { get; set; } = (Rune)'╣';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeDbl { get; set; } = (Rune)'╣';
 
     /// <summary>Box Drawings Right Tee - Heavy Horizontal and Light Vertical (U+2528) - ┥</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeHvH { get; set; } = (Rune)'┥';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeHvH { get; set; } = (Rune)'┥';
 
     /// <summary>Box Drawings Right Tee - Light Horizontal and Heavy Vertical (U+2530) - ┨</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeHvV { get; set; } = (Rune)'┨';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeHvV { get; set; } = (Rune)'┨';
 
     /// <summary>Box Drawings Right Tee - Heavy Vertical and Heavy Horizontal (U+252C) - ┫</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune RightTeeHvDblH { get; set; } = (Rune)'┫';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeHvDblH { get; set; } = (Rune)'┫';
 
     /// <summary>Box Drawings Top Tee - Single Vertical and Single Horizontal (U+252C) - ┬</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTee { get; set; } = (Rune)'┬';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTee { get; set; } = (Rune)'┬';
 
     /// <summary>Box Drawings Top Tee - Single Vertical and Double Horizontal (U+2564) - ╤</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeDblH { get; set; } = (Rune)'╤';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeDblH { get; set; } = (Rune)'╤';
 
     /// <summary>Box Drawings Top Tee - Double Vertical and Single Horizontal  (U+2565) - ╥</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeDblV { get; set; } = (Rune)'╥';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeDblV { get; set; } = (Rune)'╥';
 
     /// <summary>Box Drawings Top Tee - Double Vertical and Double Horizontal (U+2566) - ╦</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeDbl { get; set; } = (Rune)'╦';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeDbl { get; set; } = (Rune)'╦';
 
     /// <summary>Box Drawings Top Tee - Heavy Horizontal and Light Vertical (U+252F) - ┯</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeHvH { get; set; } = (Rune)'┯';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeHvH { get; set; } = (Rune)'┯';
 
     /// <summary>Box Drawings Top Tee - Light Horizontal and Heavy Vertical (U+2537) - ┰</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeHvV { get; set; } = (Rune)'┰';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeHvV { get; set; } = (Rune)'┰';
 
     /// <summary>Box Drawings Top Tee - Heavy Vertical and Heavy Horizontal (U+2533) - ┳</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune TopTeeHvDblH { get; set; } = (Rune)'┳';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeHvDblH { get; set; } = (Rune)'┳';
 
     /// <summary>Box Drawings Bottom Tee - Single Vertical and Single Horizontal (U+2534) - ┴</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTee { get; set; } = (Rune)'┴';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTee { get; set; } = (Rune)'┴';
 
     /// <summary>Box Drawings Bottom Tee - Single Vertical and Double Horizontal (U+2567) - ╧</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeDblH { get; set; } = (Rune)'╧';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeDblH { get; set; } = (Rune)'╧';
 
     /// <summary>Box Drawings Bottom Tee - Double Vertical and Single Horizontal (U+2568) - ╨</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeDblV { get; set; } = (Rune)'╨';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeDblV { get; set; } = (Rune)'╨';
 
     /// <summary>Box Drawings Bottom Tee - Double Vertical and Double Horizontal (U+2569) - ╩</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeDbl { get; set; } = (Rune)'╩';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeDbl { get; set; } = (Rune)'╩';
 
     /// <summary>Box Drawings Bottom Tee - Heavy Horizontal and Light Vertical (U+2535) - ┷</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeHvH { get; set; } = (Rune)'┷';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeHvH { get; set; } = (Rune)'┷';
 
     /// <summary>Box Drawings Bottom Tee - Light Horizontal and Heavy Vertical (U+253D) - ┸</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeHvV { get; set; } = (Rune)'┸';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeHvV { get; set; } = (Rune)'┸';
 
     /// <summary>Box Drawings Bottom Tee - Heavy Vertical and Heavy Horizontal (U+2539) - ┻</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune BottomTeeHvDblH { get; set; } = (Rune)'┻';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeHvDblH { get; set; } = (Rune)'┻';
 
     #endregion
 
     #region ----------------- Crosses -----------------
 
     /// <summary>Box Drawings Cross - Single Vertical and Single Horizontal (U+253C) - ┼</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune Cross { get; set; } = (Rune)'┼';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune Cross { get; set; } = (Rune)'┼';
 
     /// <summary>Box Drawings Cross - Single Vertical and Double Horizontal (U+256A) - ╪</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossDblH { get; set; } = (Rune)'╪';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossDblH { get; set; } = (Rune)'╪';
 
     /// <summary>Box Drawings Cross - Double Vertical and Single Horizontal (U+256B) - ╫</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossDblV { get; set; } = (Rune)'╫';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossDblV { get; set; } = (Rune)'╫';
 
     /// <summary>Box Drawings Cross - Double Vertical and Double Horizontal (U+256C) - ╬</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossDbl { get; set; } = (Rune)'╬';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossDbl { get; set; } = (Rune)'╬';
 
     /// <summary>Box Drawings Cross - Heavy Horizontal and Light Vertical (U+253F) - ┿</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossHvH { get; set; } = (Rune)'┿';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossHvH { get; set; } = (Rune)'┿';
 
     /// <summary>Box Drawings Cross - Light Horizontal and Heavy Vertical (U+2541) - ╂</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossHvV { get; set; } = (Rune)'╂';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossHvV { get; set; } = (Rune)'╂';
 
     /// <summary>Box Drawings Cross - Heavy Vertical and Heavy Horizontal (U+254B) - ╋</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune CrossHv { get; set; } = (Rune)'╋';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossHv { get; set; } = (Rune)'╋';
 
     #endregion
 
     #region ----------------- ShadowStyle -----------------
 
     /// <summary>Shadow - Vertical Start - Left Half Block - ▌ U+0258c</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowVerticalStart { get; set; } = (Rune)'▖'; // Half: '\u2596'  ▖;
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ShadowVerticalStart { get; set; } = (Rune)'▖'; // Half: '\u2596'  ▖;
 
     /// <summary>Shadow - Vertical - Left Half Block - ▌ U+0258c</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowVertical { get; set; } = (Rune)'▌';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ShadowVertical { get; set; } = (Rune)'▌';
 
     /// <summary>Shadow - Horizontal Start - Upper Half Block - ▀ U+02580</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowHorizontalStart { get; set; } = (Rune)'▝'; // Half: ▝ U+0259d;
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ShadowHorizontalStart { get; set; } = (Rune)'▝'; // Half: ▝ U+0259d;
 
     /// <summary>Shadow - Horizontal - Upper Half Block - ▀ U+02580</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowHorizontal { get; set; } = (Rune)'▀';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ShadowHorizontal { get; set; } = (Rune)'▀';
 
     /// <summary>Shadow - Horizontal End - Quadrant Upper Left - ▘ U+02598</summary>
-    [SerializableConfigurationProperty(Scope = typeof(SettingsScope))] public static Rune ShadowHorizontalEnd { get; set; } = (Rune)'▘';
+    [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ShadowHorizontalEnd { get; set; } = (Rune)'▘';
 
     #endregion
 }
diff --git a/Terminal.Gui/Resources/config.json b/Terminal.Gui/Resources/config.json
index aac4b02fe9..31752d43b2 100644
--- a/Terminal.Gui/Resources/config.json
+++ b/Terminal.Gui/Resources/config.json
@@ -38,149 +38,6 @@
   "FileDialogStyle.DefaultUseColors": false,
   "FileDialogStyle.DefaultUseUnicodeCharacters": false,
 
-  // --------------- Glyphs ---------------
-  "Glyphs.Apple": "\uD83C\uDF4E",
-  "Glyphs.AppleBMP": "❦",
-  "Glyphs.BlackCircle": "●",
-  "Glyphs.BlocksMeterSegment": "▌",
-  "Glyphs.BottomSideLineLtHv": "╽",
-  "Glyphs.BottomTee": "┴",
-  "Glyphs.BottomTeeDbl": "╩",
-  "Glyphs.BottomTeeDblH": "╧",
-  "Glyphs.BottomTeeDblV": "╨",
-  "Glyphs.BottomTeeHvDblH": "┻",
-  "Glyphs.BottomTeeHvH": "┷",
-  "Glyphs.BottomTeeHvV": "┸",
-  "Glyphs.CheckStateChecked": "☑",
-  "Glyphs.CheckStateNone": "☒",
-  "Glyphs.CheckStateUnChecked": "☐",
-  "Glyphs.Close": "✘",
-  "Glyphs.Collapse": "-",
-  "Glyphs.ContinuousMeterSegment": "█",
-  "Glyphs.Cross": "┼",
-  "Glyphs.CrossDbl": "╬",
-  "Glyphs.CrossDblH": "╪",
-  "Glyphs.CrossDblV": "╫",
-  "Glyphs.CrossHv": "╋",
-  "Glyphs.CrossHvH": "┿",
-  "Glyphs.CrossHvV": "╂",
-  "Glyphs.Diamond": "◊",
-  "Glyphs.Dot": "∙",
-  "Glyphs.DottedSquare": "⬚",
-  "Glyphs.DownArrow": "▼",
-  "Glyphs.Expand": "+",
-  "Glyphs.File": "☰",
-  "Glyphs.Folder": "꤉",
-  "Glyphs.HalfBottomLine": "╷",
-  "Glyphs.HalfBottomLineLt": "╻",
-  "Glyphs.HalfLeftLine": "╴",
-  "Glyphs.HalfLeftLineHv": "╸",
-  "Glyphs.HalfRightLine": "╶",
-  "Glyphs.HalfRightLineHv": "╺",
-  "Glyphs.HalfTopLine": "╵",
-  "Glyphs.HalfTopLineHv": "╹",
-  "Glyphs.HLine": "─",
-  "Glyphs.HLineDa2": "╌",
-  "Glyphs.HLineDa3": "┄",
-  "Glyphs.HLineDa4": "┈",
-  "Glyphs.HLineDbl": "═",
-  "Glyphs.HLineHv": "━",
-  "Glyphs.HLineHvDa2": "╍",
-  "Glyphs.HLineHvDa3": "┅",
-  "Glyphs.HLineHvDa4": "┉",
-  "Glyphs.HorizontalEllipsis": "…",
-  "Glyphs.IdenticalTo": "≡",
-  "Glyphs.LeftArrow": "◄",
-  "Glyphs.LeftBracket": "⟦",
-  "Glyphs.LeftDefaultIndicator": "►",
-  "Glyphs.LeftSideLineHvLt": "╾",
-  "Glyphs.LeftTee": "├",
-  "Glyphs.LeftTeeDbl": "╠",
-  "Glyphs.LeftTeeDblH": "╞",
-  "Glyphs.LeftTeeDblV": "╟",
-  "Glyphs.LeftTeeHvDblH": "┣",
-  "Glyphs.LeftTeeHvH": "┝",
-  "Glyphs.LeftTeeHvV": "┠",
-  "Glyphs.LLCorner": "└",
-  "Glyphs.LLCornerDbl": "╚",
-  "Glyphs.LLCornerDblSingle": "╙",
-  "Glyphs.LLCornerHv": "┗",
-  "Glyphs.LLCornerHvLt": "┖",
-  "Glyphs.LLCornerLtHv": "┕",
-  "Glyphs.LLCornerR": "╰",
-  "Glyphs.LLCornerSingleDbl": "╘",
-  "Glyphs.LRCorner": "┘",
-  "Glyphs.LRCornerDbl": "╝",
-  "Glyphs.LRCornerDblSingle": "╜",
-  "Glyphs.LRCornerHv": "┛",
-  "Glyphs.LRCornerHvLt": "┚",
-  "Glyphs.LRCornerLtHv": "┙",
-  "Glyphs.LRCornerR": "╯",
-  "Glyphs.LRCornerSingleDbl": "╛",
-  "Glyphs.Maximize": "✽",
-  "Glyphs.Minimize": "❏",
-  "Glyphs.Move": "◊",
-  "Glyphs.RightArrow": "►",
-  "Glyphs.RightBracket": "⟧",
-  "Glyphs.RightDefaultIndicator": "◄",
-  "Glyphs.RightSideLineLtHv": "╼",
-  "Glyphs.RightTee": "┤",
-  "Glyphs.RightTeeDbl": "╣",
-  "Glyphs.RightTeeDblH": "╡",
-  "Glyphs.RightTeeDblV": "╢",
-  "Glyphs.RightTeeHvDblH": "┫",
-  "Glyphs.RightTeeHvH": "┥",
-  "Glyphs.RightTeeHvV": "┨",
-  "Glyphs.Selected": "◉",
-  "Glyphs.ShadowHorizontal": "▀",
-  "Glyphs.ShadowHorizontalEnd": "▘",
-  "Glyphs.ShadowHorizontalStart": "▝",
-  "Glyphs.ShadowVertical": "▌",
-  "Glyphs.ShadowVerticalStart": "▖",
-  "Glyphs.SizeBottomLeft": "↙",
-  "Glyphs.SizeBottomRight": "↘",
-  "Glyphs.SizeHorizontal": "↔",
-  "Glyphs.SizeTopLeft": "↖",
-  "Glyphs.SizeTopRight": "↗",
-  "Glyphs.SizeVertical": "↕",
-  "Glyphs.Stipple": "░",
-  "Glyphs.TopSideLineHvLt": "╿",
-  "Glyphs.TopTee": "┬",
-  "Glyphs.TopTeeDbl": "╦",
-  "Glyphs.TopTeeDblH": "╤",
-  "Glyphs.TopTeeDblV": "╥",
-  "Glyphs.TopTeeHvDblH": "┳",
-  "Glyphs.TopTeeHvH": "┯",
-  "Glyphs.TopTeeHvV": "┰",
-  "Glyphs.ULCorner": "┌",
-  "Glyphs.ULCornerDbl": "╔",
-  "Glyphs.ULCornerDblSingle": "╓",
-  "Glyphs.ULCornerHv": "┏",
-  "Glyphs.ULCornerHvLt": "┎",
-  "Glyphs.ULCornerLtHv": "┍",
-  "Glyphs.ULCornerR": "╭",
-  "Glyphs.ULCornerSingleDbl": "╒",
-  "Glyphs.UnSelected": "○",
-  "Glyphs.UpArrow": "▲",
-  "Glyphs.URCorner": "┐",
-  "Glyphs.URCornerDbl": "╗",
-  "Glyphs.URCornerDblSingle": "╖",
-  "Glyphs.URCornerHv": "┓",
-  "Glyphs.URCornerHvLt": "┑",
-  "Glyphs.URCornerLtHv": "┒",
-  "Glyphs.URCornerR": "╮",
-  "Glyphs.URCornerSingleDbl": "╕",
-  "Glyphs.VerticalFourDots": "⁞",
-  "Glyphs.VLine": "│",
-  "Glyphs.VLineDa2": "╎",
-  "Glyphs.VLineDa3": "┆",
-  "Glyphs.VLineDa4": "┊",
-  "Glyphs.VLineDbl": "║",
-  "Glyphs.VLineHv": "┃",
-  "Glyphs.VLineHvDa2": "╏",
-  "Glyphs.VLineHvDa3": "┇",
-  "Glyphs.VLineHvDa4": "┋",
-
   // --------------- Themes -----------------
   "Theme": "Default",
   "Themes": [
@@ -316,7 +173,148 @@
               }
             }
           }
-        ]
+        ],
+        "Glyphs.Apple": "\uD83C\uDF4E",
+        "Glyphs.AppleBMP": "❦",
+        "Glyphs.BlackCircle": "●",
+        "Glyphs.BlocksMeterSegment": "▌",
+        "Glyphs.BottomSideLineLtHv": "╽",
+        "Glyphs.BottomTee": "┴",
+        "Glyphs.BottomTeeDbl": "╩",
+        "Glyphs.BottomTeeDblH": "╧",
+        "Glyphs.BottomTeeDblV": "╨",
+        "Glyphs.BottomTeeHvDblH": "┻",
+        "Glyphs.BottomTeeHvH": "┷",
+        "Glyphs.BottomTeeHvV": "┸",
+        "Glyphs.CheckStateChecked": "☑",
+        "Glyphs.CheckStateNone": "☒",
+        "Glyphs.CheckStateUnChecked": "☐",
+        "Glyphs.Close": "✘",
+        "Glyphs.Collapse": "-",
+        "Glyphs.ContinuousMeterSegment": "█",
+        "Glyphs.Cross": "┼",
+        "Glyphs.CrossDbl": "╬",
+        "Glyphs.CrossDblH": "╪",
+        "Glyphs.CrossDblV": "╫",
+        "Glyphs.CrossHv": "╋",
+        "Glyphs.CrossHvH": "┿",
+        "Glyphs.CrossHvV": "╂",
+        "Glyphs.Diamond": "◊",
+        "Glyphs.Dot": "∙",
+        "Glyphs.DottedSquare": "⬚",
+        "Glyphs.DownArrow": "▼",
+        "Glyphs.Expand": "+",
+        "Glyphs.File": "☰",
+        "Glyphs.Folder": "꤉",
+        "Glyphs.HalfBottomLine": "╷",
+        "Glyphs.HalfBottomLineLt": "╻",
+        "Glyphs.HalfLeftLine": "╴",
+        "Glyphs.HalfLeftLineHv": "╸",
+        "Glyphs.HalfRightLine": "╶",
+        "Glyphs.HalfRightLineHv": "╺",
+        "Glyphs.HalfTopLine": "╵",
+        "Glyphs.HalfTopLineHv": "╹",
+        "Glyphs.HLine": "─",
+        "Glyphs.HLineDa2": "╌",
+        "Glyphs.HLineDa3": "┄",
+        "Glyphs.HLineDa4": "┈",
+        "Glyphs.HLineDbl": "═",
+        "Glyphs.HLineHv": "━",
+        "Glyphs.HLineHvDa2": "╍",
+        "Glyphs.HLineHvDa3": "┅",
+        "Glyphs.HLineHvDa4": "┉",
+        "Glyphs.HorizontalEllipsis": "…",
+        "Glyphs.IdenticalTo": "≡",
+        "Glyphs.LeftArrow": "◄",
+        "Glyphs.LeftBracket": "⟦",
+        "Glyphs.LeftDefaultIndicator": "►",
+        "Glyphs.LeftSideLineHvLt": "╾",
+        "Glyphs.LeftTee": "├",
+        "Glyphs.LeftTeeDbl": "╠",
+        "Glyphs.LeftTeeDblH": "╞",
+        "Glyphs.LeftTeeDblV": "╟",
+        "Glyphs.LeftTeeHvDblH": "┣",
+        "Glyphs.LeftTeeHvH": "┝",
+        "Glyphs.LeftTeeHvV": "┠",
+        "Glyphs.LLCorner": "└",
+        "Glyphs.LLCornerDbl": "╚",
+        "Glyphs.LLCornerDblSingle": "╙",
+        "Glyphs.LLCornerHv": "┗",
+        "Glyphs.LLCornerHvLt": "┖",
+        "Glyphs.LLCornerLtHv": "┕",
+        "Glyphs.LLCornerR": "╰",
+        "Glyphs.LLCornerSingleDbl": "╘",
+        "Glyphs.LRCorner": "┘",
+        "Glyphs.LRCornerDbl": "╝",
+        "Glyphs.LRCornerDblSingle": "╜",
+        "Glyphs.LRCornerHv": "┛",
+        "Glyphs.LRCornerHvLt": "┚",
+        "Glyphs.LRCornerLtHv": "┙",
+        "Glyphs.LRCornerR": "╯",
+        "Glyphs.LRCornerSingleDbl": "╛",
+        "Glyphs.Maximize": "✽",
+        "Glyphs.Minimize": "❏",
+        "Glyphs.Move": "◊",
+        "Glyphs.RightArrow": "►",
+        "Glyphs.RightBracket": "⟧",
+        "Glyphs.RightDefaultIndicator": "◄",
+        "Glyphs.RightSideLineLtHv": "╼",
+        "Glyphs.RightTee": "┤",
+        "Glyphs.RightTeeDbl": "╣",
+        "Glyphs.RightTeeDblH": "╡",
+        "Glyphs.RightTeeDblV": "╢",
+        "Glyphs.RightTeeHvDblH": "┫",
+        "Glyphs.RightTeeHvH": "┥",
+        "Glyphs.RightTeeHvV": "┨",
+        "Glyphs.Selected": "◉",
+        "Glyphs.ShadowHorizontal": "▀",
+        "Glyphs.ShadowHorizontalEnd": "▘",
+        "Glyphs.ShadowHorizontalStart": "▝",
+        "Glyphs.ShadowVertical": "▌",
+        "Glyphs.ShadowVerticalStart": "▖",
+        "Glyphs.SizeBottomLeft": "↙",
+        "Glyphs.SizeBottomRight": "↘",
+        "Glyphs.SizeHorizontal": "↔",
+        "Glyphs.SizeTopLeft": "↖",
+        "Glyphs.SizeTopRight": "↗",
+        "Glyphs.SizeVertical": "↕",
+        "Glyphs.Stipple": "░",
+        "Glyphs.TopSideLineHvLt": "╿",
+        "Glyphs.TopTee": "┬",
+        "Glyphs.TopTeeDbl": "╦",
+        "Glyphs.TopTeeDblH": "╤",
+        "Glyphs.TopTeeDblV": "╥",
+        "Glyphs.TopTeeHvDblH": "┳",
+        "Glyphs.TopTeeHvH": "┯",
+        "Glyphs.TopTeeHvV": "┰",
+        "Glyphs.ULCorner": "┌",
+        "Glyphs.ULCornerDbl": "╔",
+        "Glyphs.ULCornerDblSingle": "╓",
+        "Glyphs.ULCornerHv": "┏",
+        "Glyphs.ULCornerHvLt": "┎",
+        "Glyphs.ULCornerLtHv": "┍",
+        "Glyphs.ULCornerR": "╭",
+        "Glyphs.ULCornerSingleDbl": "╒",
+        "Glyphs.UnSelected": "○",
+        "Glyphs.UpArrow": "▲",
+        "Glyphs.URCorner": "┐",
+        "Glyphs.URCornerDbl": "╗",
+        "Glyphs.URCornerDblSingle": "╖",
+        "Glyphs.URCornerHv": "┓",
+        "Glyphs.URCornerHvLt": "┑",
+        "Glyphs.URCornerLtHv": "┒",
+        "Glyphs.URCornerR": "╮",
+        "Glyphs.URCornerSingleDbl": "╕",
+        "Glyphs.VerticalFourDots": "⁞",
+        "Glyphs.VLine": "│",
+        "Glyphs.VLineDa2": "╎",
+        "Glyphs.VLineDa3": "┆",
+        "Glyphs.VLineDa4": "┊",
+        "Glyphs.VLineDbl": "║",
+        "Glyphs.VLineHv": "┃",
+        "Glyphs.VLineHvDa2": "╏",
+        "Glyphs.VLineHvDa3": "┇",
+        "Glyphs.VLineHvDa4": "┋"
       }
     },
     {
diff --git a/UnitTests/Application/ApplicationTests.cs b/UnitTests/Application/ApplicationTests.cs
index e3528e3764..3ad3db9c29 100644
--- a/UnitTests/Application/ApplicationTests.cs
+++ b/UnitTests/Application/ApplicationTests.cs
@@ -1,4 +1,5 @@
-using Xunit.Abstractions;
+using System.Diagnostics;
+using Xunit.Abstractions;
 using static Terminal.Gui.ConfigurationManager;
 
 // Alias Console to MockConsole so we don't accidentally use Console
@@ -201,6 +202,10 @@ public void End_And_Shutdown_Should_Not_Dispose_ApplicationTop ()
     [Fact]
     public void Init_Begin_End_Cleans_Up ()
     {
+        // Start stopwatch
+        Stopwatch stopwatch = new Stopwatch ();
+        stopwatch.Start ();
+
         Init ();
 
         // Begin will cause Run() to be called, which will call Begin(). Thus will block the tests
@@ -237,6 +242,12 @@ public void Init_Begin_End_Cleans_Up ()
         Assert.Null (Application.Top);
         Assert.Null (Application.MainLoop);
         Assert.Null (Application.Driver);
+
+        // Stop stopwatch
+        stopwatch.Stop ();
+
+        _output.WriteLine ($"Load took {stopwatch.ElapsedMilliseconds} ms");
+
     }
 
     [Theory]
diff --git a/UnitTests/Configuration/ConfigurationMangerTests.cs b/UnitTests/Configuration/ConfigurationMangerTests.cs
index 00b6445f8d..0ab76e4c2d 100644
--- a/UnitTests/Configuration/ConfigurationMangerTests.cs
+++ b/UnitTests/Configuration/ConfigurationMangerTests.cs
@@ -208,6 +208,27 @@ void ConfigurationManager_Updated (object sender, ConfigurationManagerEventArgs
         Reset ();
     }
 
+    [Fact]
+    public void Load_Performance_Check ()
+    {
+        Locations = ConfigLocations.All;
+        Reset ();
+
+        // Start stopwatch
+        Stopwatch stopwatch = new Stopwatch ();
+        stopwatch.Start ();
+
+        // Act
+        Load (true);
+        Apply();
+
+        // Stop stopwatch
+        stopwatch.Stop ();
+
+        // Assert
+        _output.WriteLine ($"Load took {stopwatch.ElapsedMilliseconds} ms");
+    }
+
 
     [Fact]
     public void Load_Loads_Custom_Json ()
@@ -236,41 +257,41 @@ public void Load_Loads_Custom_Json ()
         Reset ();
     }
 
-    [Fact]
-    [AutoInitShutdown]
-    public void LoadConfigurationFromAllSources_ShouldLoadSettingsFromAllSources ()
-    {
-        //var _configFilename = "config.json";
-        //// Arrange
-        //// Create a mock of the configuration files in all sources
-        //// Home directory
-        //string homeDir = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.UserProfile), ".tui");
-        //if (!Directory.Exists (homeDir)) {
-        //	Directory.CreateDirectory (homeDir);
-        //}
-        //string globalConfigFile = Path.Combine (homeDir, _configFilename);
-        //string appSpecificConfigFile = Path.Combine (homeDir, "appname.config.json");
-        //File.WriteAllText (globalConfigFile, "{\"Settings\": {\"TestSetting\":\"Global\"}}");
-        //File.WriteAllText (appSpecificConfigFile, "{\"Settings\": {\"TestSetting\":\"AppSpecific\"}}");
-
-        //// App directory
-        //string appDir = Directory.GetCurrentDirectory ();
-        //string appDirGlobalConfigFile = Path.Combine (appDir, _configFilename);
-        //string appDirAppSpecificConfigFile = Path.Combine (appDir, "appname.config.json");
-        //File.WriteAllText (appDirGlobalConfigFile, "{\"Settings\": {\"TestSetting\":\"GlobalAppDir\"}}");
-        //File.WriteAllText (appDirAppSpecificConfigFile, "{\"Settings\": {\"TestSetting\":\"AppSpecificAppDir\"}}");
-
-        //// App resources
-        //// ...
-
-        //// Act
-        //ConfigurationManager.Locations = ConfigurationManager.ConfigLocation.All;
-        //ConfigurationManager.Load ();
-
-        //// Assert
-        //// Check that the settings from the highest precedence source are loaded
-        //Assert.Equal ("AppSpecific", ConfigurationManager.Config.Settings.TestSetting);
-    }
+    //[Fact]
+    //[AutoInitShutdown]
+    //public void LoadConfigurationFromAllSources_ShouldLoadSettingsFromAllSources ()
+    //{
+    //    //var _configFilename = "config.json";
+    //    //// Arrange
+    //    //// Create a mock of the configuration files in all sources
+    //    //// Home directory
+    //    //string homeDir = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.UserProfile), ".tui");
+    //    //if (!Directory.Exists (homeDir)) {
+    //    //	Directory.CreateDirectory (homeDir);
+    //    //}
+    //    //string globalConfigFile = Path.Combine (homeDir, _configFilename);
+    //    //string appSpecificConfigFile = Path.Combine (homeDir, "appname.config.json");
+    //    //File.WriteAllText (globalConfigFile, "{\"Settings\": {\"TestSetting\":\"Global\"}}");
+    //    //File.WriteAllText (appSpecificConfigFile, "{\"Settings\": {\"TestSetting\":\"AppSpecific\"}}");
+
+    //    //// App directory
+    //    //string appDir = Directory.GetCurrentDirectory ();
+    //    //string appDirGlobalConfigFile = Path.Combine (appDir, _configFilename);
+    //    //string appDirAppSpecificConfigFile = Path.Combine (appDir, "appname.config.json");
+    //    //File.WriteAllText (appDirGlobalConfigFile, "{\"Settings\": {\"TestSetting\":\"GlobalAppDir\"}}");
+    //    //File.WriteAllText (appDirAppSpecificConfigFile, "{\"Settings\": {\"TestSetting\":\"AppSpecificAppDir\"}}");
+
+    //    //// App resources
+    //    //// ...
+
+    //    //// Act
+    //    //ConfigurationManager.Locations = ConfigurationManager.ConfigLocation.All;
+    //    //ConfigurationManager.Load ();
+
+    //    //// Assert
+    //    //// Check that the settings from the highest precedence source are loaded
+    //    //Assert.Equal ("AppSpecific", ConfigurationManager.Config.Settings.TestSetting);
+    //}
 
 
     [Fact]
diff --git a/UnitTests/Configuration/GlyphTests.cs b/UnitTests/Configuration/GlyphTests.cs
index ed31deda19..59a4b9d0e5 100644
--- a/UnitTests/Configuration/GlyphTests.cs
+++ b/UnitTests/Configuration/GlyphTests.cs
@@ -16,7 +16,7 @@ public void Overrides_Defaults ()
 
         Assert.Equal ((Rune)'⟦', Glyphs.LeftBracket);
 
-        var glyph = (Rune)Settings ["Glyphs.LeftBracket"].PropertyValue;
+        var glyph = (Rune)Themes ["Default"] ["Glyphs.LeftBracket"].PropertyValue;
         Assert.Equal ((Rune)'⟦', glyph);
 
         ThrowOnJsonErrors = true;
@@ -24,14 +24,22 @@ public void Overrides_Defaults ()
         // act
         var json = """
                    {
-                   "Glyphs.LeftBracket": "["
+                       "Themes": [
+                           {
+                             "Default": 
+                                {
+                                    "Glyphs.LeftBracket": "["
+                                }
+                           }
+                       ]
                    }
                    """;
 
         Settings!.Update (json, "Overrides_Defaults", ConfigLocations.Runtime);
         Apply();
+
         // assert
-        glyph = (Rune)Settings ["Glyphs.LeftBracket"].PropertyValue;
+        glyph = glyph = (Rune)Themes ["Default"] ["Glyphs.LeftBracket"].PropertyValue;
         Assert.Equal ((Rune)'[', glyph);
         Assert.Equal((Rune)'[', Glyphs.LeftBracket);
 

From bc5a41ab7ffff24a96768b750936b9b062443936 Mon Sep 17 00:00:00 2001
From: Tig <tig@users.noreply.github.com>
Date: Wed, 26 Feb 2025 12:50:51 -0700
Subject: [PATCH 3/3] Removed test code

---
 Terminal.Gui/Configuration/ConfigurationManager.cs | 8 --------
 Terminal.Gui/Configuration/Scope.cs                | 6 ------
 2 files changed, 14 deletions(-)

diff --git a/Terminal.Gui/Configuration/ConfigurationManager.cs b/Terminal.Gui/Configuration/ConfigurationManager.cs
index d7689f2609..48bf2fd58d 100644
--- a/Terminal.Gui/Configuration/ConfigurationManager.cs
+++ b/Terminal.Gui/Configuration/ConfigurationManager.cs
@@ -163,10 +163,6 @@ public static void Apply ()
         var themes = false;
         var appSettings = false;
 
-        // Start stopwatch
-        Stopwatch stopwatch = new Stopwatch ();
-        stopwatch.Start ();
-
         try
         {
             if (string.IsNullOrEmpty (ThemeManager.SelectedTheme))
@@ -203,10 +199,6 @@ public static void Apply ()
             {
                 OnApplied ();
             }
-            // Stop stopwatch
-            stopwatch.Stop ();
-
-            Debug.WriteLine ($"CM.Apply () took {stopwatch.ElapsedMilliseconds} ms");
         }
     }
 
diff --git a/Terminal.Gui/Configuration/Scope.cs b/Terminal.Gui/Configuration/Scope.cs
index 1ffff7c858..5b28a1b8f8 100644
--- a/Terminal.Gui/Configuration/Scope.cs
+++ b/Terminal.Gui/Configuration/Scope.cs
@@ -52,10 +52,6 @@ public void RetrieveValues ()
     /// <returns></returns>
     internal virtual bool Apply ()
     {
-        // Start stopwatch
-        Stopwatch stopwatch = new Stopwatch ();
-        stopwatch.Start ();
-
         var set = false;
 
         foreach (KeyValuePair<string, ConfigProperty> p in this.Where (
@@ -69,8 +65,6 @@ internal virtual bool Apply ()
             }
         }
 
-        Debug.WriteLine ($"{GetType().Name}.Apply () took {stopwatch.ElapsedMilliseconds} ms");
-
         return set;
     }