feat: add true transparent background support via Terminal.Gui fork

Add Terminal.Gui fork as submodule with transparent color support
(Color.Transparent emitting CSI 39m/49m default bg/fg sequences).
Switch EchoHub.Client from NuGet to project reference.
Update Transparent theme to use real terminal transparency.
This commit is contained in:
HueByte
2026-02-21 12:53:46 +01:00
parent 7e78c57665
commit fb12848e9a
5 changed files with 21 additions and 8 deletions
+3
View File
@@ -0,0 +1,3 @@
[submodule "src/Terminal.Gui"]
path = src/Terminal.Gui
url = https://github.com/HueByte/Terminal.Gui.git
+8
View File
@@ -29,6 +29,14 @@
- Migrates legacy single-object `EmbedJson` to array format
- Promotes usernames listed in `Server:Admins` config to Admin role
### True Transparent Background
- Transparent theme now uses the terminal's native background instead of solid black
- Powered by `Color.Transparent` (alpha=0) which emits ANSI `CSI 49m` (default background) instead of explicit RGB
- Terminal transparency, acrylic, wallpaper effects now show through the TUI
- Dialogs retain solid `DarkGray` background for readability
- Uses local Terminal.Gui fork (submodule) with transparent color support pending upstream merge ([gui-cs/Terminal.Gui#4234](https://github.com/gui-cs/Terminal.Gui/pull/4234))
## Fixes
### IRC Gateway
+2 -1
View File
@@ -11,7 +11,8 @@
<PackageReference Include="Serilog" Version="4.3.1" />
<PackageReference Include="Serilog.Settings.Configuration" Version="10.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
<PackageReference Include="Terminal.Gui" Version="2.0.0-develop.5027" />
<!-- Using local fork until transparent color support is merged upstream (gui-cs/Terminal.Gui#4234) -->
<ProjectReference Include="..\Terminal.Gui\Terminal.Gui\Terminal.Gui.csproj" />
</ItemGroup>
<ItemGroup>
+7 -7
View File
@@ -418,30 +418,30 @@ public static class ThemeManager
Base = new ThemeColors
{
Foreground = "White",
Background = "Black",
Background = "Transparent",
FocusForeground = "BrightCyan",
FocusBackground = "Black"
FocusBackground = "Transparent"
},
Menu = new ThemeColors
{
Foreground = "White",
Background = "Black",
Background = "Transparent",
FocusForeground = "BrightCyan",
FocusBackground = "Black"
FocusBackground = "Transparent"
},
Dialog = new ThemeColors
{
Foreground = "White",
Background = "Black",
Background = "DarkGray",
FocusForeground = "BrightCyan",
FocusBackground = "Black"
},
Status = new ThemeColors
{
Foreground = "Gray",
Background = "Black",
Background = "Transparent",
FocusForeground = "Gray",
FocusBackground = "Black"
FocusBackground = "Transparent"
}
};
+1
Submodule src/Terminal.Gui added at 8d1557b2fc