diff --git a/Terminal.Gui/Configuration/ConfigurationManager.cs b/Terminal.Gui/Configuration/ConfigurationManager.cs
index 473f1bf651..48bf2fd58d 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; }
- ///
- /// The set of glyphs used to draw checkboxes, lines, borders, etc...See also
- /// .
- ///
- [SerializableConfigurationProperty (Scope = typeof (SettingsScope), OmitClassName = true)]
- [JsonPropertyName ("Glyphs")]
- public static GlyphDefinitions Glyphs { get; set; } = new ();
-
///
/// Gets and sets the locations where will look for config files. The value is
/// .
@@ -301,6 +293,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..5b28a1b8f8 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;
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..de9d80378a 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")
///
///
-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
/// File icon. Defaults to ☰ (Trigram For Heaven)
- public Rune File { get; set; } = (Rune)'☰';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune File { get; set; } = (Rune)'☰';
/// Folder icon. Defaults to ꤉ (Kayah Li Digit Nine)
- public Rune Folder { get; set; } = (Rune)'꤉';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Folder { get; set; } = (Rune)'꤉';
/// Horizontal Ellipsis - … U+2026
- public Rune HorizontalEllipsis { get; set; } = (Rune)'…';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune HorizontalEllipsis { get; set; } = (Rune)'…';
/// Vertical Four Dots - ⁞ U+205e
- public Rune VerticalFourDots { get; set; } = (Rune)'⁞';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune VerticalFourDots { get; set; } = (Rune)'⁞';
#region ----------------- Single Glyphs -----------------
/// Checked indicator (e.g. for and ).
- public Rune CheckStateChecked { get; set; } = (Rune)'☑';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune CheckStateChecked { get; set; } = (Rune)'☑';
/// Not Checked indicator (e.g. for and ).
- public Rune CheckStateUnChecked { get; set; } = (Rune)'☐';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune CheckStateUnChecked { get; set; } = (Rune)'☐';
/// Null Checked indicator (e.g. for and ).
- public Rune CheckStateNone { get; set; } = (Rune)'☒';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune CheckStateNone { get; set; } = (Rune)'☒';
/// Selected indicator (e.g. for and ).
- public Rune Selected { get; set; } = (Rune)'◉';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Selected { get; set; } = (Rune)'◉';
/// Not Selected indicator (e.g. for and ).
- public Rune UnSelected { get; set; } = (Rune)'○';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune UnSelected { get; set; } = (Rune)'○';
/// Horizontal arrow.
- public Rune RightArrow { get; set; } = (Rune)'►';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune RightArrow { get; set; } = (Rune)'►';
/// Left arrow.
- public Rune LeftArrow { get; set; } = (Rune)'◄';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune LeftArrow { get; set; } = (Rune)'◄';
/// Down arrow.
- public Rune DownArrow { get; set; } = (Rune)'▼';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune DownArrow { get; set; } = (Rune)'▼';
/// Vertical arrow.
- public Rune UpArrow { get; set; } = (Rune)'▲';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune UpArrow { get; set; } = (Rune)'▲';
/// Left default indicator (e.g. for .
- public Rune LeftDefaultIndicator { get; set; } = (Rune)'►';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune LeftDefaultIndicator { get; set; } = (Rune)'►';
/// Horizontal default indicator (e.g. for .
- public Rune RightDefaultIndicator { get; set; } = (Rune)'◄';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune RightDefaultIndicator { get; set; } = (Rune)'◄';
/// Left Bracket (e.g. for . Default is (U+005B) - [.
- public Rune LeftBracket { get; set; } = (Rune)'⟦';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune LeftBracket { get; set; } = (Rune)'⟦';
/// Horizontal Bracket (e.g. for . Default is (U+005D) - ].
- public Rune RightBracket { get; set; } = (Rune)'⟧';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune RightBracket { get; set; } = (Rune)'⟧';
/// Half block meter segment (e.g. for ).
- public Rune BlocksMeterSegment { get; set; } = (Rune)'▌';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune BlocksMeterSegment { get; set; } = (Rune)'▌';
/// Continuous block meter segment (e.g. for ).
- public Rune ContinuousMeterSegment { get; set; } = (Rune)'█';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune ContinuousMeterSegment { get; set; } = (Rune)'█';
/// Stipple pattern (e.g. for ). Default is Light Shade (U+2591) - ░.
- public Rune Stipple { get; set; } = (Rune)'░';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Stipple { get; set; } = (Rune)'░';
/// Diamond. Default is Lozenge (U+25CA) - ◊.
- public Rune Diamond { get; set; } = (Rune)'◊';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Diamond { get; set; } = (Rune)'◊';
/// Close. Default is Heavy Ballot X (U+2718) - ✘.
- public Rune Close { get; set; } = (Rune)'✘';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Close { get; set; } = (Rune)'✘';
/// Minimize. Default is Lower Horizontal Shadowed White Circle (U+274F) - ❏.
- public Rune Minimize { get; set; } = (Rune)'❏';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Minimize { get; set; } = (Rune)'❏';
/// Maximize. Default is Upper Horizontal Shadowed White Circle (U+273D) - ✽.
- public Rune Maximize { get; set; } = (Rune)'✽';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Maximize { get; set; } = (Rune)'✽';
/// Dot. Default is (U+2219) - ∙.
- public Rune Dot { get; set; } = (Rune)'∙';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Dot { get; set; } = (Rune)'∙';
/// Dotted Square - ⬚ U+02b1a┝
- public Rune DottedSquare { get; set; } = (Rune)'⬚';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune DottedSquare { get; set; } = (Rune)'⬚';
/// Black Circle . Default is (U+025cf) - ●.
- public Rune BlackCircle { get; set; } = (Rune)'●'; // Black Circle - ● U+025cf
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune BlackCircle { get; set; } = (Rune)'●'; // Black Circle - ● U+025cf
/// Expand (e.g. for .
- public Rune Expand { get; set; } = (Rune)'+';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Expand { get; set; } = (Rune)'+';
/// Expand (e.g. for .
- public Rune Collapse { get; set; } = (Rune)'-';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Collapse { get; set; } = (Rune)'-';
/// Identical To (U+226)
- public Rune IdenticalTo { get; set; } = (Rune)'≡';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune IdenticalTo { get; set; } = (Rune)'≡';
/// Move indicator. Default is Lozenge (U+25CA) - ◊.
- public Rune Move { get; set; } = (Rune)'◊';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Move { get; set; } = (Rune)'◊';
/// Size Horizontally indicator. Default is ┥Left Right Arrow - ↔ U+02194
- public Rune SizeHorizontal { get; set; } = (Rune)'↔';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune SizeHorizontal { get; set; } = (Rune)'↔';
/// Size Vertical indicator. Default Up Down Arrow - ↕ U+02195
- public Rune SizeVertical { get; set; } = (Rune)'↕';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune SizeVertical { get; set; } = (Rune)'↕';
/// Size Top Left indicator. North West Arrow - ↖ U+02196
- public Rune SizeTopLeft { get; set; } = (Rune)'↖';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune SizeTopLeft { get; set; } = (Rune)'↖';
/// Size Top Right indicator. North East Arrow - ↗ U+02197
- public Rune SizeTopRight { get; set; } = (Rune)'↗';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune SizeTopRight { get; set; } = (Rune)'↗';
/// Size Bottom Right indicator. South East Arrow - ↘ U+02198
- public Rune SizeBottomRight { get; set; } = (Rune)'↘';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune SizeBottomRight { get; set; } = (Rune)'↘';
/// Size Bottom Left indicator. South West Arrow - ↙ U+02199
- public Rune SizeBottomLeft { get; set; } = (Rune)'↙';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune SizeBottomLeft { get; set; } = (Rune)'↙';
/// Apple (non-BMP). Because snek. And because it's an example of a non-BMP surrogate pair. See Issue #2610.
- public Rune Apple { get; set; } = "🍎".ToRunes () [0]; // nonBMP
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune Apple { get; set; } = "🍎".ToRunes () [0]; // nonBMP
/// Apple (BMP). Because snek. See Issue #2610.
- public Rune AppleBMP { get; set; } = (Rune)'❦';
-
- /////
- ///// A nonprintable (low surrogate) that should fail to ctor.
- /////
- //public Rune InvalidGlyph { get; set; } = (Rune)'\ud83d';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune AppleBMP { get; set; } = (Rune)'❦';
#endregion
#region ----------------- Lines -----------------
/// Box Drawings Horizontal Line - Light (U+2500) - ─
- public Rune HLine { get; set; } = (Rune)'─';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune HLine { get; set; } = (Rune)'─';
/// Box Drawings Vertical Line - Light (U+2502) - │
- public Rune VLine { get; set; } = (Rune)'│';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune VLine { get; set; } = (Rune)'│';
/// Box Drawings Double Horizontal (U+2550) - ═
- public Rune HLineDbl { get; set; } = (Rune)'═';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune HLineDbl { get; set; } = (Rune)'═';
/// Box Drawings Double Vertical (U+2551) - ║
- public Rune VLineDbl { get; set; } = (Rune)'║';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineDbl { get; set; } = (Rune)'║';
/// Box Drawings Heavy Double Dash Horizontal (U+254D) - ╍
- public Rune HLineHvDa2 { get; set; } = (Rune)'╍';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineHvDa2 { get; set; } = (Rune)'╍';
/// Box Drawings Heavy Triple Dash Vertical (U+2507) - ┇
- public Rune VLineHvDa3 { get; set; } = (Rune)'┇';
+ [SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
+ public static Rune VLineHvDa3 { get; set; } = (Rune)'┇';
/// Box Drawings Heavy Triple Dash Horizontal (U+2505) - ┅
- public Rune HLineHvDa3 { get; set; } = (Rune)'┅';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineHvDa3 { get; set; } = (Rune)'┅';
/// Box Drawings Heavy Quadruple Dash Horizontal (U+2509) - ┉
- public Rune HLineHvDa4 { get; set; } = (Rune)'┉';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineHvDa4 { get; set; } = (Rune)'┉';
/// Box Drawings Heavy Double Dash Vertical (U+254F) - ╏
- public Rune VLineHvDa2 { get; set; } = (Rune)'╏';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineHvDa2 { get; set; } = (Rune)'╏';
/// Box Drawings Heavy Quadruple Dash Vertical (U+250B) - ┋
- public Rune VLineHvDa4 { get; set; } = (Rune)'┋';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineHvDa4 { get; set; } = (Rune)'┋';
/// Box Drawings Light Double Dash Horizontal (U+254C) - ╌
- public Rune HLineDa2 { get; set; } = (Rune)'╌';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineDa2 { get; set; } = (Rune)'╌';
/// Box Drawings Light Triple Dash Vertical (U+2506) - ┆
- public Rune VLineDa3 { get; set; } = (Rune)'┆';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineDa3 { get; set; } = (Rune)'┆';
/// Box Drawings Light Triple Dash Horizontal (U+2504) - ┄
- public Rune HLineDa3 { get; set; } = (Rune)'┄';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineDa3 { get; set; } = (Rune)'┄';
/// Box Drawings Light Quadruple Dash Horizontal (U+2508) - ┈
- public Rune HLineDa4 { get; set; } = (Rune)'┈';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineDa4 { get; set; } = (Rune)'┈';
/// Box Drawings Light Double Dash Vertical (U+254E) - ╎
- public Rune VLineDa2 { get; set; } = (Rune)'╎';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineDa2 { get; set; } = (Rune)'╎';
/// Box Drawings Light Quadruple Dash Vertical (U+250A) - ┊
- public Rune VLineDa4 { get; set; } = (Rune)'┊';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineDa4 { get; set; } = (Rune)'┊';
/// Box Drawings Heavy Horizontal (U+2501) - ━
- public Rune HLineHv { get; set; } = (Rune)'━';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HLineHv { get; set; } = (Rune)'━';
/// Box Drawings Heavy Vertical (U+2503) - ┃
- public Rune VLineHv { get; set; } = (Rune)'┃';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune VLineHv { get; set; } = (Rune)'┃';
/// Box Drawings Light Left (U+2574) - ╴
- public Rune HalfLeftLine { get; set; } = (Rune)'╴';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfLeftLine { get; set; } = (Rune)'╴';
/// Box Drawings Light Vertical (U+2575) - ╵
- public Rune HalfTopLine { get; set; } = (Rune)'╵';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfTopLine { get; set; } = (Rune)'╵';
/// Box Drawings Light Horizontal (U+2576) - ╶
- public Rune HalfRightLine { get; set; } = (Rune)'╶';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfRightLine { get; set; } = (Rune)'╶';
/// Box Drawings Light Down (U+2577) - ╷
- public Rune HalfBottomLine { get; set; } = (Rune)'╷';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfBottomLine { get; set; } = (Rune)'╷';
/// Box Drawings Heavy Left (U+2578) - ╸
- public Rune HalfLeftLineHv { get; set; } = (Rune)'╸';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfLeftLineHv { get; set; } = (Rune)'╸';
/// Box Drawings Heavy Vertical (U+2579) - ╹
- public Rune HalfTopLineHv { get; set; } = (Rune)'╹';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfTopLineHv { get; set; } = (Rune)'╹';
/// Box Drawings Heavy Horizontal (U+257A) - ╺
- public Rune HalfRightLineHv { get; set; } = (Rune)'╺';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfRightLineHv { get; set; } = (Rune)'╺';
/// Box Drawings Light Vertical and Horizontal (U+257B) - ╻
- public Rune HalfBottomLineLt { get; set; } = (Rune)'╻';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune HalfBottomLineLt { get; set; } = (Rune)'╻';
/// Box Drawings Light Horizontal and Heavy Horizontal (U+257C) - ╼
- public Rune RightSideLineLtHv { get; set; } = (Rune)'╼';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightSideLineLtHv { get; set; } = (Rune)'╼';
/// Box Drawings Light Vertical and Heavy Horizontal (U+257D) - ╽
- public Rune BottomSideLineLtHv { get; set; } = (Rune)'╽';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomSideLineLtHv { get; set; } = (Rune)'╽';
/// Box Drawings Heavy Left and Light Horizontal (U+257E) - ╾
- public Rune LeftSideLineHvLt { get; set; } = (Rune)'╾';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftSideLineHvLt { get; set; } = (Rune)'╾';
/// Box Drawings Heavy Vertical and Light Horizontal (U+257F) - ╿
- public Rune TopSideLineHvLt { get; set; } = (Rune)'╿';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopSideLineHvLt { get; set; } = (Rune)'╿';
#endregion
#region ----------------- Upper Left Corners -----------------
/// Box Drawings Upper Left Corner - Light Vertical and Light Horizontal (U+250C) - ┌
- public Rune ULCorner { get; set; } = (Rune)'┌';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCorner { get; set; } = (Rune)'┌';
/// Box Drawings Upper Left Corner - Double (U+2554) - ╔
- public Rune ULCornerDbl { get; set; } = (Rune)'╔';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerDbl { get; set; } = (Rune)'╔';
/// Box Drawings Upper Left Corner - Light Arc Down and Horizontal (U+256D) - ╭
- public Rune ULCornerR { get; set; } = (Rune)'╭';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerR { get; set; } = (Rune)'╭';
/// Box Drawings Heavy Down and Horizontal (U+250F) - ┏
- public Rune ULCornerHv { get; set; } = (Rune)'┏';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerHv { get; set; } = (Rune)'┏';
/// Box Drawings Down Heavy and Horizontal Light (U+251E) - ┎
- public Rune ULCornerHvLt { get; set; } = (Rune)'┎';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerHvLt { get; set; } = (Rune)'┎';
/// Box Drawings Down Light and Horizontal Heavy (U+250D) - ┎
- public Rune ULCornerLtHv { get; set; } = (Rune)'┍';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerLtHv { get; set; } = (Rune)'┍';
/// Box Drawings Double Down and Single Horizontal (U+2553) - ╓
- public Rune ULCornerDblSingle { get; set; } = (Rune)'╓';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerDblSingle { get; set; } = (Rune)'╓';
/// Box Drawings Single Down and Double Horizontal (U+2552) - ╒
- public Rune ULCornerSingleDbl { get; set; } = (Rune)'╒';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ULCornerSingleDbl { get; set; } = (Rune)'╒';
#endregion
#region ----------------- Lower Left Corners -----------------
/// Box Drawings Lower Left Corner - Light Vertical and Light Horizontal (U+2514) - └
- public Rune LLCorner { get; set; } = (Rune)'└';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCorner { get; set; } = (Rune)'└';
/// Box Drawings Heavy Vertical and Horizontal (U+2517) - ┗
- public Rune LLCornerHv { get; set; } = (Rune)'┗';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerHv { get; set; } = (Rune)'┗';
/// Box Drawings Heavy Vertical and Horizontal Light (U+2516) - ┖
- public Rune LLCornerHvLt { get; set; } = (Rune)'┖';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerHvLt { get; set; } = (Rune)'┖';
/// Box Drawings Vertical Light and Horizontal Heavy (U+2511) - ┕
- public Rune LLCornerLtHv { get; set; } = (Rune)'┕';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerLtHv { get; set; } = (Rune)'┕';
/// Box Drawings Double Vertical and Double Left (U+255A) - ╚
- public Rune LLCornerDbl { get; set; } = (Rune)'╚';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerDbl { get; set; } = (Rune)'╚';
/// Box Drawings Single Vertical and Double Left (U+2558) - ╘
- public Rune LLCornerSingleDbl { get; set; } = (Rune)'╘';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerSingleDbl { get; set; } = (Rune)'╘';
/// Box Drawings Double Down and Single Left (U+2559) - ╙
- public Rune LLCornerDblSingle { get; set; } = (Rune)'╙';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerDblSingle { get; set; } = (Rune)'╙';
/// Box Drawings Upper Left Corner - Light Arc Down and Left (U+2570) - ╰
- public Rune LLCornerR { get; set; } = (Rune)'╰';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LLCornerR { get; set; } = (Rune)'╰';
#endregion
#region ----------------- Upper Right Corners -----------------
/// Box Drawings Upper Horizontal Corner - Light Vertical and Light Horizontal (U+2510) - ┐
- public Rune URCorner { get; set; } = (Rune)'┐';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCorner { get; set; } = (Rune)'┐';
/// Box Drawings Upper Horizontal Corner - Double Vertical and Double Horizontal (U+2557) - ╗
- public Rune URCornerDbl { get; set; } = (Rune)'╗';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerDbl { get; set; } = (Rune)'╗';
/// Box Drawings Upper Horizontal Corner - Light Arc Vertical and Horizontal (U+256E) - ╮
- public Rune URCornerR { get; set; } = (Rune)'╮';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerR { get; set; } = (Rune)'╮';
/// Box Drawings Heavy Down and Left (U+2513) - ┓
- public Rune URCornerHv { get; set; } = (Rune)'┓';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerHv { get; set; } = (Rune)'┓';
/// Box Drawings Heavy Vertical and Left Down Light (U+2511) - ┑
- public Rune URCornerHvLt { get; set; } = (Rune)'┑';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerHvLt { get; set; } = (Rune)'┑';
/// Box Drawings Down Light and Horizontal Heavy (U+2514) - ┒
- public Rune URCornerLtHv { get; set; } = (Rune)'┒';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerLtHv { get; set; } = (Rune)'┒';
/// Box Drawings Double Vertical and Single Left (U+2556) - ╖
- public Rune URCornerDblSingle { get; set; } = (Rune)'╖';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerDblSingle { get; set; } = (Rune)'╖';
/// Box Drawings Single Vertical and Double Left (U+2555) - ╕
- public Rune URCornerSingleDbl { get; set; } = (Rune)'╕';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune URCornerSingleDbl { get; set; } = (Rune)'╕';
#endregion
#region ----------------- Lower Right Corners -----------------
/// Box Drawings Lower Right Corner - Light (U+2518) - ┘
- public Rune LRCorner { get; set; } = (Rune)'┘';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCorner { get; set; } = (Rune)'┘';
/// Box Drawings Lower Right Corner - Double (U+255D) - ╝
- public Rune LRCornerDbl { get; set; } = (Rune)'╝';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerDbl { get; set; } = (Rune)'╝';
/// Box Drawings Lower Right Corner - Rounded (U+256F) - ╯
- public Rune LRCornerR { get; set; } = (Rune)'╯';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerR { get; set; } = (Rune)'╯';
/// Box Drawings Lower Right Corner - Heavy (U+251B) - ┛
- public Rune LRCornerHv { get; set; } = (Rune)'┛';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerHv { get; set; } = (Rune)'┛';
/// Box Drawings Lower Right Corner - Double Vertical and Single Horizontal (U+255C) - ╜
- public Rune LRCornerDblSingle { get; set; } = (Rune)'╜';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerDblSingle { get; set; } = (Rune)'╜';
/// Box Drawings Lower Right Corner - Single Vertical and Double Horizontal (U+255B) - ╛
- public Rune LRCornerSingleDbl { get; set; } = (Rune)'╛';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerSingleDbl { get; set; } = (Rune)'╛';
/// Box Drawings Lower Right Corner - Light Vertical and Heavy Horizontal (U+2519) - ┙
- public Rune LRCornerLtHv { get; set; } = (Rune)'┙';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerLtHv { get; set; } = (Rune)'┙';
/// Box Drawings Lower Right Corner - Heavy Vertical and Light Horizontal (U+251A) - ┚
- public Rune LRCornerHvLt { get; set; } = (Rune)'┚';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LRCornerHvLt { get; set; } = (Rune)'┚';
#endregion
#region ----------------- Tees -----------------
/// Box Drawings Left Tee - Single Vertical and Single Horizontal (U+251C) - ├
- public Rune LeftTee { get; set; } = (Rune)'├';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTee { get; set; } = (Rune)'├';
/// Box Drawings Left Tee - Single Vertical and Double Horizontal (U+255E) - ╞
- public Rune LeftTeeDblH { get; set; } = (Rune)'╞';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeDblH { get; set; } = (Rune)'╞';
/// Box Drawings Left Tee - Double Vertical and Single Horizontal (U+255F) - ╟
- public Rune LeftTeeDblV { get; set; } = (Rune)'╟';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeDblV { get; set; } = (Rune)'╟';
/// Box Drawings Left Tee - Double Vertical and Double Horizontal (U+2560) - ╠
- public Rune LeftTeeDbl { get; set; } = (Rune)'╠';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeDbl { get; set; } = (Rune)'╠';
/// Box Drawings Left Tee - Heavy Horizontal and Light Vertical (U+2523) - ┝
- public Rune LeftTeeHvH { get; set; } = (Rune)'┝';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeHvH { get; set; } = (Rune)'┝';
/// Box Drawings Left Tee - Light Horizontal and Heavy Vertical (U+252B) - ┠
- public Rune LeftTeeHvV { get; set; } = (Rune)'┠';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeHvV { get; set; } = (Rune)'┠';
/// Box Drawings Left Tee - Heavy Vertical and Heavy Horizontal (U+2527) - ┣
- public Rune LeftTeeHvDblH { get; set; } = (Rune)'┣';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune LeftTeeHvDblH { get; set; } = (Rune)'┣';
/// Box Drawings Right Tee - Single Vertical and Single Horizontal (U+2524) - ┤
- public Rune RightTee { get; set; } = (Rune)'┤';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTee { get; set; } = (Rune)'┤';
/// Box Drawings Right Tee - Single Vertical and Double Horizontal (U+2561) - ╡
- public Rune RightTeeDblH { get; set; } = (Rune)'╡';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeDblH { get; set; } = (Rune)'╡';
/// Box Drawings Right Tee - Double Vertical and Single Horizontal (U+2562) - ╢
- public Rune RightTeeDblV { get; set; } = (Rune)'╢';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeDblV { get; set; } = (Rune)'╢';
/// Box Drawings Right Tee - Double Vertical and Double Horizontal (U+2563) - ╣
- public Rune RightTeeDbl { get; set; } = (Rune)'╣';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeDbl { get; set; } = (Rune)'╣';
/// Box Drawings Right Tee - Heavy Horizontal and Light Vertical (U+2528) - ┥
- public Rune RightTeeHvH { get; set; } = (Rune)'┥';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeHvH { get; set; } = (Rune)'┥';
/// Box Drawings Right Tee - Light Horizontal and Heavy Vertical (U+2530) - ┨
- public Rune RightTeeHvV { get; set; } = (Rune)'┨';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeHvV { get; set; } = (Rune)'┨';
/// Box Drawings Right Tee - Heavy Vertical and Heavy Horizontal (U+252C) - ┫
- public Rune RightTeeHvDblH { get; set; } = (Rune)'┫';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune RightTeeHvDblH { get; set; } = (Rune)'┫';
/// Box Drawings Top Tee - Single Vertical and Single Horizontal (U+252C) - ┬
- public Rune TopTee { get; set; } = (Rune)'┬';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTee { get; set; } = (Rune)'┬';
/// Box Drawings Top Tee - Single Vertical and Double Horizontal (U+2564) - ╤
- public Rune TopTeeDblH { get; set; } = (Rune)'╤';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeDblH { get; set; } = (Rune)'╤';
/// Box Drawings Top Tee - Double Vertical and Single Horizontal (U+2565) - ╥
- public Rune TopTeeDblV { get; set; } = (Rune)'╥';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeDblV { get; set; } = (Rune)'╥';
/// Box Drawings Top Tee - Double Vertical and Double Horizontal (U+2566) - ╦
- public Rune TopTeeDbl { get; set; } = (Rune)'╦';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeDbl { get; set; } = (Rune)'╦';
/// Box Drawings Top Tee - Heavy Horizontal and Light Vertical (U+252F) - ┯
- public Rune TopTeeHvH { get; set; } = (Rune)'┯';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeHvH { get; set; } = (Rune)'┯';
/// Box Drawings Top Tee - Light Horizontal and Heavy Vertical (U+2537) - ┰
- public Rune TopTeeHvV { get; set; } = (Rune)'┰';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeHvV { get; set; } = (Rune)'┰';
/// Box Drawings Top Tee - Heavy Vertical and Heavy Horizontal (U+2533) - ┳
- public Rune TopTeeHvDblH { get; set; } = (Rune)'┳';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune TopTeeHvDblH { get; set; } = (Rune)'┳';
/// Box Drawings Bottom Tee - Single Vertical and Single Horizontal (U+2534) - ┴
- public Rune BottomTee { get; set; } = (Rune)'┴';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTee { get; set; } = (Rune)'┴';
/// Box Drawings Bottom Tee - Single Vertical and Double Horizontal (U+2567) - ╧
- public Rune BottomTeeDblH { get; set; } = (Rune)'╧';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeDblH { get; set; } = (Rune)'╧';
/// Box Drawings Bottom Tee - Double Vertical and Single Horizontal (U+2568) - ╨
- public Rune BottomTeeDblV { get; set; } = (Rune)'╨';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeDblV { get; set; } = (Rune)'╨';
/// Box Drawings Bottom Tee - Double Vertical and Double Horizontal (U+2569) - ╩
- public Rune BottomTeeDbl { get; set; } = (Rune)'╩';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeDbl { get; set; } = (Rune)'╩';
/// Box Drawings Bottom Tee - Heavy Horizontal and Light Vertical (U+2535) - ┷
- public Rune BottomTeeHvH { get; set; } = (Rune)'┷';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeHvH { get; set; } = (Rune)'┷';
/// Box Drawings Bottom Tee - Light Horizontal and Heavy Vertical (U+253D) - ┸
- public Rune BottomTeeHvV { get; set; } = (Rune)'┸';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeHvV { get; set; } = (Rune)'┸';
/// Box Drawings Bottom Tee - Heavy Vertical and Heavy Horizontal (U+2539) - ┻
- public Rune BottomTeeHvDblH { get; set; } = (Rune)'┻';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune BottomTeeHvDblH { get; set; } = (Rune)'┻';
#endregion
#region ----------------- Crosses -----------------
/// Box Drawings Cross - Single Vertical and Single Horizontal (U+253C) - ┼
- public Rune Cross { get; set; } = (Rune)'┼';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune Cross { get; set; } = (Rune)'┼';
/// Box Drawings Cross - Single Vertical and Double Horizontal (U+256A) - ╪
- public Rune CrossDblH { get; set; } = (Rune)'╪';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossDblH { get; set; } = (Rune)'╪';
/// Box Drawings Cross - Double Vertical and Single Horizontal (U+256B) - ╫
- public Rune CrossDblV { get; set; } = (Rune)'╫';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossDblV { get; set; } = (Rune)'╫';
/// Box Drawings Cross - Double Vertical and Double Horizontal (U+256C) - ╬
- public Rune CrossDbl { get; set; } = (Rune)'╬';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossDbl { get; set; } = (Rune)'╬';
/// Box Drawings Cross - Heavy Horizontal and Light Vertical (U+253F) - ┿
- public Rune CrossHvH { get; set; } = (Rune)'┿';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossHvH { get; set; } = (Rune)'┿';
/// Box Drawings Cross - Light Horizontal and Heavy Vertical (U+2541) - ╂
- public Rune CrossHvV { get; set; } = (Rune)'╂';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossHvV { get; set; } = (Rune)'╂';
/// Box Drawings Cross - Heavy Vertical and Heavy Horizontal (U+254B) - ╋
- public Rune CrossHv { get; set; } = (Rune)'╋';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune CrossHv { get; set; } = (Rune)'╋';
#endregion
#region ----------------- ShadowStyle -----------------
/// Shadow - Vertical Start - Left Half Block - ▌ U+0258c
- public Rune ShadowVerticalStart { get; set; } = (Rune)'▖'; // Half: '\u2596' ▖;
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ShadowVerticalStart { get; set; } = (Rune)'▖'; // Half: '\u2596' ▖;
/// Shadow - Vertical - Left Half Block - ▌ U+0258c
- public Rune ShadowVertical { get; set; } = (Rune)'▌';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ShadowVertical { get; set; } = (Rune)'▌';
/// Shadow - Horizontal Start - Upper Half Block - ▀ U+02580
- public Rune ShadowHorizontalStart { get; set; } = (Rune)'▝'; // Half: ▝ U+0259d;
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ShadowHorizontalStart { get; set; } = (Rune)'▝'; // Half: ▝ U+0259d;
/// Shadow - Horizontal - Upper Half Block - ▀ U+02580
- public Rune ShadowHorizontal { get; set; } = (Rune)'▀';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] public static Rune ShadowHorizontal { get; set; } = (Rune)'▀';
/// Shadow - Horizontal End - Quadrant Upper Left - ▘ U+02598
- public Rune ShadowHorizontalEnd { get; set; } = (Rune)'▘';
+ [SerializableConfigurationProperty(Scope = typeof(ThemeScope))] 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
/// No border is drawn.
None,
- /// The border is drawn using thin line CM.Glyphs.
+ /// The border is drawn using thin line Glyphs.
Single,
/// The border is drawn using thin line glyphs with dashed (double and triple) straight lines.
@@ -19,10 +19,10 @@ public enum LineStyle
/// The border is drawn using thin line glyphs with short dashed (triple and quadruple) straight lines.
Dotted,
- /// The border is drawn using thin double line CM.Glyphs.
+ /// The border is drawn using thin double line Glyphs.
Double,
- /// The border is drawn using heavy line CM.Glyphs.
+ /// The border is drawn using heavy line Glyphs.
Heavy,
/// The border is drawn using heavy line glyphs with dashed (double and triple) straight lines.
diff --git a/Terminal.Gui/Resources/config.json b/Terminal.Gui/Resources/config.json
index ca6ab6a842..31752d43b2 100644
--- a/Terminal.Gui/Resources/config.json
+++ b/Terminal.Gui/Resources/config.json
@@ -38,150 +38,6 @@
"FileDialogStyle.DefaultUseColors": false,
"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": "▘"
- },
-
// --------------- Themes -----------------
"Theme": "Default",
"Themes": [
@@ -317,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/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
///
/// If is and , the
///
- /// will display the ConfigurationManager.Glyphs.CheckStateNone character (☒).
+ /// will display the Glyphs.CheckStateNone character (☒).
///
///
/// If , the
- /// will display the ConfigurationManager.Glyphs.CheckStateUnChecked character (☐).
+ /// will display the Glyphs.CheckStateUnChecked character (☐).
///
///
/// If , the
- /// will display the ConfigurationManager.Glyphs.CheckStateChecked character (☑).
+ /// will display the Glyphs.CheckStateChecked character (☑).
///
///
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 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