mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 07:47:54 +01:00
* Added namespace docs * Claned up FileServices * rewrote mainloop.md to be focused on multitasking * rewrote mainloop.md to be focused on multitasking2 * rewrote mainloop.md to be focused on multitasking3
1.4 KiB
1.4 KiB
uid, summary
| uid | summary |
|---|---|
| Terminal.Gui.Configuration | The `Configuration` namespace provides comprehensive configuration management for Terminal.Gui applications. |
@Terminal.Gui.Configuration provides a robust system for managing application settings, themes, and runtime configuration. This namespace includes the configuration manager, property attributes, and scoping mechanisms that allow applications to persist and load settings from various sources.
The configuration system supports multiple scopes (Settings, Themes, AppSettings) and sources (user directory, application directory, etc.), enabling flexible deployment and customization scenarios. It also provides theme inheritance and hot-reloading capabilities for dynamic configuration updates.
Key Components
- ConfigurationManager: Central system for loading, applying, and managing configuration
- ConfigProperty: Attribute for marking properties as configurable
- Scopes: Settings, Theme, and AppSettings contexts
- Sources: Multiple storage locations for configuration persistence
Example Usage
// Mark a property as configurable
[ConfigProperty]
public static bool MyFeatureEnabled { get; set; } = true;
// Load configuration from default sources
ConfigurationManager.Enable(ConfigLocations.All);
Deep Dive
- Configuration Management Deep Dive - Comprehensive configuration system documentation