From fb12848e9a1224462f3e9c807770c49a854c6f58 Mon Sep 17 00:00:00 2001 From: HueByte Date: Sat, 21 Feb 2026 12:53:46 +0100 Subject: [PATCH] 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. --- .gitmodules | 3 +++ docs/changelog/v0.2.5.md | 8 ++++++++ src/EchoHub.Client/EchoHub.Client.csproj | 3 ++- src/EchoHub.Client/Themes/ThemeManager.cs | 14 +++++++------- src/Terminal.Gui | 1 + 5 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 .gitmodules create mode 160000 src/Terminal.Gui diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..4803285 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/Terminal.Gui"] + path = src/Terminal.Gui + url = https://github.com/HueByte/Terminal.Gui.git diff --git a/docs/changelog/v0.2.5.md b/docs/changelog/v0.2.5.md index 9279951..9f3818c 100644 --- a/docs/changelog/v0.2.5.md +++ b/docs/changelog/v0.2.5.md @@ -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 diff --git a/src/EchoHub.Client/EchoHub.Client.csproj b/src/EchoHub.Client/EchoHub.Client.csproj index 5e838b3..53628a9 100644 --- a/src/EchoHub.Client/EchoHub.Client.csproj +++ b/src/EchoHub.Client/EchoHub.Client.csproj @@ -11,7 +11,8 @@ - + + diff --git a/src/EchoHub.Client/Themes/ThemeManager.cs b/src/EchoHub.Client/Themes/ThemeManager.cs index 056e6f3..b04b920 100644 --- a/src/EchoHub.Client/Themes/ThemeManager.cs +++ b/src/EchoHub.Client/Themes/ThemeManager.cs @@ -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" } }; diff --git a/src/Terminal.Gui b/src/Terminal.Gui new file mode 160000 index 0000000..8d1557b --- /dev/null +++ b/src/Terminal.Gui @@ -0,0 +1 @@ +Subproject commit 8d1557b2fcbe26ac751f2b39842030c6c07c3f33