diff --git a/src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs b/src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs
index 80efe776..cc3458c5 100644
--- a/src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs
+++ b/src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs
@@ -627,6 +627,12 @@ private void OnTabControllerWindowAdded (object sender, WindowAddedEventArgs e)
_ledService.RegisterWindow(logWindow);
+ if (logWindow.Tag is LogWindowData ledData)
+ {
+ var icon = GetLedIcon(ledData.LedState.DiffSum, ledData);
+ _ = BeginInvoke(SetTabIcon, logWindow, icon);
+ }
+
ConnectEventHandlers(logWindow);
}
diff --git a/src/PluginRegistry/PluginHashGenerator.Generated.cs b/src/PluginRegistry/PluginHashGenerator.Generated.cs
index 1849aa9e..1684a0ec 100644
--- a/src/PluginRegistry/PluginHashGenerator.Generated.cs
+++ b/src/PluginRegistry/PluginHashGenerator.Generated.cs
@@ -10,7 +10,7 @@ public static partial class PluginValidator
{
///
/// Gets pre-calculated SHA256 hashes for built-in plugins.
- /// Generated: 2026-06-01 09:31:40 UTC
+ /// Generated: 2026-06-01 14:21:26 UTC
/// Configuration: Release
/// Plugin count: 21
///
@@ -18,27 +18,27 @@ public static Dictionary GetBuiltInPluginHashes()
{
return new Dictionary(StringComparer.OrdinalIgnoreCase)
{
- ["AutoColumnizer.dll"] = "1E5C3388943F4EB34382324E6A2C54F93C89B88CFE1D69ACF1203FB7416E672F",
+ ["AutoColumnizer.dll"] = "DC7D1EF56AFB8A47739707CC183A1F93575B795FCF677CAF2F9563C7FD813F1F",
["BouncyCastle.Cryptography.dll"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6",
["BouncyCastle.Cryptography.dll (x86)"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6",
- ["CsvColumnizer.dll"] = "0DB8949CCFB20468D5C934474EEC98B3BD1AD0802D2F79F9DF9013DAF2A037C9",
- ["CsvColumnizer.dll (x86)"] = "0DB8949CCFB20468D5C934474EEC98B3BD1AD0802D2F79F9DF9013DAF2A037C9",
- ["DefaultPlugins.dll"] = "FE68CE75E429D0F29ABB2D221A4BBBC16AD6C06B77FB2B709134591F276DE9DF",
- ["FlashIconHighlighter.dll"] = "A8C733BBA980A364B3739EFBF866E85E166C15B79A6B704456C7F92884BECB27",
- ["GlassfishColumnizer.dll"] = "86D49BC1EAC7F843893134F7F5B64BE37A94C914F389DB56598DBC670D849835",
- ["JsonColumnizer.dll"] = "6A6B27428F647DF29D03F4F17AED89DDF1FF24636B59644FBD12FB3D92A26F18",
- ["JsonCompactColumnizer.dll"] = "04A7169C087181B49189AB8DD9C9FB260189EB1CF394452EA02987FFE6934794",
- ["Log4jXmlColumnizer.dll"] = "301E7805F9BA5BA211256119636B7A8D34848475C5B7885737FD8E61CB1B5233",
- ["LogExpert.Resources.dll"] = "A2AFABDCFDA0B558426706336C11FB8B02770383419BA1E0192FFFEBEB091A38",
+ ["CsvColumnizer.dll"] = "5814B514ABBC966B259268BA4B9B1E8E54B519160FD107D20894AA1D0BACC5A5",
+ ["CsvColumnizer.dll (x86)"] = "5814B514ABBC966B259268BA4B9B1E8E54B519160FD107D20894AA1D0BACC5A5",
+ ["DefaultPlugins.dll"] = "70254CD15387236A799FE160F3A2021FEE60FE8F92A96979202ADB4A2C84FE6D",
+ ["FlashIconHighlighter.dll"] = "DBB3E6E8AD24B0A0C74ECADE6B6650BA7CF3A3A25BA2B6F60E2F6006605CCE76",
+ ["GlassfishColumnizer.dll"] = "9DE9E6F2C606046B0DDE3C368D7888E342050EA85331C0FE46AB05E147B7B830",
+ ["JsonColumnizer.dll"] = "30663E7C7DF7DC7FF4C299697EABA8A4B9F2616E0D90DDDD976B91C0EA6982E5",
+ ["JsonCompactColumnizer.dll"] = "7326622318DFBFA204E36787D8487113E2E3A76824B7C6264F446B80096D1251",
+ ["Log4jXmlColumnizer.dll"] = "AFD096C80934CFF8C8BBDFECC27C4530130A8961F0F92EFDB6503546513D6875",
+ ["LogExpert.Resources.dll"] = "44A4C12022FEBE9D0FEE88896F7C652A951FE82C2D07B785704288651EC71490",
["Microsoft.Extensions.DependencyInjection.Abstractions.dll"] = "67FA4325000DB017DC0C35829B416F024F042D24EFB868BCF17A895EE6500A93",
["Microsoft.Extensions.DependencyInjection.Abstractions.dll (x86)"] = "67FA4325000DB017DC0C35829B416F024F042D24EFB868BCF17A895EE6500A93",
["Microsoft.Extensions.Logging.Abstractions.dll"] = "BB853130F5AFAF335BE7858D661F8212EC653835100F5A4E3AA2C66A4D4F685D",
["Microsoft.Extensions.Logging.Abstractions.dll (x86)"] = "BB853130F5AFAF335BE7858D661F8212EC653835100F5A4E3AA2C66A4D4F685D",
- ["RegexColumnizer.dll"] = "AC1E977392AD7A291174C357211480121C49898C2258E8608E06AF8DDA48DE7E",
- ["SftpFileSystem.dll"] = "E5B7DD9D7038F68B501BD8398141FD6E8EBE9878B205D346E3C36FCD40DA9CA8",
- ["SftpFileSystem.dll (x86)"] = "8B892CC370EE3E01693F282C32245B55F3D225F48D6631102EB2DC79692F762B",
- ["SftpFileSystem.Resources.dll"] = "20CFD22D83D1581FF63348F3F0D3E824A73887F80BCDEB04E6AAF3E5A200C036",
- ["SftpFileSystem.Resources.dll (x86)"] = "20CFD22D83D1581FF63348F3F0D3E824A73887F80BCDEB04E6AAF3E5A200C036",
+ ["RegexColumnizer.dll"] = "F53554822DD21133040836668F04AA59D55A960B1C2988B50904F2A1B08DA084",
+ ["SftpFileSystem.dll"] = "BCA378ACA3F21BB396C49A81E1876FFB0E9B2FC33EEDDC361C46CE88305AACF1",
+ ["SftpFileSystem.dll (x86)"] = "6B1B3C33820B6AC5C7DEF41B7FE5AB96F8BE3F60DEEE26889A05BE34BBB73619",
+ ["SftpFileSystem.Resources.dll"] = "F5E023A76F1F5F19BCC4771C27932CE25A9207A5590AE8D0ED5EF371522B9861",
+ ["SftpFileSystem.Resources.dll (x86)"] = "F5E023A76F1F5F19BCC4771C27932CE25A9207A5590AE8D0ED5EF371522B9861",
};
}
diff --git a/src/tools/LogRotator/LogRotator.sln b/src/tools/LogRotator/LogRotator.sln
new file mode 100644
index 00000000..c08ee065
--- /dev/null
+++ b/src/tools/LogRotator/LogRotator.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 18
+VisualStudioVersion = 18.5.11716.220 stable
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LogRotator", "LogRotator.csproj", "{13BEA7F4-66F6-3314-2479-039532FA6CA2}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {13BEA7F4-66F6-3314-2479-039532FA6CA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {13BEA7F4-66F6-3314-2479-039532FA6CA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {13BEA7F4-66F6-3314-2479-039532FA6CA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {13BEA7F4-66F6-3314-2479-039532FA6CA2}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {277855DC-5659-4E52-AF27-A97F40DBCF01}
+ EndGlobalSection
+EndGlobal