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 - Migrates legacy single-object `EmbedJson` to array format
- Promotes usernames listed in `Server:Admins` config to Admin role - 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 ## Fixes
### IRC Gateway ### IRC Gateway
+2 -1
View File
@@ -11,7 +11,8 @@
<PackageReference Include="Serilog" Version="4.3.1" /> <PackageReference Include="Serilog" Version="4.3.1" />
<PackageReference Include="Serilog.Settings.Configuration" Version="10.0.0" /> <PackageReference Include="Serilog.Settings.Configuration" Version="10.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="7.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>
<ItemGroup> <ItemGroup>
+7 -7
View File
@@ -418,30 +418,30 @@ public static class ThemeManager
Base = new ThemeColors Base = new ThemeColors
{ {
Foreground = "White", Foreground = "White",
Background = "Black", Background = "Transparent",
FocusForeground = "BrightCyan", FocusForeground = "BrightCyan",
FocusBackground = "Black" FocusBackground = "Transparent"
}, },
Menu = new ThemeColors Menu = new ThemeColors
{ {
Foreground = "White", Foreground = "White",
Background = "Black", Background = "Transparent",
FocusForeground = "BrightCyan", FocusForeground = "BrightCyan",
FocusBackground = "Black" FocusBackground = "Transparent"
}, },
Dialog = new ThemeColors Dialog = new ThemeColors
{ {
Foreground = "White", Foreground = "White",
Background = "Black", Background = "DarkGray",
FocusForeground = "BrightCyan", FocusForeground = "BrightCyan",
FocusBackground = "Black" FocusBackground = "Black"
}, },
Status = new ThemeColors Status = new ThemeColors
{ {
Foreground = "Gray", Foreground = "Gray",
Background = "Black", Background = "Transparent",
FocusForeground = "Gray", FocusForeground = "Gray",
FocusBackground = "Black" FocusBackground = "Transparent"
} }
}; };
+1
Submodule src/Terminal.Gui added at 8d1557b2fc