From 5461e3779b65d4acce6a94bd25e21fbc74df7964 Mon Sep 17 00:00:00 2001 From: Tig Date: Wed, 8 Nov 2023 09:40:55 -0600 Subject: [PATCH 01/31] Adds F7History icon (#2963) --- docfx/images/F7HistoryIcon.png | Bin 0 -> 227018 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docfx/images/F7HistoryIcon.png diff --git a/docfx/images/F7HistoryIcon.png b/docfx/images/F7HistoryIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..bed2f08c88c6b46f071a47af5b4ece2c17ec25e4 GIT binary patch literal 227018 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 z zcfb3it}HzzlJc>lqe3!H@)`YRIuPn|@-PJIdaD3^A$RG6&>yI`o^_*VV42v#mu{5F z4)hD~!9~d@!YHFPauD|e{XF@%+$zp-%g+6nhhWE10Y?)vqfC_Xk{Y$@+zIB>Q z@gW3^*OE2%#b-ikPJVkG-Zc?qAF)J{m%!+kHb7;cFi~g&dqZ{>@v3hs%QA>%q>7jz z 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 b9QGm-hGxoawiZ7F^Y%!I%YUo0(TWRz literal 0 HcmV?d00001 From 13ceabb76860e05b2680f3f417ef190eb4061e93 Mon Sep 17 00:00:00 2001 From: Tig Kindel Date: Mon, 22 Jan 2024 07:13:06 -0700 Subject: [PATCH 02/31] Release v1.15.1 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e9249dadd..978c24ca4 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ ![Bugs](https://img.shields.io/github/issues/gui-cs/gui.cs/bug) ***The current, stable, release of Terminal.Gui is [v1.x](https://www.nuget.org/packages/Terminal.Gui). It is stable, rich, and broadly used. The team is now focused on designing and building a significant upgrade we're referring to as `v2`. Therefore:*** + * *`v1` is now in maintenance mode, meaning we will accept PRs for v1.x (the `develop` branch) only for issues impacting existing functionality.* * *All new development happens on the `v2_develop` branch. See the V2 discussion [here](https://github.com/gui-cs/Terminal.Gui/discussions/1940).* * *The latest v2 API Docs* (generated from `v2_develop`) can be found [here](https://gui-cs.github.io/Terminal.GuiV2Docs/). From 1b99168f51c4f78327ac4f61ea063b6ba99278b5 Mon Sep 17 00:00:00 2001 From: BDisp Date: Mon, 12 Aug 2024 13:44:09 +0100 Subject: [PATCH 03/31] V1 Fixes #3541. Checking if clipboard is available on windows. (#3658) * V1 Fixes #3541. Checking if clipboard is available on windows. * Fix nuget packages with vulnerabilities. --- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 16 +++++++++++++++- UICatalog/UICatalog.csproj | 2 +- UnitTests/UnitTests.csproj | 4 ++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index f575de14b..01d13b80d 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -1970,7 +1970,21 @@ namespace Terminal.Gui { class WindowsClipboard : ClipboardBase { public WindowsClipboard () { - IsSupported = IsClipboardFormatAvailable (cfUnicodeText); + IsSupported = CheckClipboardIsAvailable (); + } + + private static bool CheckClipboardIsAvailable () + { + // Attempt to open the clipboard + if (OpenClipboard (IntPtr.Zero)) { + // Clipboard is available + // Close the clipboard after use + CloseClipboard (); + + return true; + } + // Clipboard is not available + return false; } public override bool IsSupported { get; } diff --git a/UICatalog/UICatalog.csproj b/UICatalog/UICatalog.csproj index 89dcd4c0c..a05ebdf02 100644 --- a/UICatalog/UICatalog.csproj +++ b/UICatalog/UICatalog.csproj @@ -21,7 +21,7 @@ - + diff --git a/UnitTests/UnitTests.csproj b/UnitTests/UnitTests.csproj index d7e5c2d2a..63f2ba107 100644 --- a/UnitTests/UnitTests.csproj +++ b/UnitTests/UnitTests.csproj @@ -19,10 +19,10 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 962d55283520892fc83100343cf3d9676fcbe967 Mon Sep 17 00:00:00 2001 From: BDisp Date: Mon, 16 Sep 2024 15:29:20 +0100 Subject: [PATCH 04/31] Fixes #3738. CursesDriver stops responding. --- Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs index 3e23b78a5..7ffa43eea 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs @@ -97,7 +97,7 @@ namespace Terminal.Gui { this.mainLoop = mainLoop; pipe (wakeupPipes); AddWatch (wakeupPipes [0], Condition.PollIn, ml => { - read (wakeupPipes [1], ignore, (IntPtr)1); + read (wakeupPipes [0], ignore, (IntPtr)1); return true; }); } From 42b9a4d4afc10d8eb994fab167819f7d35f50bcb Mon Sep 17 00:00:00 2001 From: BDisp Date: Wed, 18 Sep 2024 22:34:09 +0100 Subject: [PATCH 05/31] Fixes #3740. Disabled MenuItem triggers exception. --- Terminal.Gui/Views/Menu.cs | 2 +- UnitTests/Menus/MenuTests.cs | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Terminal.Gui/Views/Menu.cs b/Terminal.Gui/Views/Menu.cs index 444f695a6..464fa3b4d 100644 --- a/Terminal.Gui/Views/Menu.cs +++ b/Terminal.Gui/Views/Menu.cs @@ -1238,7 +1238,7 @@ namespace Terminal.Gui { mi = openCurrentMenu.barItems.Children [openCurrentMenu.current]; } else if (openCurrentMenu.barItems.IsTopLevel) { mi = openCurrentMenu.barItems; - } else { + } else if (openCurrentMenu?.current > -1) { mi = openMenu.barItems.Children [openMenu.current]; } MenuOpened?.Invoke (mi); diff --git a/UnitTests/Menus/MenuTests.cs b/UnitTests/Menus/MenuTests.cs index 35b0a18ae..d62b7b709 100644 --- a/UnitTests/Menus/MenuTests.cs +++ b/UnitTests/Menus/MenuTests.cs @@ -219,8 +219,7 @@ Edit View = mCurrent })); Assert.True (menu.IsMenuOpen); - Assert.Equal ("_File", miCurrent.Parent.Title); - Assert.Equal ("_New", miCurrent.Title); + Assert.Null (miCurrent); Assert.True (mCurrent.MouseEvent (new MouseEvent () { X = 1, @@ -229,8 +228,7 @@ Edit View = mCurrent })); Assert.True (menu.IsMenuOpen); - Assert.Equal ("_File", miCurrent.Parent.Title); - Assert.Equal ("_New", miCurrent.Title); + Assert.Null (miCurrent); Assert.True (mCurrent.MouseEvent (new MouseEvent () { X = 1, @@ -239,8 +237,7 @@ Edit View = mCurrent })); Assert.True (menu.IsMenuOpen); - Assert.Equal ("_File", miCurrent.Parent.Title); - Assert.Equal ("_Save", miCurrent.Title); + Assert.Null (miCurrent); // close the menu Assert.True (menu.MouseEvent (new MouseEvent () { @@ -265,8 +262,7 @@ Edit Assert.True (mCurrent.ProcessKey (new KeyEvent (Key.CursorUp, new KeyModifiers ()))); Assert.True (menu.IsMenuOpen); - Assert.Equal ("_File", miCurrent.Parent.Title); - Assert.Equal ("_New", miCurrent.Title); + Assert.Null (miCurrent); // close the menu Assert.True (menu.ProcessHotKey (new KeyEvent (Key.F9, new KeyModifiers ()))); From 5c0dc43c9c83f6baead5c96d08e84a4089056e36 Mon Sep 17 00:00:00 2001 From: BDisp Date: Wed, 6 Nov 2024 16:16:17 +0000 Subject: [PATCH 06/31] Fixes #3752. Tracking Windows Terminal Preview Issue - App size is corrupted --- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 243 ++++++++++--------- 1 file changed, 125 insertions(+), 118 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 01d13b80d..0abcc6024 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -18,7 +18,6 @@ namespace Terminal.Gui { public const int STD_ERROR_HANDLE = -12; internal IntPtr InputHandle, OutputHandle; - IntPtr ScreenBuffer; readonly uint originalConsoleMode; CursorVisibility? initialCursorVisibility = null; CursorVisibility? currentCursorVisibility = null; @@ -40,47 +39,47 @@ namespace Terminal.Gui { public bool WriteToConsole (Size size, CharInfo [] charInfoBuffer, Coord coords, SmallRect window) { - if (ScreenBuffer == IntPtr.Zero) { - ReadFromConsoleOutput (size, coords, ref window); - } + //if (OutputHandle == IntPtr.Zero) { + // ReadFromConsoleOutput (size, coords, ref window); + //} - return WriteConsoleOutput (ScreenBuffer, charInfoBuffer, coords, new Coord () { X = window.Left, Y = window.Top }, ref window); + return WriteConsoleOutput (OutputHandle, charInfoBuffer, coords, new Coord () { X = window.Left, Y = window.Top }, ref window); } - public void ReadFromConsoleOutput (Size size, Coord coords, ref SmallRect window) - { - ScreenBuffer = CreateConsoleScreenBuffer ( - DesiredAccess.GenericRead | DesiredAccess.GenericWrite, - ShareMode.FileShareRead | ShareMode.FileShareWrite, - IntPtr.Zero, - 1, - IntPtr.Zero - ); - if (ScreenBuffer == INVALID_HANDLE_VALUE) { - var err = Marshal.GetLastWin32Error (); + //public void ReadFromConsoleOutput (Size size, Coord coords, ref SmallRect window) + //{ + // OutputHandle = CreateConsoleScreenBuffer ( + // DesiredAccess.GenericRead | DesiredAccess.GenericWrite, + // ShareMode.FileShareRead | ShareMode.FileShareWrite, + // IntPtr.Zero, + // 1, + // IntPtr.Zero + // ); + // if (ScreenBuffer == INVALID_HANDLE_VALUE) { + // var err = Marshal.GetLastWin32Error (); - if (err != 0) - throw new System.ComponentModel.Win32Exception (err); - } + // if (err != 0) + // throw new System.ComponentModel.Win32Exception (err); + // } - if (!initialCursorVisibility.HasValue && GetCursorVisibility (out CursorVisibility visibility)) { - initialCursorVisibility = visibility; - } + // if (!initialCursorVisibility.HasValue && GetCursorVisibility (out CursorVisibility visibility)) { + // initialCursorVisibility = visibility; + // } - if (!SetConsoleActiveScreenBuffer (ScreenBuffer)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } + // if (!SetConsoleActiveScreenBuffer (ScreenBuffer)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } - OriginalStdOutChars = new CharInfo [size.Height * size.Width]; + // OriginalStdOutChars = new CharInfo [size.Height * size.Width]; - if (!ReadConsoleOutput (ScreenBuffer, OriginalStdOutChars, coords, new Coord () { X = 0, Y = 0 }, ref window)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - } + // if (!ReadConsoleOutput (ScreenBuffer, OriginalStdOutChars, coords, new Coord () { X = 0, Y = 0 }, ref window)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + //} public bool SetCursorPosition (Coord position) { - return SetConsoleCursorPosition (ScreenBuffer, position); + return SetConsoleCursorPosition (OutputHandle, position); } public void SetInitialCursorVisibility () @@ -92,11 +91,11 @@ namespace Terminal.Gui { public bool GetCursorVisibility (out CursorVisibility visibility) { - if (ScreenBuffer == IntPtr.Zero) { + if (OutputHandle == IntPtr.Zero) { visibility = CursorVisibility.Invisible; return false; } - if (!GetConsoleCursorInfo (ScreenBuffer, out ConsoleCursorInfo info)) { + if (!GetConsoleCursorInfo (OutputHandle, out ConsoleCursorInfo info)) { var err = Marshal.GetLastWin32Error (); if (err != 0) { throw new System.ComponentModel.Win32Exception (err); @@ -149,7 +148,7 @@ namespace Terminal.Gui { bVisible = ((uint)visibility & 0xFF00) != 0 }; - if (!SetConsoleCursorInfo (ScreenBuffer, ref info)) + if (!SetConsoleCursorInfo (OutputHandle, ref info)) return false; currentCursorVisibility = visibility; @@ -165,28 +164,28 @@ namespace Terminal.Gui { } ConsoleMode = originalConsoleMode; - if (!SetConsoleActiveScreenBuffer (OutputHandle)) { - var err = Marshal.GetLastWin32Error (); - Console.WriteLine ("Error: {0}", err); - } + //if (!SetConsoleActiveScreenBuffer (OutputHandle)) { + // var err = Marshal.GetLastWin32Error (); + // Console.WriteLine ("Error: {0}", err); + //} - if (ScreenBuffer != IntPtr.Zero) { - CloseHandle (ScreenBuffer); - } + //if (ScreenBuffer != IntPtr.Zero) { + // CloseHandle (ScreenBuffer); + //} - ScreenBuffer = IntPtr.Zero; + //ScreenBuffer = IntPtr.Zero; } internal Size GetConsoleBufferWindow (out Point position) { - if (ScreenBuffer == IntPtr.Zero) { + if (OutputHandle == IntPtr.Zero) { position = Point.Empty; return Size.Empty; } var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); csbi.cbSize = (uint)Marshal.SizeOf (csbi); - if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + if (!GetConsoleScreenBufferInfoEx (OutputHandle, ref csbi)) { //throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); position = Point.Empty; return Size.Empty; @@ -212,65 +211,65 @@ namespace Terminal.Gui { return sz; } - internal Size SetConsoleWindow (short cols, short rows) - { - var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); - csbi.cbSize = (uint)Marshal.SizeOf (csbi); + //internal Size SetConsoleWindow (short cols, short rows) + //{ + // var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); + // csbi.cbSize = (uint)Marshal.SizeOf (csbi); - if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - var maxWinSize = GetLargestConsoleWindowSize (ScreenBuffer); - var newCols = Math.Min (cols, maxWinSize.X); - var newRows = Math.Min (rows, maxWinSize.Y); - csbi.dwSize = new Coord (newCols, Math.Max (newRows, (short)1)); - csbi.srWindow = new SmallRect (0, 0, newCols, newRows); - csbi.dwMaximumWindowSize = new Coord (newCols, newRows); - if (!SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - var winRect = new SmallRect (0, 0, (short)(newCols - 1), (short)Math.Max (newRows - 1, 0)); - if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { - //throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - return new Size (cols, rows); - } - SetConsoleOutputWindow (csbi); - return new Size (winRect.Right + 1, newRows - 1 < 0 ? 0 : winRect.Bottom + 1); - } + // if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + // var maxWinSize = GetLargestConsoleWindowSize (ScreenBuffer); + // var newCols = Math.Min (cols, maxWinSize.X); + // var newRows = Math.Min (rows, maxWinSize.Y); + // csbi.dwSize = new Coord (newCols, Math.Max (newRows, (short)1)); + // csbi.srWindow = new SmallRect (0, 0, newCols, newRows); + // csbi.dwMaximumWindowSize = new Coord (newCols, newRows); + // if (!SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + // var winRect = new SmallRect (0, 0, (short)(newCols - 1), (short)Math.Max (newRows - 1, 0)); + // if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { + // //throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // return new Size (cols, rows); + // } + // SetConsoleOutputWindow (csbi); + // return new Size (winRect.Right + 1, newRows - 1 < 0 ? 0 : winRect.Bottom + 1); + //} - void SetConsoleOutputWindow (CONSOLE_SCREEN_BUFFER_INFOEX csbi) - { - if (ScreenBuffer != IntPtr.Zero && !SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - } + //void SetConsoleOutputWindow (CONSOLE_SCREEN_BUFFER_INFOEX csbi) + //{ + // if (ScreenBuffer != IntPtr.Zero && !SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + //} - internal Size SetConsoleOutputWindow (out Point position) - { - if (ScreenBuffer == IntPtr.Zero) { - position = Point.Empty; - return Size.Empty; - } + //internal Size SetConsoleOutputWindow (out Point position) + //{ + // if (ScreenBuffer == IntPtr.Zero) { + // position = Point.Empty; + // return Size.Empty; + // } - var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); - csbi.cbSize = (uint)Marshal.SizeOf (csbi); - if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - var sz = new Size (csbi.srWindow.Right - csbi.srWindow.Left + 1, - Math.Max (csbi.srWindow.Bottom - csbi.srWindow.Top + 1, 0)); - position = new Point (csbi.srWindow.Left, csbi.srWindow.Top); - SetConsoleOutputWindow (csbi); - var winRect = new SmallRect (0, 0, (short)(sz.Width - 1), (short)Math.Max (sz.Height - 1, 0)); - if (!SetConsoleScreenBufferInfoEx (OutputHandle, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } + // var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); + // csbi.cbSize = (uint)Marshal.SizeOf (csbi); + // if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + // var sz = new Size (csbi.srWindow.Right - csbi.srWindow.Left + 1, + // Math.Max (csbi.srWindow.Bottom - csbi.srWindow.Top + 1, 0)); + // position = new Point (csbi.srWindow.Left, csbi.srWindow.Top); + // SetConsoleOutputWindow (csbi); + // var winRect = new SmallRect (0, 0, (short)(sz.Width - 1), (short)Math.Max (sz.Height - 1, 0)); + // if (!SetConsoleScreenBufferInfoEx (OutputHandle, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + // if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } - return sz; - } + // return sz; + //} //bool ContinueListeningForConsoleEvents = true; @@ -734,7 +733,7 @@ namespace Terminal.Gui { WinConsole = new WindowsConsole (); clipboard = new WindowsClipboard (); - isWindowsTerminal = Environment.GetEnvironmentVariable ("WT_SESSION") != null; + isWindowsTerminal = Environment.GetEnvironmentVariable ("WT_SESSION") != null || Environment.GetEnvironmentVariable ("VSAPPIDNAME") != null; } public override void PrepareToRun (MainLoop mainLoop, Action keyHandler, Action keyDownHandler, Action keyUpHandler, Action mouseHandler) @@ -748,28 +747,28 @@ namespace Terminal.Gui { mLoop.ProcessInput = (e) => ProcessInput (e); - mLoop.WinChanged = (e) => { - ChangeWin (e); - }; + //mLoop.WinChanged = (e) => { + // ChangeWin (e); + //}; } - private void ChangeWin (Size e) - { - var w = e.Width; - if (w == cols - 3 && e.Height < rows) { - w += 3; - } - var newSize = WinConsole.SetConsoleWindow ( - (short)Math.Max (w, 16), (short)Math.Max (e.Height, 0)); + //private void ChangeWin (Size e) + //{ + // var w = e.Width; + // if (w == cols - 3 && e.Height < rows) { + // w += 3; + // } + // var newSize = WinConsole.SetConsoleWindow ( + // (short)Math.Max (w, 16), (short)Math.Max (e.Height, 0)); - left = 0; - top = 0; - cols = newSize.Width; - rows = newSize.Height; - ResizeScreen (); - UpdateOffScreen (); - TerminalResized.Invoke (); - } + // left = 0; + // top = 0; + // cols = newSize.Width; + // rows = newSize.Height; + // ResizeScreen (); + // UpdateOffScreen (); + // TerminalResized.Invoke (); + //} void ProcessInput (WindowsConsole.InputRecord inputEvent) { @@ -893,6 +892,14 @@ namespace Terminal.Gui { case WindowsConsole.EventType.Focus: keyModifiers = null; break; + + case WindowsConsole.EventType.WindowBufferSize: + cols = inputEvent.WindowBufferSizeEvent.size.X; + rows = inputEvent.WindowBufferSizeEvent.size.Y; + + ResizeScreen (); + TerminalResized.Invoke (); + break; } } From 8d71a9f942c44ef9844b61be4051b64cc5ff26c1 Mon Sep 17 00:00:00 2001 From: Glenn Slayden <5589855+glenn-slayden@users.noreply.github.com> Date: Tue, 18 Feb 2025 10:21:19 -0800 Subject: [PATCH 07/31] [README.md] trivial typo (#3907) --- Terminal.Gui/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Terminal.Gui/README.md b/Terminal.Gui/README.md index 68c7e8f5d..a81027c1d 100644 --- a/Terminal.Gui/README.md +++ b/Terminal.Gui/README.md @@ -17,7 +17,7 @@ All files required to build the **Terminal.Gui** library (and NuGet package). - `Window` - Derived from `TopLevel`; implements toplevel views with a visible frame and Title. - `Types/` - A folder (not namespace) containing implementations of `Point`, `Rect`, and `Size` which are ancient versions of the modern `System.Drawing.Point`, `System.Drawing.Size`, and `System.Drawning.Rectangle`. - `ConsoleDrivers/` - Source files for the three `ConsoleDriver`-based drivers: .NET: `NetDriver`, Unix & Mac: `UnixDriver`, and Windows: `WindowsDriver`. -- `Views/` - A folder (not namespace) containing the source for all built-in classes that drive from `View` (non-modals). +- `Views/` - A folder (not namespace) containing the source for all built-in classes that derive from `View` (non-modals). - `Windows/` - A folder (not namespace) containing the source of all built-in classes that derive from `Window`. ## Version numbers From c81e50b8c0df968857815e945025398d66c4afd9 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:09:55 +0100 Subject: [PATCH 08/31] updated gitversion --- GitVersion.yml | 105 ++++++++--- logs/UICatalog20250301.log | 374 +++++++++++++++++++++++++++++++++++++ 2 files changed, 456 insertions(+), 23 deletions(-) create mode 100644 logs/UICatalog20250301.log diff --git a/GitVersion.yml b/GitVersion.yml index 138dc2ac9..285ade168 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1,29 +1,88 @@ -mode: ContinuousDeployment +# This file configures GitVersion 6.x to work with Terminal.Gui's GitFlow branching strategy. +# +# Terminal.Gui uses the GitFlow branching strategy. +# https://gitversion.net/docs/learn/branching-strategies/gitflow/ +# +# - We have two main branches: `v1_release` and `v1_develop`. +# - `v1_release` is the main branch for V1 releases and matches the latest NuGet release package (e.g., 1.0.0); +# prior to release, it uses pre-release labels (e.g., 1.0.0-prealpha.1). +# - `v1_develop` is the development branch for V2 and always carries a pre-release label (e.g., 1.1.0-develop.1). +# - Development happens on feature branches off `v1_develop`. +# - For releases, we merge feature branches into `v1_develop`, then `v1_develop` into `v1_release`. +# - The ./.github/workflows/publish.yml builds and publishes on pushes to `v1_develop` and `v1_release`. +# +# Branches +# - v1_release: Main branch for V1 (historical) +# - v1_develop: Develop branch for V1 (historical) +# +# Package Naming: +# - from v1_develop: 2.1.0-develop.1 (minor version increments) +# - from v1_release (pre-release): 2.0.0-prealpha.1 or 2.0.0-beta.1 +# - from v1_release (release): 2.0.0 (patch version increments) +# +mode: ContinuousDelivery # GitVersion 6.x uses Mainline mode for GitFlow, focusing on main branch releases + +# We prefix our tags with 'v' or 'V' (e.g., v1.0.0) tag-prefix: '[vV]' -continuous-delivery-fallback-tag: pre + branches: - v1_develop: - mode: ContinuousDeployment - tag: pre - regex: v1_develop - source-branches: - - v1_release - pre-release-weight: 100 - v1_release: - tag: rc + + # V2 Release Branch + main: + # Matches the v1_release branch + regex: ^v1_release$ + # Uses 'prealpha' as pre-release label before official release + label: 1.0.0-prealpha.1 + # Increments patch version (x.y.z+1) on commits increment: Patch - regex: v1_release - source-branches: - - v1_develop - - v1_release - v1_feature: - tag: useBranchName - regex: ^features?[/-] - source-branches: - - v1_develop - - v1_release + # Specifies v1_develop as the source branch + source-branches: ['develop'] + pre-release-weight: 100 + + # V2 Development Branch + develop: + # Matches the v1_develop branch + regex: v1_develop + # Adds 'develop' as pre-release label (e.g., 2.1.0-develop.1) + label: develop + # Increments minor version (x.y+1.z) on commits + increment: Minor + # No source branches specified as this is the root of development + source-branches: [] + # Indicates this branch feeds into release branches + tracks-release-branches: true + + # # V1 Branches - Included for historical reference + # v1_develop: + # regex: v1_develop + # label: v1_develop + # increment: Minor + # source-branches: ['v1_release'] + # # Lower weight keeps V1 pre-releases sorted below V2 + # pre-release-weight: 100 + + # v1_release: + # regex: v1_release + # # Empty label for stable releases + # label: '' + # increment: Patch + # source-branches: ['v1_develop'] + + # Pull Request Branches + # Configures versioning for PRs (e.g., 2.0.0-pr.feature-123.1) pull-request: - tag: PullRequest.{BranchName} + # Matches typical PR branch names + regex: ^(pull|pull\-requests|pr)[/-] + # Uses 'pr' prefix with branch name in the label (e.g., pr.feature-123) + label: pr.{BranchName} + # Inherits increment strategy from source branch increment: Inherit + source-branches: + - develop + - main + # High weight ensures PR versions sort after regular pre-releases + pre-release-weight: 30000 + +# Ignore specific commits if needed (currently empty) ignore: - sha: [] + sha: [] \ No newline at end of file diff --git a/logs/UICatalog20250301.log b/logs/UICatalog20250301.log new file mode 100644 index 000000000..474a7ad17 --- /dev/null +++ b/logs/UICatalog20250301.log @@ -0,0 +1,374 @@ +2025-03-01 16:52:47.593 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:47.614 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:47.614 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:47.621 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:52:50.215 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:50.219 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:50.219 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:50.224 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:52:52.841 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:52.845 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:52.845 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:52.847 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:52:55.450 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:55.452 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:55.452 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:55.454 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:52:58.070 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:58.072 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:58.072 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:58.075 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:00.685 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:00.688 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:00.688 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:00.689 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:03.271 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:03.274 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:03.274 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:03.277 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:05.849 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:05.851 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:05.851 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:05.854 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:08.471 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:08.481 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:08.481 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:08.483 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:11.054 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:11.055 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:11.055 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:11.057 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:13.671 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:13.673 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:13.674 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:13.675 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:16.304 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:16.306 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:16.306 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:16.308 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:18.887 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:18.889 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:18.889 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:18.891 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:21.465 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:21.467 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:21.467 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:21.468 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:24.095 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:24.097 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:24.097 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:24.099 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:26.682 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:26.684 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:26.684 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:26.688 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:29.318 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:29.320 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:29.320 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:29.322 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:31.920 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:31.922 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:31.922 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:31.924 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:34.538 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:34.540 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:34.540 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:34.542 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:37.143 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:37.145 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:37.145 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:37.146 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:39.767 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:39.770 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:39.770 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:39.772 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:42.555 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:42.557 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:42.557 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:42.559 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:45.175 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:45.177 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:45.177 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:45.179 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:47.799 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:47.801 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:47.801 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:47.803 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:50.425 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:50.427 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:50.427 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:50.429 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:53.024 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:53.026 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:53.026 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:53.028 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:54.916 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:54.918 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:54.918 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:54.920 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:55.103 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:55.105 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.105 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.106 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:55.302 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:55.305 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.305 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.307 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:55.431 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:55.433 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.433 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.435 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:58.011 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:58.013 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:58.013 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:58.015 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:00.623 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:00.625 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:00.625 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:00.627 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:03.258 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:03.260 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:03.260 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:03.262 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:05.862 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:05.864 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:05.865 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:05.867 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:08.449 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:08.451 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:08.451 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:08.453 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:11.022 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:11.025 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:11.025 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:11.027 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:13.639 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:13.641 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:13.641 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:13.642 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:16.260 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:16.262 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:16.262 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:16.264 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:18.880 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:18.882 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:18.882 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:18.883 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:21.460 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:21.463 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:21.463 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:21.465 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:24.036 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:24.038 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:24.038 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:24.041 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:26.659 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:26.661 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:26.662 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:26.664 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:29.240 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:29.242 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:29.242 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:29.244 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:31.808 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:31.810 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:31.810 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:31.812 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:34.434 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:34.436 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:34.436 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:34.439 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:37.056 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:37.057 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:37.057 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:37.060 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:39.665 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:39.667 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:39.667 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:39.669 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:42.286 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:42.288 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:42.288 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:42.290 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:44.871 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:44.873 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:44.873 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:44.877 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:47.486 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:47.488 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:47.488 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:47.490 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:50.059 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:50.062 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:50.062 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:50.063 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:52.688 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:52.690 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:52.690 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:52.692 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:55.315 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:55.317 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:55.317 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:55.319 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:57.948 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:57.950 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:57.950 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:57.952 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:00.583 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:00.585 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:00.585 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:00.586 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:03.213 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:03.215 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:03.215 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:05.810 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:05.813 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:05.813 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:05.815 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:08.385 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:08.387 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:08.387 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:08.390 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:10.965 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:10.967 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:10.967 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:10.969 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:13.541 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:13.543 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:13.543 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:13.545 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:16.117 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:16.119 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:16.119 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:16.121 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:18.703 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:18.712 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:18.712 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:18.713 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:21.323 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:21.325 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:21.325 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:21.326 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:23.924 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:23.926 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:23.926 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:26.552 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:26.554 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:26.554 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:26.558 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:29.166 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:29.168 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:29.168 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:29.169 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:31.742 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:31.744 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:31.744 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:31.747 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:34.317 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:34.320 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:34.320 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:34.322 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:36.953 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:36.955 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:36.955 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:36.958 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:39.590 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:39.595 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:39.595 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:39.598 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:42.192 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:42.194 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:42.194 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:42.198 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:44.825 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:44.827 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:44.827 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:44.829 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:47.459 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:47.461 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:47.461 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:47.464 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:50.072 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:50.074 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:50.074 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:50.076 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:52.649 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:52.651 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:52.651 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:52.653 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:55.249 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:55.251 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:55.251 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:55.253 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:57.871 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:57.873 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:57.873 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:57.875 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:00.502 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:00.504 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:00.504 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:00.506 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:03.123 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:03.125 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:03.125 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:03.127 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:05.695 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:05.696 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:05.697 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:05.698 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:08.273 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:08.275 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:08.275 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:08.277 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:11.055 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:11.057 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:11.057 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:11.060 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:13.636 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:13.637 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:13.638 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:13.639 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:16.222 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:16.224 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:16.224 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:16.226 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:18.847 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:18.849 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:18.849 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:18.851 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:21.482 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:21.484 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:21.484 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:21.487 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:24.119 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:24.121 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:24.121 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:24.123 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:40.645 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:40.657 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:40.657 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:40.664 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:57:06.706 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:57:06.718 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:57:06.718 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:57:06.725 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:58:42.295 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:58:42.307 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:58:42.307 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:58:42.314 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:59:45.477 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:59:45.489 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:59:45.489 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:59:45.495 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 17:04:32.225 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 17:04:32.237 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 17:04:32.237 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 17:04:32.244 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 17:06:24.037 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 17:06:24.050 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 17:06:24.050 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 17:06:24.057 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 17:21:55.665 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 17:21:55.677 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 17:21:55.677 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 17:21:55.684 -07:00 [ERR] Init called multiple times without shutdown, ignoring. From 0557d6f21ee139f52d5a850f601f0c2d0105e6b2 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:17:43 +0100 Subject: [PATCH 09/31] gitignore --- .gitignore | 68 +++++-- logs/UICatalog20250301.log | 374 ------------------------------------- 2 files changed, 57 insertions(+), 385 deletions(-) delete mode 100644 logs/UICatalog20250301.log diff --git a/.gitignore b/.gitignore index 6c06d23ff..e2b23118e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,24 +1,70 @@ -bin -obj -~$* -*.userprefs -*~ -packages -.vs -# User-specific files +# Build artifacts +[Bb]in/ +[Oo]bj/ +[Rr]elease/ +[Dd]ebug/ +[Xx]64/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ + +# User-local settings and caches +*.rsuser +*.suo *.user +*.userosscache +*.sln.docstates +*.userprefs +_ReSharper.** +*.[Rr]e[Ss]harper +*.DotSettings.user +.devcontainer/ +.vscode/ +.vs/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Roslyn generated cs files +**.g.cs + +# Common temporary files +~$* +*~ + +# Exclude everything in packages directory except the packages/build directory +**/[Pp]ackages/* +!**/[Pp]ackages/build/ # API Docs docfx/api docfx/_site +# Test Results UnitTests/TestResults +TestResults -#git merge files +# git merge files *.orig - -.vscode/ +*.theirs +*.ours demo.* *.deb + +*.tui/ + +*.dotCover + +logs/ + +BenchmarkDotNet.Artifacts/ + +*.log + +*.log.* + +log.* diff --git a/logs/UICatalog20250301.log b/logs/UICatalog20250301.log deleted file mode 100644 index 474a7ad17..000000000 --- a/logs/UICatalog20250301.log +++ /dev/null @@ -1,374 +0,0 @@ -2025-03-01 16:52:47.593 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:47.614 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:47.614 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:47.621 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:52:50.215 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:50.219 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:50.219 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:50.224 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:52:52.841 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:52.845 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:52.845 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:52.847 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:52:55.450 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:55.452 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:55.452 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:55.454 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:52:58.070 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:58.072 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:58.072 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:58.075 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:00.685 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:00.688 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:00.688 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:00.689 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:03.271 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:03.274 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:03.274 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:03.277 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:05.849 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:05.851 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:05.851 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:05.854 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:08.471 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:08.481 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:08.481 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:08.483 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:11.054 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:11.055 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:11.055 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:11.057 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:13.671 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:13.673 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:13.674 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:13.675 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:16.304 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:16.306 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:16.306 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:16.308 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:18.887 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:18.889 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:18.889 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:18.891 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:21.465 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:21.467 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:21.467 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:21.468 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:24.095 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:24.097 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:24.097 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:24.099 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:26.682 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:26.684 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:26.684 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:26.688 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:29.318 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:29.320 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:29.320 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:29.322 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:31.920 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:31.922 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:31.922 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:31.924 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:34.538 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:34.540 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:34.540 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:34.542 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:37.143 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:37.145 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:37.145 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:37.146 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:39.767 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:39.770 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:39.770 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:39.772 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:42.555 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:42.557 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:42.557 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:42.559 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:45.175 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:45.177 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:45.177 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:45.179 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:47.799 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:47.801 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:47.801 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:47.803 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:50.425 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:50.427 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:50.427 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:50.429 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:53.024 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:53.026 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:53.026 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:53.028 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:54.916 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:54.918 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:54.918 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:54.920 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:55.103 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:55.105 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.105 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.106 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:55.302 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:55.305 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.305 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.307 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:55.431 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:55.433 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.433 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.435 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:58.011 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:58.013 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:58.013 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:58.015 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:00.623 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:00.625 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:00.625 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:00.627 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:03.258 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:03.260 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:03.260 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:03.262 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:05.862 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:05.864 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:05.865 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:05.867 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:08.449 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:08.451 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:08.451 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:08.453 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:11.022 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:11.025 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:11.025 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:11.027 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:13.639 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:13.641 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:13.641 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:13.642 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:16.260 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:16.262 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:16.262 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:16.264 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:18.880 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:18.882 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:18.882 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:18.883 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:21.460 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:21.463 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:21.463 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:21.465 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:24.036 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:24.038 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:24.038 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:24.041 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:26.659 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:26.661 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:26.662 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:26.664 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:29.240 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:29.242 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:29.242 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:29.244 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:31.808 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:31.810 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:31.810 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:31.812 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:34.434 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:34.436 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:34.436 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:34.439 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:37.056 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:37.057 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:37.057 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:37.060 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:39.665 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:39.667 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:39.667 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:39.669 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:42.286 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:42.288 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:42.288 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:42.290 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:44.871 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:44.873 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:44.873 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:44.877 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:47.486 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:47.488 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:47.488 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:47.490 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:50.059 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:50.062 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:50.062 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:50.063 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:52.688 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:52.690 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:52.690 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:52.692 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:55.315 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:55.317 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:55.317 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:55.319 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:57.948 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:57.950 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:57.950 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:57.952 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:00.583 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:00.585 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:00.585 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:00.586 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:03.213 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:03.215 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:03.215 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:05.810 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:05.813 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:05.813 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:05.815 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:08.385 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:08.387 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:08.387 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:08.390 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:10.965 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:10.967 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:10.967 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:10.969 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:13.541 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:13.543 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:13.543 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:13.545 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:16.117 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:16.119 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:16.119 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:16.121 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:18.703 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:18.712 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:18.712 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:18.713 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:21.323 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:21.325 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:21.325 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:21.326 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:23.924 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:23.926 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:23.926 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:26.552 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:26.554 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:26.554 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:26.558 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:29.166 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:29.168 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:29.168 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:29.169 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:31.742 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:31.744 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:31.744 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:31.747 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:34.317 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:34.320 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:34.320 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:34.322 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:36.953 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:36.955 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:36.955 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:36.958 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:39.590 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:39.595 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:39.595 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:39.598 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:42.192 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:42.194 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:42.194 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:42.198 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:44.825 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:44.827 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:44.827 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:44.829 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:47.459 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:47.461 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:47.461 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:47.464 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:50.072 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:50.074 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:50.074 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:50.076 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:52.649 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:52.651 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:52.651 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:52.653 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:55.249 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:55.251 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:55.251 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:55.253 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:57.871 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:57.873 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:57.873 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:57.875 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:00.502 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:00.504 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:00.504 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:00.506 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:03.123 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:03.125 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:03.125 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:03.127 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:05.695 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:05.696 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:05.697 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:05.698 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:08.273 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:08.275 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:08.275 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:08.277 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:11.055 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:11.057 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:11.057 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:11.060 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:13.636 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:13.637 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:13.638 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:13.639 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:16.222 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:16.224 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:16.224 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:16.226 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:18.847 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:18.849 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:18.849 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:18.851 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:21.482 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:21.484 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:21.484 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:21.487 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:24.119 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:24.121 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:24.121 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:24.123 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:40.645 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:40.657 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:40.657 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:40.664 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:57:06.706 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:57:06.718 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:57:06.718 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:57:06.725 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:58:42.295 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:58:42.307 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:58:42.307 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:58:42.314 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:59:45.477 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:59:45.489 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:59:45.489 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:59:45.495 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 17:04:32.225 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 17:04:32.237 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 17:04:32.237 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 17:04:32.244 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 17:06:24.037 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 17:06:24.050 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 17:06:24.050 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 17:06:24.057 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 17:21:55.665 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 17:21:55.677 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 17:21:55.677 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 17:21:55.684 -07:00 [ERR] Init called multiple times without shutdown, ignoring. From 4982a6ad091c2c946bccce911cf201a1a66e094e Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:21:51 +0100 Subject: [PATCH 10/31] gitignore --- .github/workflows/publish.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 39ba8ccd5..0f1bc9b8a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,7 +2,7 @@ name: Publish Terminal.Gui on: push: - branches: [ v1_release, v1_develop, v2_release, v2_develop ] + branches: [ v1_release, v1_develop ] tags: - v* paths-ignore: @@ -18,17 +18,16 @@ jobs: with: fetch-depth: 0 # fetch-depth is needed for GitVersion - - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v1 + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '5.x' - includePrerelease: true + versionSpec: '6.0.x' - name: Determine Version - uses: gittools/actions/gitversion/execute@v1 + uses: gittools/actions/gitversion/execute@v3.1.11 with: useConfigFile: true - #additionalArguments: /b develop + updateAssemblyInfo: true id: gitversion # step id used as reference for output values - name: Setup dotnet @@ -42,11 +41,11 @@ jobs: - name: Build Release run: | - dotnet-gitversion /updateprojectfiles - dotnet build --no-restore -c Release + dotnet build Terminal.Gui/Terminal.Gui.csproj --no-incremental --nologo --force --configuration Release + dotnet test Terminal.Gui/Terminal.Gui.csproj --configuration Release - name: Pack - run: dotnet pack -c Release --include-symbols -p:Version='${{ steps.gitversion.outputs.SemVer }}' + run: dotnet pack Terminal.Gui/Terminal.Gui.csproj -c Release --include-symbols -p:Version='${{ steps.gitversion.outputs.SemVer }}' # - name: Test to generate Code Coverage Report # run: | @@ -71,4 +70,4 @@ jobs: # echo "Badge data: ${{steps.create_coverage_badge.outputs.badge}}" - name: Publish to NuGet.org - run: dotnet nuget push Terminal.Gui/bin/Release/Terminal.Gui.${{ steps.gitversion.outputs.SemVer }}.nupkg --api-key ${{ secrets.NUGET_API_KEY }} + run: dotnet nuget push Terminal.Gui/bin/Release/Terminal.Gui.${{ steps.gitversion.outputs.SemVer }}.nupkg --api-key ${{ secrets.NUGET_API_KEY }} \ No newline at end of file From 16a13d6549495650b33e722b4d2976e38fce548c Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:28:04 +0100 Subject: [PATCH 11/31] dotnet.yml --- .github/workflows/dotnet-core.yml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 750f7d93f..0833838a1 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -9,27 +9,34 @@ on: branches: [ v1_release, v1_develop ] paths-ignore: - '**.md' - jobs: - build: - runs-on: ubuntu-latest + non_parallel_unittests: + name: Non-Parallel Unit Tests + runs-on: ${{ matrix.os }} + strategy: + # Turn off fail-fast to let all runners run even if there are errors + fail-fast: true + matrix: + os: [ ubuntu-latest, windows-latest, macos-latest ] + timeout-minutes: 10 steps: - - uses: actions/checkout@v4 + + - name: Checkout code + uses: actions/checkout@v4 - name: Setup .NET Core uses: actions/setup-dotnet@v4 with: - dotnet-version: 7.0 + dotnet-version: 8.x dotnet-quality: 'ga' - name: Install dependencies run: | dotnet restore - - name: Build Debug - run: | - dotnet build --configuration Debug --no-restore + - name: Build Solution Debug + run: dotnet build --configuration Debug --no-restore - name: Test run: | From 59bc1d3e7b08023ef9226af0d5643ab5ce2e1a52 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:31:16 +0100 Subject: [PATCH 12/31] dotnet.yml --- .github/workflows/dotnet-core.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 0833838a1..1b4dd45a0 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -41,7 +41,8 @@ jobs: - name: Test run: | sed -i 's/"stopOnFail": false/"stopOnFail": true/g' UnitTests/xunit.runner.json - dotnet test --no-restore --verbosity normal #--collect:"XPlat Code Coverage" --settings UnitTests/coverlet.runsettings + dotnet test --no-restore --verbosity normal + #--collect:"XPlat Code Coverage" --settings UnitTests/coverlet.runsettings #mv -v UnitTests/TestResults/*/*.* UnitTests/TestResults/ # Note: this step is currently not writing to the gist for some reason From a3418caa65b9f4c63172bb75a8a6c1dd0936fc24 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:38:07 +0100 Subject: [PATCH 13/31] dotnet.yml --- .github/workflows/dotnet-core.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 1b4dd45a0..2cf7c9339 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -17,7 +17,7 @@ jobs: # Turn off fail-fast to let all runners run even if there are errors fail-fast: true matrix: - os: [ ubuntu-latest, windows-latest, macos-latest ] + os: [ ubuntu-latest ] timeout-minutes: 10 steps: @@ -40,7 +40,7 @@ jobs: - name: Test run: | - sed -i 's/"stopOnFail": false/"stopOnFail": true/g' UnitTests/xunit.runner.json + #sed -i 's/"stopOnFail": false/"stopOnFail": true/g' UnitTests/xunit.runner.json dotnet test --no-restore --verbosity normal #--collect:"XPlat Code Coverage" --settings UnitTests/coverlet.runsettings #mv -v UnitTests/TestResults/*/*.* UnitTests/TestResults/ From a80e24ac5b50d0b96c4e442ce5b382421b2c49cd Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 16:34:39 +0100 Subject: [PATCH 14/31] dotnet.yml --- .github/workflows/publish.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0f1bc9b8a..6d5fac6b6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,6 +18,12 @@ jobs: with: fetch-depth: 0 # fetch-depth is needed for GitVersion + - name: Setup .NET Core + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.x + dotnet-quality: 'ga' + - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: @@ -30,12 +36,6 @@ jobs: updateAssemblyInfo: true id: gitversion # step id used as reference for output values - - name: Setup dotnet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 8.0 - dotnet-quality: 'ga' - - name: Install dependencies run: dotnet restore From 565793b85c276ea3ab2be57b6e692da6ecf7aefb Mon Sep 17 00:00:00 2001 From: BDisp Date: Mon, 12 Aug 2024 13:44:09 +0100 Subject: [PATCH 15/31] V1 Fixes #3541. Checking if clipboard is available on windows. (#3658) * V1 Fixes #3541. Checking if clipboard is available on windows. * Fix nuget packages with vulnerabilities. --- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 16 +++++++++++++++- UICatalog/UICatalog.csproj | 2 +- UnitTests/UnitTests.csproj | 4 ++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index f575de14b..01d13b80d 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -1970,7 +1970,21 @@ namespace Terminal.Gui { class WindowsClipboard : ClipboardBase { public WindowsClipboard () { - IsSupported = IsClipboardFormatAvailable (cfUnicodeText); + IsSupported = CheckClipboardIsAvailable (); + } + + private static bool CheckClipboardIsAvailable () + { + // Attempt to open the clipboard + if (OpenClipboard (IntPtr.Zero)) { + // Clipboard is available + // Close the clipboard after use + CloseClipboard (); + + return true; + } + // Clipboard is not available + return false; } public override bool IsSupported { get; } diff --git a/UICatalog/UICatalog.csproj b/UICatalog/UICatalog.csproj index 89dcd4c0c..a05ebdf02 100644 --- a/UICatalog/UICatalog.csproj +++ b/UICatalog/UICatalog.csproj @@ -21,7 +21,7 @@ - + diff --git a/UnitTests/UnitTests.csproj b/UnitTests/UnitTests.csproj index d7e5c2d2a..63f2ba107 100644 --- a/UnitTests/UnitTests.csproj +++ b/UnitTests/UnitTests.csproj @@ -19,10 +19,10 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 433df8b9c96726131021fd731d8de7d26c056eef Mon Sep 17 00:00:00 2001 From: BDisp Date: Mon, 16 Sep 2024 15:29:20 +0100 Subject: [PATCH 16/31] Fixes #3738. CursesDriver stops responding. --- Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs index 3e23b78a5..7ffa43eea 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/UnixMainLoop.cs @@ -97,7 +97,7 @@ namespace Terminal.Gui { this.mainLoop = mainLoop; pipe (wakeupPipes); AddWatch (wakeupPipes [0], Condition.PollIn, ml => { - read (wakeupPipes [1], ignore, (IntPtr)1); + read (wakeupPipes [0], ignore, (IntPtr)1); return true; }); } From 186068783950a79b6772b2e31bcf36ddce6ae90d Mon Sep 17 00:00:00 2001 From: BDisp Date: Wed, 18 Sep 2024 22:34:09 +0100 Subject: [PATCH 17/31] Fixes #3740. Disabled MenuItem triggers exception. --- Terminal.Gui/Views/Menu.cs | 2 +- UnitTests/Menus/MenuTests.cs | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Terminal.Gui/Views/Menu.cs b/Terminal.Gui/Views/Menu.cs index 444f695a6..464fa3b4d 100644 --- a/Terminal.Gui/Views/Menu.cs +++ b/Terminal.Gui/Views/Menu.cs @@ -1238,7 +1238,7 @@ namespace Terminal.Gui { mi = openCurrentMenu.barItems.Children [openCurrentMenu.current]; } else if (openCurrentMenu.barItems.IsTopLevel) { mi = openCurrentMenu.barItems; - } else { + } else if (openCurrentMenu?.current > -1) { mi = openMenu.barItems.Children [openMenu.current]; } MenuOpened?.Invoke (mi); diff --git a/UnitTests/Menus/MenuTests.cs b/UnitTests/Menus/MenuTests.cs index 35b0a18ae..d62b7b709 100644 --- a/UnitTests/Menus/MenuTests.cs +++ b/UnitTests/Menus/MenuTests.cs @@ -219,8 +219,7 @@ Edit View = mCurrent })); Assert.True (menu.IsMenuOpen); - Assert.Equal ("_File", miCurrent.Parent.Title); - Assert.Equal ("_New", miCurrent.Title); + Assert.Null (miCurrent); Assert.True (mCurrent.MouseEvent (new MouseEvent () { X = 1, @@ -229,8 +228,7 @@ Edit View = mCurrent })); Assert.True (menu.IsMenuOpen); - Assert.Equal ("_File", miCurrent.Parent.Title); - Assert.Equal ("_New", miCurrent.Title); + Assert.Null (miCurrent); Assert.True (mCurrent.MouseEvent (new MouseEvent () { X = 1, @@ -239,8 +237,7 @@ Edit View = mCurrent })); Assert.True (menu.IsMenuOpen); - Assert.Equal ("_File", miCurrent.Parent.Title); - Assert.Equal ("_Save", miCurrent.Title); + Assert.Null (miCurrent); // close the menu Assert.True (menu.MouseEvent (new MouseEvent () { @@ -265,8 +262,7 @@ Edit Assert.True (mCurrent.ProcessKey (new KeyEvent (Key.CursorUp, new KeyModifiers ()))); Assert.True (menu.IsMenuOpen); - Assert.Equal ("_File", miCurrent.Parent.Title); - Assert.Equal ("_New", miCurrent.Title); + Assert.Null (miCurrent); // close the menu Assert.True (menu.ProcessHotKey (new KeyEvent (Key.F9, new KeyModifiers ()))); From 486f129c8a9e70237615ad985dd971d5d709d841 Mon Sep 17 00:00:00 2001 From: BDisp Date: Wed, 6 Nov 2024 16:16:17 +0000 Subject: [PATCH 18/31] Fixes #3752. Tracking Windows Terminal Preview Issue - App size is corrupted --- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 243 ++++++++++--------- 1 file changed, 125 insertions(+), 118 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 01d13b80d..0abcc6024 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -18,7 +18,6 @@ namespace Terminal.Gui { public const int STD_ERROR_HANDLE = -12; internal IntPtr InputHandle, OutputHandle; - IntPtr ScreenBuffer; readonly uint originalConsoleMode; CursorVisibility? initialCursorVisibility = null; CursorVisibility? currentCursorVisibility = null; @@ -40,47 +39,47 @@ namespace Terminal.Gui { public bool WriteToConsole (Size size, CharInfo [] charInfoBuffer, Coord coords, SmallRect window) { - if (ScreenBuffer == IntPtr.Zero) { - ReadFromConsoleOutput (size, coords, ref window); - } + //if (OutputHandle == IntPtr.Zero) { + // ReadFromConsoleOutput (size, coords, ref window); + //} - return WriteConsoleOutput (ScreenBuffer, charInfoBuffer, coords, new Coord () { X = window.Left, Y = window.Top }, ref window); + return WriteConsoleOutput (OutputHandle, charInfoBuffer, coords, new Coord () { X = window.Left, Y = window.Top }, ref window); } - public void ReadFromConsoleOutput (Size size, Coord coords, ref SmallRect window) - { - ScreenBuffer = CreateConsoleScreenBuffer ( - DesiredAccess.GenericRead | DesiredAccess.GenericWrite, - ShareMode.FileShareRead | ShareMode.FileShareWrite, - IntPtr.Zero, - 1, - IntPtr.Zero - ); - if (ScreenBuffer == INVALID_HANDLE_VALUE) { - var err = Marshal.GetLastWin32Error (); + //public void ReadFromConsoleOutput (Size size, Coord coords, ref SmallRect window) + //{ + // OutputHandle = CreateConsoleScreenBuffer ( + // DesiredAccess.GenericRead | DesiredAccess.GenericWrite, + // ShareMode.FileShareRead | ShareMode.FileShareWrite, + // IntPtr.Zero, + // 1, + // IntPtr.Zero + // ); + // if (ScreenBuffer == INVALID_HANDLE_VALUE) { + // var err = Marshal.GetLastWin32Error (); - if (err != 0) - throw new System.ComponentModel.Win32Exception (err); - } + // if (err != 0) + // throw new System.ComponentModel.Win32Exception (err); + // } - if (!initialCursorVisibility.HasValue && GetCursorVisibility (out CursorVisibility visibility)) { - initialCursorVisibility = visibility; - } + // if (!initialCursorVisibility.HasValue && GetCursorVisibility (out CursorVisibility visibility)) { + // initialCursorVisibility = visibility; + // } - if (!SetConsoleActiveScreenBuffer (ScreenBuffer)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } + // if (!SetConsoleActiveScreenBuffer (ScreenBuffer)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } - OriginalStdOutChars = new CharInfo [size.Height * size.Width]; + // OriginalStdOutChars = new CharInfo [size.Height * size.Width]; - if (!ReadConsoleOutput (ScreenBuffer, OriginalStdOutChars, coords, new Coord () { X = 0, Y = 0 }, ref window)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - } + // if (!ReadConsoleOutput (ScreenBuffer, OriginalStdOutChars, coords, new Coord () { X = 0, Y = 0 }, ref window)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + //} public bool SetCursorPosition (Coord position) { - return SetConsoleCursorPosition (ScreenBuffer, position); + return SetConsoleCursorPosition (OutputHandle, position); } public void SetInitialCursorVisibility () @@ -92,11 +91,11 @@ namespace Terminal.Gui { public bool GetCursorVisibility (out CursorVisibility visibility) { - if (ScreenBuffer == IntPtr.Zero) { + if (OutputHandle == IntPtr.Zero) { visibility = CursorVisibility.Invisible; return false; } - if (!GetConsoleCursorInfo (ScreenBuffer, out ConsoleCursorInfo info)) { + if (!GetConsoleCursorInfo (OutputHandle, out ConsoleCursorInfo info)) { var err = Marshal.GetLastWin32Error (); if (err != 0) { throw new System.ComponentModel.Win32Exception (err); @@ -149,7 +148,7 @@ namespace Terminal.Gui { bVisible = ((uint)visibility & 0xFF00) != 0 }; - if (!SetConsoleCursorInfo (ScreenBuffer, ref info)) + if (!SetConsoleCursorInfo (OutputHandle, ref info)) return false; currentCursorVisibility = visibility; @@ -165,28 +164,28 @@ namespace Terminal.Gui { } ConsoleMode = originalConsoleMode; - if (!SetConsoleActiveScreenBuffer (OutputHandle)) { - var err = Marshal.GetLastWin32Error (); - Console.WriteLine ("Error: {0}", err); - } + //if (!SetConsoleActiveScreenBuffer (OutputHandle)) { + // var err = Marshal.GetLastWin32Error (); + // Console.WriteLine ("Error: {0}", err); + //} - if (ScreenBuffer != IntPtr.Zero) { - CloseHandle (ScreenBuffer); - } + //if (ScreenBuffer != IntPtr.Zero) { + // CloseHandle (ScreenBuffer); + //} - ScreenBuffer = IntPtr.Zero; + //ScreenBuffer = IntPtr.Zero; } internal Size GetConsoleBufferWindow (out Point position) { - if (ScreenBuffer == IntPtr.Zero) { + if (OutputHandle == IntPtr.Zero) { position = Point.Empty; return Size.Empty; } var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); csbi.cbSize = (uint)Marshal.SizeOf (csbi); - if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + if (!GetConsoleScreenBufferInfoEx (OutputHandle, ref csbi)) { //throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); position = Point.Empty; return Size.Empty; @@ -212,65 +211,65 @@ namespace Terminal.Gui { return sz; } - internal Size SetConsoleWindow (short cols, short rows) - { - var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); - csbi.cbSize = (uint)Marshal.SizeOf (csbi); + //internal Size SetConsoleWindow (short cols, short rows) + //{ + // var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); + // csbi.cbSize = (uint)Marshal.SizeOf (csbi); - if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - var maxWinSize = GetLargestConsoleWindowSize (ScreenBuffer); - var newCols = Math.Min (cols, maxWinSize.X); - var newRows = Math.Min (rows, maxWinSize.Y); - csbi.dwSize = new Coord (newCols, Math.Max (newRows, (short)1)); - csbi.srWindow = new SmallRect (0, 0, newCols, newRows); - csbi.dwMaximumWindowSize = new Coord (newCols, newRows); - if (!SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - var winRect = new SmallRect (0, 0, (short)(newCols - 1), (short)Math.Max (newRows - 1, 0)); - if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { - //throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - return new Size (cols, rows); - } - SetConsoleOutputWindow (csbi); - return new Size (winRect.Right + 1, newRows - 1 < 0 ? 0 : winRect.Bottom + 1); - } + // if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + // var maxWinSize = GetLargestConsoleWindowSize (ScreenBuffer); + // var newCols = Math.Min (cols, maxWinSize.X); + // var newRows = Math.Min (rows, maxWinSize.Y); + // csbi.dwSize = new Coord (newCols, Math.Max (newRows, (short)1)); + // csbi.srWindow = new SmallRect (0, 0, newCols, newRows); + // csbi.dwMaximumWindowSize = new Coord (newCols, newRows); + // if (!SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + // var winRect = new SmallRect (0, 0, (short)(newCols - 1), (short)Math.Max (newRows - 1, 0)); + // if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { + // //throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // return new Size (cols, rows); + // } + // SetConsoleOutputWindow (csbi); + // return new Size (winRect.Right + 1, newRows - 1 < 0 ? 0 : winRect.Bottom + 1); + //} - void SetConsoleOutputWindow (CONSOLE_SCREEN_BUFFER_INFOEX csbi) - { - if (ScreenBuffer != IntPtr.Zero && !SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - } + //void SetConsoleOutputWindow (CONSOLE_SCREEN_BUFFER_INFOEX csbi) + //{ + // if (ScreenBuffer != IntPtr.Zero && !SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + //} - internal Size SetConsoleOutputWindow (out Point position) - { - if (ScreenBuffer == IntPtr.Zero) { - position = Point.Empty; - return Size.Empty; - } + //internal Size SetConsoleOutputWindow (out Point position) + //{ + // if (ScreenBuffer == IntPtr.Zero) { + // position = Point.Empty; + // return Size.Empty; + // } - var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); - csbi.cbSize = (uint)Marshal.SizeOf (csbi); - if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - var sz = new Size (csbi.srWindow.Right - csbi.srWindow.Left + 1, - Math.Max (csbi.srWindow.Bottom - csbi.srWindow.Top + 1, 0)); - position = new Point (csbi.srWindow.Left, csbi.srWindow.Top); - SetConsoleOutputWindow (csbi); - var winRect = new SmallRect (0, 0, (short)(sz.Width - 1), (short)Math.Max (sz.Height - 1, 0)); - if (!SetConsoleScreenBufferInfoEx (OutputHandle, ref csbi)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } - if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { - throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - } + // var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); + // csbi.cbSize = (uint)Marshal.SizeOf (csbi); + // if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + // var sz = new Size (csbi.srWindow.Right - csbi.srWindow.Left + 1, + // Math.Max (csbi.srWindow.Bottom - csbi.srWindow.Top + 1, 0)); + // position = new Point (csbi.srWindow.Left, csbi.srWindow.Top); + // SetConsoleOutputWindow (csbi); + // var winRect = new SmallRect (0, 0, (short)(sz.Width - 1), (short)Math.Max (sz.Height - 1, 0)); + // if (!SetConsoleScreenBufferInfoEx (OutputHandle, ref csbi)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } + // if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { + // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + // } - return sz; - } + // return sz; + //} //bool ContinueListeningForConsoleEvents = true; @@ -734,7 +733,7 @@ namespace Terminal.Gui { WinConsole = new WindowsConsole (); clipboard = new WindowsClipboard (); - isWindowsTerminal = Environment.GetEnvironmentVariable ("WT_SESSION") != null; + isWindowsTerminal = Environment.GetEnvironmentVariable ("WT_SESSION") != null || Environment.GetEnvironmentVariable ("VSAPPIDNAME") != null; } public override void PrepareToRun (MainLoop mainLoop, Action keyHandler, Action keyDownHandler, Action keyUpHandler, Action mouseHandler) @@ -748,28 +747,28 @@ namespace Terminal.Gui { mLoop.ProcessInput = (e) => ProcessInput (e); - mLoop.WinChanged = (e) => { - ChangeWin (e); - }; + //mLoop.WinChanged = (e) => { + // ChangeWin (e); + //}; } - private void ChangeWin (Size e) - { - var w = e.Width; - if (w == cols - 3 && e.Height < rows) { - w += 3; - } - var newSize = WinConsole.SetConsoleWindow ( - (short)Math.Max (w, 16), (short)Math.Max (e.Height, 0)); + //private void ChangeWin (Size e) + //{ + // var w = e.Width; + // if (w == cols - 3 && e.Height < rows) { + // w += 3; + // } + // var newSize = WinConsole.SetConsoleWindow ( + // (short)Math.Max (w, 16), (short)Math.Max (e.Height, 0)); - left = 0; - top = 0; - cols = newSize.Width; - rows = newSize.Height; - ResizeScreen (); - UpdateOffScreen (); - TerminalResized.Invoke (); - } + // left = 0; + // top = 0; + // cols = newSize.Width; + // rows = newSize.Height; + // ResizeScreen (); + // UpdateOffScreen (); + // TerminalResized.Invoke (); + //} void ProcessInput (WindowsConsole.InputRecord inputEvent) { @@ -893,6 +892,14 @@ namespace Terminal.Gui { case WindowsConsole.EventType.Focus: keyModifiers = null; break; + + case WindowsConsole.EventType.WindowBufferSize: + cols = inputEvent.WindowBufferSizeEvent.size.X; + rows = inputEvent.WindowBufferSizeEvent.size.Y; + + ResizeScreen (); + TerminalResized.Invoke (); + break; } } From ca53d331e39c73251fb54bbace75aa2cfa33aba2 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:09:55 +0100 Subject: [PATCH 19/31] updated gitversion --- GitVersion.yml | 105 ++++++++--- logs/UICatalog20250301.log | 374 +++++++++++++++++++++++++++++++++++++ 2 files changed, 456 insertions(+), 23 deletions(-) create mode 100644 logs/UICatalog20250301.log diff --git a/GitVersion.yml b/GitVersion.yml index 138dc2ac9..285ade168 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1,29 +1,88 @@ -mode: ContinuousDeployment +# This file configures GitVersion 6.x to work with Terminal.Gui's GitFlow branching strategy. +# +# Terminal.Gui uses the GitFlow branching strategy. +# https://gitversion.net/docs/learn/branching-strategies/gitflow/ +# +# - We have two main branches: `v1_release` and `v1_develop`. +# - `v1_release` is the main branch for V1 releases and matches the latest NuGet release package (e.g., 1.0.0); +# prior to release, it uses pre-release labels (e.g., 1.0.0-prealpha.1). +# - `v1_develop` is the development branch for V2 and always carries a pre-release label (e.g., 1.1.0-develop.1). +# - Development happens on feature branches off `v1_develop`. +# - For releases, we merge feature branches into `v1_develop`, then `v1_develop` into `v1_release`. +# - The ./.github/workflows/publish.yml builds and publishes on pushes to `v1_develop` and `v1_release`. +# +# Branches +# - v1_release: Main branch for V1 (historical) +# - v1_develop: Develop branch for V1 (historical) +# +# Package Naming: +# - from v1_develop: 2.1.0-develop.1 (minor version increments) +# - from v1_release (pre-release): 2.0.0-prealpha.1 or 2.0.0-beta.1 +# - from v1_release (release): 2.0.0 (patch version increments) +# +mode: ContinuousDelivery # GitVersion 6.x uses Mainline mode for GitFlow, focusing on main branch releases + +# We prefix our tags with 'v' or 'V' (e.g., v1.0.0) tag-prefix: '[vV]' -continuous-delivery-fallback-tag: pre + branches: - v1_develop: - mode: ContinuousDeployment - tag: pre - regex: v1_develop - source-branches: - - v1_release - pre-release-weight: 100 - v1_release: - tag: rc + + # V2 Release Branch + main: + # Matches the v1_release branch + regex: ^v1_release$ + # Uses 'prealpha' as pre-release label before official release + label: 1.0.0-prealpha.1 + # Increments patch version (x.y.z+1) on commits increment: Patch - regex: v1_release - source-branches: - - v1_develop - - v1_release - v1_feature: - tag: useBranchName - regex: ^features?[/-] - source-branches: - - v1_develop - - v1_release + # Specifies v1_develop as the source branch + source-branches: ['develop'] + pre-release-weight: 100 + + # V2 Development Branch + develop: + # Matches the v1_develop branch + regex: v1_develop + # Adds 'develop' as pre-release label (e.g., 2.1.0-develop.1) + label: develop + # Increments minor version (x.y+1.z) on commits + increment: Minor + # No source branches specified as this is the root of development + source-branches: [] + # Indicates this branch feeds into release branches + tracks-release-branches: true + + # # V1 Branches - Included for historical reference + # v1_develop: + # regex: v1_develop + # label: v1_develop + # increment: Minor + # source-branches: ['v1_release'] + # # Lower weight keeps V1 pre-releases sorted below V2 + # pre-release-weight: 100 + + # v1_release: + # regex: v1_release + # # Empty label for stable releases + # label: '' + # increment: Patch + # source-branches: ['v1_develop'] + + # Pull Request Branches + # Configures versioning for PRs (e.g., 2.0.0-pr.feature-123.1) pull-request: - tag: PullRequest.{BranchName} + # Matches typical PR branch names + regex: ^(pull|pull\-requests|pr)[/-] + # Uses 'pr' prefix with branch name in the label (e.g., pr.feature-123) + label: pr.{BranchName} + # Inherits increment strategy from source branch increment: Inherit + source-branches: + - develop + - main + # High weight ensures PR versions sort after regular pre-releases + pre-release-weight: 30000 + +# Ignore specific commits if needed (currently empty) ignore: - sha: [] + sha: [] \ No newline at end of file diff --git a/logs/UICatalog20250301.log b/logs/UICatalog20250301.log new file mode 100644 index 000000000..474a7ad17 --- /dev/null +++ b/logs/UICatalog20250301.log @@ -0,0 +1,374 @@ +2025-03-01 16:52:47.593 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:47.614 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:47.614 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:47.621 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:52:50.215 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:50.219 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:50.219 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:50.224 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:52:52.841 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:52.845 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:52.845 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:52.847 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:52:55.450 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:55.452 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:55.452 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:55.454 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:52:58.070 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:52:58.072 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:58.072 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:52:58.075 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:00.685 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:00.688 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:00.688 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:00.689 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:03.271 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:03.274 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:03.274 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:03.277 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:05.849 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:05.851 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:05.851 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:05.854 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:08.471 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:08.481 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:08.481 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:08.483 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:11.054 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:11.055 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:11.055 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:11.057 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:13.671 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:13.673 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:13.674 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:13.675 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:16.304 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:16.306 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:16.306 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:16.308 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:18.887 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:18.889 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:18.889 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:18.891 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:21.465 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:21.467 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:21.467 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:21.468 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:24.095 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:24.097 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:24.097 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:24.099 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:26.682 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:26.684 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:26.684 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:26.688 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:29.318 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:29.320 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:29.320 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:29.322 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:31.920 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:31.922 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:31.922 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:31.924 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:34.538 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:34.540 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:34.540 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:34.542 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:37.143 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:37.145 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:37.145 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:37.146 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:39.767 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:39.770 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:39.770 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:39.772 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:42.555 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:42.557 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:42.557 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:42.559 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:45.175 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:45.177 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:45.177 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:45.179 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:47.799 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:47.801 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:47.801 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:47.803 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:50.425 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:50.427 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:50.427 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:50.429 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:53.024 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:53.026 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:53.026 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:53.028 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:54.916 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:54.918 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:54.918 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:54.920 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:55.103 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:55.105 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.105 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.106 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:55.302 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:55.305 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.305 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.307 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:55.431 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:55.433 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.433 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:55.435 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:53:58.011 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:53:58.013 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:58.013 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:53:58.015 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:00.623 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:00.625 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:00.625 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:00.627 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:03.258 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:03.260 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:03.260 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:03.262 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:05.862 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:05.864 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:05.865 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:05.867 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:08.449 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:08.451 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:08.451 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:08.453 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:11.022 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:11.025 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:11.025 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:11.027 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:13.639 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:13.641 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:13.641 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:13.642 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:16.260 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:16.262 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:16.262 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:16.264 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:18.880 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:18.882 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:18.882 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:18.883 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:21.460 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:21.463 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:21.463 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:21.465 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:24.036 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:24.038 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:24.038 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:24.041 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:26.659 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:26.661 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:26.662 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:26.664 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:29.240 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:29.242 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:29.242 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:29.244 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:31.808 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:31.810 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:31.810 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:31.812 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:34.434 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:34.436 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:34.436 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:34.439 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:37.056 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:37.057 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:37.057 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:37.060 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:39.665 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:39.667 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:39.667 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:39.669 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:42.286 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:42.288 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:42.288 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:42.290 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:44.871 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:44.873 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:44.873 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:44.877 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:47.486 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:47.488 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:47.488 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:47.490 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:50.059 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:50.062 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:50.062 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:50.063 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:52.688 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:52.690 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:52.690 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:52.692 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:55.315 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:55.317 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:55.317 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:55.319 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:54:57.948 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:54:57.950 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:57.950 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:54:57.952 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:00.583 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:00.585 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:00.585 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:00.586 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:03.213 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:03.215 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:03.215 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:05.810 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:05.813 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:05.813 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:05.815 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:08.385 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:08.387 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:08.387 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:08.390 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:10.965 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:10.967 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:10.967 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:10.969 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:13.541 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:13.543 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:13.543 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:13.545 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:16.117 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:16.119 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:16.119 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:16.121 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:18.703 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:18.712 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:18.712 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:18.713 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:21.323 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:21.325 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:21.325 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:21.326 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:23.924 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:23.926 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:23.926 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:26.552 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:26.554 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:26.554 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:26.558 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:29.166 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:29.168 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:29.168 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:29.169 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:31.742 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:31.744 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:31.744 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:31.747 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:34.317 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:34.320 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:34.320 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:34.322 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:36.953 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:36.955 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:36.955 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:36.958 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:39.590 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:39.595 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:39.595 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:39.598 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:42.192 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:42.194 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:42.194 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:42.198 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:44.825 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:44.827 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:44.827 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:44.829 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:47.459 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:47.461 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:47.461 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:47.464 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:50.072 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:50.074 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:50.074 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:50.076 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:52.649 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:52.651 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:52.651 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:52.653 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:55.249 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:55.251 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:55.251 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:55.253 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:55:57.871 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:55:57.873 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:57.873 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:55:57.875 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:00.502 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:00.504 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:00.504 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:00.506 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:03.123 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:03.125 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:03.125 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:03.127 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:05.695 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:05.696 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:05.697 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:05.698 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:08.273 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:08.275 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:08.275 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:08.277 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:11.055 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:11.057 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:11.057 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:11.060 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:13.636 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:13.637 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:13.638 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:13.639 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:16.222 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:16.224 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:16.224 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:16.226 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:18.847 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:18.849 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:18.849 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:18.851 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:21.482 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:21.484 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:21.484 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:21.487 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:24.119 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:24.121 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:24.121 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:24.123 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:56:40.645 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:56:40.657 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:40.657 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:56:40.664 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:57:06.706 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:57:06.718 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:57:06.718 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:57:06.725 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:58:42.295 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:58:42.307 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:58:42.307 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:58:42.314 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 16:59:45.477 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 16:59:45.489 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 16:59:45.489 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 16:59:45.495 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 17:04:32.225 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 17:04:32.237 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 17:04:32.237 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 17:04:32.244 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 17:06:24.037 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 17:06:24.050 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 17:06:24.050 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 17:06:24.057 -07:00 [ERR] Init called multiple times without shutdown, ignoring. +2025-03-01 17:21:55.665 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. +2025-03-01 17:21:55.677 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. +2025-03-01 17:21:55.677 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. +2025-03-01 17:21:55.684 -07:00 [ERR] Init called multiple times without shutdown, ignoring. From 278484023acbf0b7fca55f6ad2e97536d7edb5cd Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:15:09 +0100 Subject: [PATCH 20/31] gitignore --- .gitignore | 68 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 57 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 6c06d23ff..e2b23118e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,24 +1,70 @@ -bin -obj -~$* -*.userprefs -*~ -packages -.vs -# User-specific files +# Build artifacts +[Bb]in/ +[Oo]bj/ +[Rr]elease/ +[Dd]ebug/ +[Xx]64/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ + +# User-local settings and caches +*.rsuser +*.suo *.user +*.userosscache +*.sln.docstates +*.userprefs +_ReSharper.** +*.[Rr]e[Ss]harper +*.DotSettings.user +.devcontainer/ +.vscode/ +.vs/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Roslyn generated cs files +**.g.cs + +# Common temporary files +~$* +*~ + +# Exclude everything in packages directory except the packages/build directory +**/[Pp]ackages/* +!**/[Pp]ackages/build/ # API Docs docfx/api docfx/_site +# Test Results UnitTests/TestResults +TestResults -#git merge files +# git merge files *.orig - -.vscode/ +*.theirs +*.ours demo.* *.deb + +*.tui/ + +*.dotCover + +logs/ + +BenchmarkDotNet.Artifacts/ + +*.log + +*.log.* + +log.* From ce20ba6cc5fd209a89d41f31d38b324366d08374 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:15:30 +0100 Subject: [PATCH 21/31] gitignore --- logs/UICatalog20250301.log | 374 ------------------------------------- 1 file changed, 374 deletions(-) delete mode 100644 logs/UICatalog20250301.log diff --git a/logs/UICatalog20250301.log b/logs/UICatalog20250301.log deleted file mode 100644 index 474a7ad17..000000000 --- a/logs/UICatalog20250301.log +++ /dev/null @@ -1,374 +0,0 @@ -2025-03-01 16:52:47.593 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:47.614 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:47.614 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:47.621 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:52:50.215 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:50.219 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:50.219 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:50.224 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:52:52.841 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:52.845 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:52.845 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:52.847 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:52:55.450 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:55.452 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:55.452 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:55.454 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:52:58.070 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:52:58.072 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:58.072 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:52:58.075 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:00.685 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:00.688 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:00.688 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:00.689 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:03.271 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:03.274 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:03.274 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:03.277 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:05.849 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:05.851 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:05.851 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:05.854 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:08.471 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:08.481 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:08.481 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:08.483 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:11.054 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:11.055 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:11.055 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:11.057 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:13.671 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:13.673 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:13.674 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:13.675 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:16.304 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:16.306 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:16.306 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:16.308 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:18.887 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:18.889 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:18.889 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:18.891 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:21.465 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:21.467 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:21.467 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:21.468 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:24.095 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:24.097 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:24.097 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:24.099 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:26.682 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:26.684 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:26.684 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:26.688 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:29.318 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:29.320 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:29.320 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:29.322 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:31.920 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:31.922 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:31.922 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:31.924 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:34.538 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:34.540 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:34.540 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:34.542 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:37.143 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:37.145 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:37.145 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:37.146 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:39.767 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:39.770 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:39.770 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:39.772 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:42.555 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:42.557 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:42.557 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:42.559 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:45.175 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:45.177 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:45.177 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:45.179 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:47.799 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:47.801 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:47.801 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:47.803 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:50.425 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:50.427 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:50.427 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:50.429 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:53.024 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:53.026 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:53.026 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:53.028 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:54.916 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:54.918 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:54.918 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:54.920 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:55.103 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:55.105 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.105 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.106 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:55.302 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:55.305 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.305 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.307 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:55.431 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:55.433 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.433 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:55.435 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:53:58.011 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:53:58.013 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:58.013 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:53:58.015 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:00.623 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:00.625 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:00.625 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:00.627 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:03.258 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:03.260 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:03.260 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:03.262 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:05.862 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:05.864 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:05.865 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:05.867 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:08.449 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:08.451 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:08.451 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:08.453 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:11.022 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:11.025 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:11.025 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:11.027 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:13.639 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:13.641 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:13.641 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:13.642 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:16.260 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:16.262 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:16.262 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:16.264 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:18.880 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:18.882 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:18.882 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:18.883 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:21.460 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:21.463 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:21.463 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:21.465 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:24.036 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:24.038 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:24.038 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:24.041 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:26.659 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:26.661 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:26.662 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:26.664 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:29.240 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:29.242 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:29.242 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:29.244 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:31.808 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:31.810 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:31.810 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:31.812 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:34.434 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:34.436 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:34.436 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:34.439 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:37.056 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:37.057 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:37.057 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:37.060 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:39.665 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:39.667 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:39.667 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:39.669 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:42.286 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:42.288 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:42.288 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:42.290 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:44.871 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:44.873 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:44.873 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:44.877 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:47.486 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:47.488 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:47.488 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:47.490 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:50.059 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:50.062 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:50.062 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:50.063 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:52.688 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:52.690 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:52.690 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:52.692 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:55.315 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:55.317 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:55.317 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:55.319 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:54:57.948 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:54:57.950 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:57.950 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:54:57.952 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:00.583 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:00.585 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:00.585 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:00.586 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:03.213 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:03.215 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:03.215 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:05.810 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:05.813 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:05.813 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:05.815 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:08.385 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:08.387 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:08.387 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:08.390 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:10.965 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:10.967 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:10.967 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:10.969 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:13.541 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:13.543 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:13.543 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:13.545 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:16.117 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:16.119 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:16.119 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:16.121 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:18.703 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:18.712 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:18.712 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:18.713 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:21.323 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:21.325 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:21.325 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:21.326 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:23.924 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:23.926 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:23.926 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:26.552 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:26.554 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:26.554 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:26.558 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:29.166 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:29.168 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:29.168 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:29.169 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:31.742 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:31.744 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:31.744 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:31.747 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:34.317 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:34.320 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:34.320 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:34.322 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:36.953 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:36.955 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:36.955 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:36.958 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:39.590 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:39.595 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:39.595 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:39.598 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:42.192 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:42.194 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:42.194 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:42.198 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:44.825 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:44.827 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:44.827 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:44.829 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:47.459 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:47.461 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:47.461 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:47.464 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:50.072 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:50.074 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:50.074 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:50.076 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:52.649 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:52.651 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:52.651 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:52.653 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:55.249 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:55.251 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:55.251 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:55.253 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:55:57.871 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:55:57.873 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:57.873 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:55:57.875 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:00.502 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:00.504 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:00.504 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:00.506 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:03.123 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:03.125 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:03.125 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:03.127 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:05.695 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:05.696 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:05.697 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:05.698 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:08.273 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:08.275 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:08.275 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:08.277 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:11.055 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:11.057 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:11.057 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:11.060 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:13.636 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:13.637 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:13.638 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:13.639 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:16.222 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:16.224 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:16.224 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:16.226 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:18.847 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:18.849 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:18.849 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:18.851 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:21.482 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:21.484 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:21.484 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:21.487 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:24.119 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:24.121 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:24.121 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:24.123 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:56:40.645 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:56:40.657 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:40.657 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:56:40.664 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:57:06.706 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:57:06.718 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:57:06.718 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:57:06.725 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:58:42.295 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:58:42.307 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:58:42.307 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:58:42.314 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 16:59:45.477 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 16:59:45.489 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 16:59:45.489 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 16:59:45.495 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 17:04:32.225 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 17:04:32.237 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 17:04:32.237 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 17:04:32.244 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 17:06:24.037 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 17:06:24.050 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 17:06:24.050 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 17:06:24.057 -07:00 [ERR] Init called multiple times without shutdown, ignoring. -2025-03-01 17:21:55.665 -07:00 [WRN] [SettingsScope] [Update] "./.tui/config.json" does not exist. -2025-03-01 17:21:55.677 -07:00 [WRN] [SettingsScope] [Update] "./.tui/UICatalog.config.json" does not exist. -2025-03-01 17:21:55.677 -07:00 [WRN] [SettingsScope] [Update] "C:\Users\Tig/.tui/UICatalog.config.json" does not exist. -2025-03-01 17:21:55.684 -07:00 [ERR] Init called multiple times without shutdown, ignoring. From 39fb8a7ffb3ca138e8915b704246973d2c041dc2 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:21:51 +0100 Subject: [PATCH 22/31] gitignore --- .github/workflows/publish.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 39ba8ccd5..0f1bc9b8a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,7 +2,7 @@ name: Publish Terminal.Gui on: push: - branches: [ v1_release, v1_develop, v2_release, v2_develop ] + branches: [ v1_release, v1_develop ] tags: - v* paths-ignore: @@ -18,17 +18,16 @@ jobs: with: fetch-depth: 0 # fetch-depth is needed for GitVersion - - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v1 + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '5.x' - includePrerelease: true + versionSpec: '6.0.x' - name: Determine Version - uses: gittools/actions/gitversion/execute@v1 + uses: gittools/actions/gitversion/execute@v3.1.11 with: useConfigFile: true - #additionalArguments: /b develop + updateAssemblyInfo: true id: gitversion # step id used as reference for output values - name: Setup dotnet @@ -42,11 +41,11 @@ jobs: - name: Build Release run: | - dotnet-gitversion /updateprojectfiles - dotnet build --no-restore -c Release + dotnet build Terminal.Gui/Terminal.Gui.csproj --no-incremental --nologo --force --configuration Release + dotnet test Terminal.Gui/Terminal.Gui.csproj --configuration Release - name: Pack - run: dotnet pack -c Release --include-symbols -p:Version='${{ steps.gitversion.outputs.SemVer }}' + run: dotnet pack Terminal.Gui/Terminal.Gui.csproj -c Release --include-symbols -p:Version='${{ steps.gitversion.outputs.SemVer }}' # - name: Test to generate Code Coverage Report # run: | @@ -71,4 +70,4 @@ jobs: # echo "Badge data: ${{steps.create_coverage_badge.outputs.badge}}" - name: Publish to NuGet.org - run: dotnet nuget push Terminal.Gui/bin/Release/Terminal.Gui.${{ steps.gitversion.outputs.SemVer }}.nupkg --api-key ${{ secrets.NUGET_API_KEY }} + run: dotnet nuget push Terminal.Gui/bin/Release/Terminal.Gui.${{ steps.gitversion.outputs.SemVer }}.nupkg --api-key ${{ secrets.NUGET_API_KEY }} \ No newline at end of file From f4d84c83ce852371ebc37e59bdb60a2f6cfa5c69 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:28:04 +0100 Subject: [PATCH 23/31] dotnet.yml --- .github/workflows/dotnet-core.yml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 750f7d93f..0833838a1 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -9,27 +9,34 @@ on: branches: [ v1_release, v1_develop ] paths-ignore: - '**.md' - jobs: - build: - runs-on: ubuntu-latest + non_parallel_unittests: + name: Non-Parallel Unit Tests + runs-on: ${{ matrix.os }} + strategy: + # Turn off fail-fast to let all runners run even if there are errors + fail-fast: true + matrix: + os: [ ubuntu-latest, windows-latest, macos-latest ] + timeout-minutes: 10 steps: - - uses: actions/checkout@v4 + + - name: Checkout code + uses: actions/checkout@v4 - name: Setup .NET Core uses: actions/setup-dotnet@v4 with: - dotnet-version: 7.0 + dotnet-version: 8.x dotnet-quality: 'ga' - name: Install dependencies run: | dotnet restore - - name: Build Debug - run: | - dotnet build --configuration Debug --no-restore + - name: Build Solution Debug + run: dotnet build --configuration Debug --no-restore - name: Test run: | From d1c9f1a772ce9575b9ad5d0d958690d67b5dfea6 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:31:16 +0100 Subject: [PATCH 24/31] dotnet.yml --- .github/workflows/dotnet-core.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 0833838a1..1b4dd45a0 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -41,7 +41,8 @@ jobs: - name: Test run: | sed -i 's/"stopOnFail": false/"stopOnFail": true/g' UnitTests/xunit.runner.json - dotnet test --no-restore --verbosity normal #--collect:"XPlat Code Coverage" --settings UnitTests/coverlet.runsettings + dotnet test --no-restore --verbosity normal + #--collect:"XPlat Code Coverage" --settings UnitTests/coverlet.runsettings #mv -v UnitTests/TestResults/*/*.* UnitTests/TestResults/ # Note: this step is currently not writing to the gist for some reason From c3d682a2f063f30f52ddd49f07000727d87f9aca Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 15:38:07 +0100 Subject: [PATCH 25/31] dotnet.yml --- .github/workflows/dotnet-core.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml index 1b4dd45a0..2cf7c9339 100644 --- a/.github/workflows/dotnet-core.yml +++ b/.github/workflows/dotnet-core.yml @@ -17,7 +17,7 @@ jobs: # Turn off fail-fast to let all runners run even if there are errors fail-fast: true matrix: - os: [ ubuntu-latest, windows-latest, macos-latest ] + os: [ ubuntu-latest ] timeout-minutes: 10 steps: @@ -40,7 +40,7 @@ jobs: - name: Test run: | - sed -i 's/"stopOnFail": false/"stopOnFail": true/g' UnitTests/xunit.runner.json + #sed -i 's/"stopOnFail": false/"stopOnFail": true/g' UnitTests/xunit.runner.json dotnet test --no-restore --verbosity normal #--collect:"XPlat Code Coverage" --settings UnitTests/coverlet.runsettings #mv -v UnitTests/TestResults/*/*.* UnitTests/TestResults/ From 6af1bd66d23fb6ff9fdf1673f9fecd939bb3acc7 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 16:34:39 +0100 Subject: [PATCH 26/31] dotnet.yml --- .github/workflows/publish.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0f1bc9b8a..6d5fac6b6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,6 +18,12 @@ jobs: with: fetch-depth: 0 # fetch-depth is needed for GitVersion + - name: Setup .NET Core + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.x + dotnet-quality: 'ga' + - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: @@ -30,12 +36,6 @@ jobs: updateAssemblyInfo: true id: gitversion # step id used as reference for output values - - name: Setup dotnet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 8.0 - dotnet-quality: 'ga' - - name: Install dependencies run: dotnet restore From 70eed39760870581f78b586aa92afc87108c7646 Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 16:39:56 +0100 Subject: [PATCH 27/31] merged2 --- GitVersion.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GitVersion.yml b/GitVersion.yml index 285ade168..5c97c6a86 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -32,7 +32,7 @@ branches: # Matches the v1_release branch regex: ^v1_release$ # Uses 'prealpha' as pre-release label before official release - label: 1.0.0-prealpha.1 + label: '' # Increments patch version (x.y.z+1) on commits increment: Patch # Specifies v1_develop as the source branch From c56fe4bbe65a711d37b3ac1660489c013357c4cc Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 20:29:40 +0100 Subject: [PATCH 28/31] gitversion.xml tweak --- GitVersion.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GitVersion.yml b/GitVersion.yml index 5c97c6a86..e0225b3b7 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -32,7 +32,7 @@ branches: # Matches the v1_release branch regex: ^v1_release$ # Uses 'prealpha' as pre-release label before official release - label: '' + label: # Increments patch version (x.y.z+1) on commits increment: Patch # Specifies v1_develop as the source branch From ce4918fc5b22d7e2b3ef7968358f0d1a2f96b5de Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 20:31:07 +0100 Subject: [PATCH 29/31] gitversion.xml tweak 2 --- GitVersion.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/GitVersion.yml b/GitVersion.yml index e0225b3b7..bbaf0f274 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -31,8 +31,6 @@ branches: main: # Matches the v1_release branch regex: ^v1_release$ - # Uses 'prealpha' as pre-release label before official release - label: # Increments patch version (x.y.z+1) on commits increment: Patch # Specifies v1_develop as the source branch From 48b940a27f1941199de5036ea946bb3a1d83bb5b Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 16 Mar 2025 20:40:08 +0100 Subject: [PATCH 30/31] trying again --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6d5fac6b6..0ea9fea9f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,4 +1,4 @@ -name: Publish Terminal.Gui +name: Publish Terminal.Gui v1 on: push: From b3e7690f8ee0f22d89f53e16711190b374d00651 Mon Sep 17 00:00:00 2001 From: BDisp Date: Thu, 24 Apr 2025 12:54:33 +0100 Subject: [PATCH 31/31] Fixes #4034. v1.18 Doesn't clean the console on Exit (regression) (#4036) * Revert "Fixes #3752. Tracking Windows Terminal Preview Issue - App size is corrupted" This reverts commit 486f129c8a9e70237615ad985dd971d5d709d841. * Fix console restore on non-Windows Terminal * Remove unsupported net7.0 * Fix Package 'SixLabors.ImageSharp' 3.1.5 has a known high severity vulnerability, https://github.com/advisories/GHSA-2cmq-823j-5qj8 * Fix punctuation at the end of the messages doesn't match up. The expected trailing punctuation sequence is: ... * Fix referenced assembly 'UICatalog, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have a strong name. * Fix naming rule violation --- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 247 +++++++++---------- Terminal.Gui/Resources/Strings.ja-JP.resx | 2 +- Terminal.Gui/Resources/Strings.pt-PT.resx | 2 +- Terminal.Gui/Terminal.Gui.csproj | 2 +- UICatalog/UICatalog.csproj | 6 +- UICatalog/UICatalog.snk | Bin 0 -> 596 bytes 6 files changed, 128 insertions(+), 131 deletions(-) create mode 100644 UICatalog/UICatalog.snk diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 0abcc6024..9a9deccee 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -18,6 +18,7 @@ namespace Terminal.Gui { public const int STD_ERROR_HANDLE = -12; internal IntPtr InputHandle, OutputHandle; + IntPtr screenBuffer; readonly uint originalConsoleMode; CursorVisibility? initialCursorVisibility = null; CursorVisibility? currentCursorVisibility = null; @@ -39,47 +40,47 @@ namespace Terminal.Gui { public bool WriteToConsole (Size size, CharInfo [] charInfoBuffer, Coord coords, SmallRect window) { - //if (OutputHandle == IntPtr.Zero) { - // ReadFromConsoleOutput (size, coords, ref window); - //} + if (!IsWindowsTerminal && screenBuffer == IntPtr.Zero) { + ReadFromConsoleOutput (size, coords, ref window); + } - return WriteConsoleOutput (OutputHandle, charInfoBuffer, coords, new Coord () { X = window.Left, Y = window.Top }, ref window); + if (!initialCursorVisibility.HasValue && GetCursorVisibility (out CursorVisibility visibility)) { + initialCursorVisibility = visibility; + } + + return WriteConsoleOutput (IsWindowsTerminal ? OutputHandle : screenBuffer, charInfoBuffer, coords, new Coord () { X = window.Left, Y = window.Top }, ref window); } - //public void ReadFromConsoleOutput (Size size, Coord coords, ref SmallRect window) - //{ - // OutputHandle = CreateConsoleScreenBuffer ( - // DesiredAccess.GenericRead | DesiredAccess.GenericWrite, - // ShareMode.FileShareRead | ShareMode.FileShareWrite, - // IntPtr.Zero, - // 1, - // IntPtr.Zero - // ); - // if (ScreenBuffer == INVALID_HANDLE_VALUE) { - // var err = Marshal.GetLastWin32Error (); + public void ReadFromConsoleOutput (Size size, Coord coords, ref SmallRect window) + { + screenBuffer = CreateConsoleScreenBuffer ( + DesiredAccess.GenericRead | DesiredAccess.GenericWrite, + ShareMode.FileShareRead | ShareMode.FileShareWrite, + IntPtr.Zero, + 1, + IntPtr.Zero + ); + if (screenBuffer == INVALID_HANDLE_VALUE) { + var err = Marshal.GetLastWin32Error (); - // if (err != 0) - // throw new System.ComponentModel.Win32Exception (err); - // } + if (err != 0) + throw new System.ComponentModel.Win32Exception (err); + } - // if (!initialCursorVisibility.HasValue && GetCursorVisibility (out CursorVisibility visibility)) { - // initialCursorVisibility = visibility; - // } + if (!SetConsoleActiveScreenBuffer (screenBuffer)) { + throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + } - // if (!SetConsoleActiveScreenBuffer (ScreenBuffer)) { - // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - // } + OriginalStdOutChars = new CharInfo [size.Height * size.Width]; - // OriginalStdOutChars = new CharInfo [size.Height * size.Width]; - - // if (!ReadConsoleOutput (ScreenBuffer, OriginalStdOutChars, coords, new Coord () { X = 0, Y = 0 }, ref window)) { - // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - // } - //} + if (!ReadConsoleOutput (screenBuffer, OriginalStdOutChars, coords, new Coord () { X = 0, Y = 0 }, ref window)) { + throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + } + } public bool SetCursorPosition (Coord position) { - return SetConsoleCursorPosition (OutputHandle, position); + return SetConsoleCursorPosition (IsWindowsTerminal ? OutputHandle : screenBuffer, position); } public void SetInitialCursorVisibility () @@ -91,11 +92,11 @@ namespace Terminal.Gui { public bool GetCursorVisibility (out CursorVisibility visibility) { - if (OutputHandle == IntPtr.Zero) { + if ((IsWindowsTerminal ? OutputHandle : screenBuffer) == IntPtr.Zero) { visibility = CursorVisibility.Invisible; return false; } - if (!GetConsoleCursorInfo (OutputHandle, out ConsoleCursorInfo info)) { + if (!GetConsoleCursorInfo (IsWindowsTerminal ? OutputHandle : screenBuffer, out ConsoleCursorInfo info)) { var err = Marshal.GetLastWin32Error (); if (err != 0) { throw new System.ComponentModel.Win32Exception (err); @@ -148,7 +149,7 @@ namespace Terminal.Gui { bVisible = ((uint)visibility & 0xFF00) != 0 }; - if (!SetConsoleCursorInfo (OutputHandle, ref info)) + if (!SetConsoleCursorInfo (IsWindowsTerminal ? OutputHandle : screenBuffer, ref info)) return false; currentCursorVisibility = visibility; @@ -164,28 +165,28 @@ namespace Terminal.Gui { } ConsoleMode = originalConsoleMode; - //if (!SetConsoleActiveScreenBuffer (OutputHandle)) { - // var err = Marshal.GetLastWin32Error (); - // Console.WriteLine ("Error: {0}", err); - //} + if (!SetConsoleActiveScreenBuffer (OutputHandle)) { + var err = Marshal.GetLastWin32Error (); + Console.WriteLine ("Error: {0}", err); + } - //if (ScreenBuffer != IntPtr.Zero) { - // CloseHandle (ScreenBuffer); - //} + if (screenBuffer != IntPtr.Zero) { + CloseHandle (screenBuffer); + } - //ScreenBuffer = IntPtr.Zero; + screenBuffer = IntPtr.Zero; } internal Size GetConsoleBufferWindow (out Point position) { - if (OutputHandle == IntPtr.Zero) { + if ((IsWindowsTerminal ? OutputHandle : screenBuffer) == IntPtr.Zero) { position = Point.Empty; return Size.Empty; } var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); csbi.cbSize = (uint)Marshal.SizeOf (csbi); - if (!GetConsoleScreenBufferInfoEx (OutputHandle, ref csbi)) { + if (!GetConsoleScreenBufferInfoEx ((IsWindowsTerminal ? OutputHandle : screenBuffer), ref csbi)) { //throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); position = Point.Empty; return Size.Empty; @@ -211,68 +212,70 @@ namespace Terminal.Gui { return sz; } - //internal Size SetConsoleWindow (short cols, short rows) - //{ - // var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); - // csbi.cbSize = (uint)Marshal.SizeOf (csbi); + internal Size SetConsoleWindow (short cols, short rows) + { + var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); + csbi.cbSize = (uint)Marshal.SizeOf (csbi); - // if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - // } - // var maxWinSize = GetLargestConsoleWindowSize (ScreenBuffer); - // var newCols = Math.Min (cols, maxWinSize.X); - // var newRows = Math.Min (rows, maxWinSize.Y); - // csbi.dwSize = new Coord (newCols, Math.Max (newRows, (short)1)); - // csbi.srWindow = new SmallRect (0, 0, newCols, newRows); - // csbi.dwMaximumWindowSize = new Coord (newCols, newRows); - // if (!SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - // } - // var winRect = new SmallRect (0, 0, (short)(newCols - 1), (short)Math.Max (newRows - 1, 0)); - // if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { - // //throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - // return new Size (cols, rows); - // } - // SetConsoleOutputWindow (csbi); - // return new Size (winRect.Right + 1, newRows - 1 < 0 ? 0 : winRect.Bottom + 1); - //} + if (!GetConsoleScreenBufferInfoEx (IsWindowsTerminal ? OutputHandle : screenBuffer, ref csbi)) { + throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + } + var maxWinSize = GetLargestConsoleWindowSize (IsWindowsTerminal ? OutputHandle : screenBuffer); + var newCols = Math.Min (cols, maxWinSize.X); + var newRows = Math.Min (rows, maxWinSize.Y); + csbi.dwSize = new Coord (newCols, Math.Max (newRows, (short)1)); + csbi.srWindow = new SmallRect (0, 0, newCols, newRows); + csbi.dwMaximumWindowSize = new Coord (newCols, newRows); + if (!SetConsoleScreenBufferInfoEx (IsWindowsTerminal ? OutputHandle : screenBuffer, ref csbi)) { + throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + } + var winRect = new SmallRect (0, 0, (short)(newCols - 1), (short)Math.Max (newRows - 1, 0)); + if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { + //throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + return new Size (cols, rows); + } + SetConsoleOutputWindow (csbi); + return new Size (winRect.Right + 1, newRows - 1 < 0 ? 0 : winRect.Bottom + 1); + } - //void SetConsoleOutputWindow (CONSOLE_SCREEN_BUFFER_INFOEX csbi) - //{ - // if (ScreenBuffer != IntPtr.Zero && !SetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - // } - //} + void SetConsoleOutputWindow (CONSOLE_SCREEN_BUFFER_INFOEX csbi) + { + if ((IsWindowsTerminal ? OutputHandle : screenBuffer) != IntPtr.Zero && !SetConsoleScreenBufferInfoEx (IsWindowsTerminal ? OutputHandle : screenBuffer, ref csbi)) { + throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + } + } - //internal Size SetConsoleOutputWindow (out Point position) - //{ - // if (ScreenBuffer == IntPtr.Zero) { - // position = Point.Empty; - // return Size.Empty; - // } + internal Size SetConsoleOutputWindow (out Point position) + { + if ((IsWindowsTerminal ? OutputHandle : screenBuffer) == IntPtr.Zero) { + position = Point.Empty; + return Size.Empty; + } - // var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); - // csbi.cbSize = (uint)Marshal.SizeOf (csbi); - // if (!GetConsoleScreenBufferInfoEx (ScreenBuffer, ref csbi)) { - // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - // } - // var sz = new Size (csbi.srWindow.Right - csbi.srWindow.Left + 1, - // Math.Max (csbi.srWindow.Bottom - csbi.srWindow.Top + 1, 0)); - // position = new Point (csbi.srWindow.Left, csbi.srWindow.Top); - // SetConsoleOutputWindow (csbi); - // var winRect = new SmallRect (0, 0, (short)(sz.Width - 1), (short)Math.Max (sz.Height - 1, 0)); - // if (!SetConsoleScreenBufferInfoEx (OutputHandle, ref csbi)) { - // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - // } - // if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { - // throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); - // } + var csbi = new CONSOLE_SCREEN_BUFFER_INFOEX (); + csbi.cbSize = (uint)Marshal.SizeOf (csbi); + if (!GetConsoleScreenBufferInfoEx (IsWindowsTerminal ? OutputHandle : screenBuffer, ref csbi)) { + throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + } + var sz = new Size (csbi.srWindow.Right - csbi.srWindow.Left + 1, + Math.Max (csbi.srWindow.Bottom - csbi.srWindow.Top + 1, 0)); + position = new Point (csbi.srWindow.Left, csbi.srWindow.Top); + SetConsoleOutputWindow (csbi); + var winRect = new SmallRect (0, 0, (short)(sz.Width - 1), (short)Math.Max (sz.Height - 1, 0)); + if (!SetConsoleScreenBufferInfoEx (OutputHandle, ref csbi)) { + throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + } + if (!SetConsoleWindowInfo (OutputHandle, true, ref winRect)) { + throw new System.ComponentModel.Win32Exception (Marshal.GetLastWin32Error ()); + } - // return sz; - //} + return sz; + } //bool ContinueListeningForConsoleEvents = true; + internal bool IsWindowsTerminal { get; set; } + public uint ConsoleMode { get { GetConsoleMode (InputHandle, out uint v); @@ -733,7 +736,7 @@ namespace Terminal.Gui { WinConsole = new WindowsConsole (); clipboard = new WindowsClipboard (); - isWindowsTerminal = Environment.GetEnvironmentVariable ("WT_SESSION") != null || Environment.GetEnvironmentVariable ("VSAPPIDNAME") != null; + WinConsole.IsWindowsTerminal = isWindowsTerminal = Environment.GetEnvironmentVariable ("WT_SESSION") != null || Environment.GetEnvironmentVariable ("VSAPPIDNAME") != null; } public override void PrepareToRun (MainLoop mainLoop, Action keyHandler, Action keyDownHandler, Action keyUpHandler, Action mouseHandler) @@ -747,28 +750,28 @@ namespace Terminal.Gui { mLoop.ProcessInput = (e) => ProcessInput (e); - //mLoop.WinChanged = (e) => { - // ChangeWin (e); - //}; + mLoop.WinChanged = (e) => { + ChangeWin (e); + }; } - //private void ChangeWin (Size e) - //{ - // var w = e.Width; - // if (w == cols - 3 && e.Height < rows) { - // w += 3; - // } - // var newSize = WinConsole.SetConsoleWindow ( - // (short)Math.Max (w, 16), (short)Math.Max (e.Height, 0)); + private void ChangeWin (Size e) + { + var w = e.Width; + if (w == cols - 3 && e.Height < rows) { + w += 3; + } + var newSize = WinConsole.SetConsoleWindow ( + (short)Math.Max (w, 16), (short)Math.Max (e.Height, 0)); - // left = 0; - // top = 0; - // cols = newSize.Width; - // rows = newSize.Height; - // ResizeScreen (); - // UpdateOffScreen (); - // TerminalResized.Invoke (); - //} + left = 0; + top = 0; + cols = newSize.Width; + rows = newSize.Height; + ResizeScreen (); + UpdateOffScreen (); + TerminalResized.Invoke (); + } void ProcessInput (WindowsConsole.InputRecord inputEvent) { @@ -892,14 +895,6 @@ namespace Terminal.Gui { case WindowsConsole.EventType.Focus: keyModifiers = null; break; - - case WindowsConsole.EventType.WindowBufferSize: - cols = inputEvent.WindowBufferSizeEvent.size.X; - rows = inputEvent.WindowBufferSizeEvent.size.Y; - - ResizeScreen (); - TerminalResized.Invoke (); - break; } } diff --git a/Terminal.Gui/Resources/Strings.ja-JP.resx b/Terminal.Gui/Resources/Strings.ja-JP.resx index 68b15dda8..06e33fab4 100644 --- a/Terminal.Gui/Resources/Strings.ja-JP.resx +++ b/Terminal.Gui/Resources/Strings.ja-JP.resx @@ -166,6 +166,6 @@ 終える - 次に + 次に... \ No newline at end of file diff --git a/Terminal.Gui/Resources/Strings.pt-PT.resx b/Terminal.Gui/Resources/Strings.pt-PT.resx index a8385c556..3a8519a6c 100644 --- a/Terminal.Gui/Resources/Strings.pt-PT.resx +++ b/Terminal.Gui/Resources/Strings.pt-PT.resx @@ -166,6 +166,6 @@ Acabam_ento - S_eguir + S_eguir... \ No newline at end of file diff --git a/Terminal.Gui/Terminal.Gui.csproj b/Terminal.Gui/Terminal.Gui.csproj index bd919e2aa..3dc102d81 100644 --- a/Terminal.Gui/Terminal.Gui.csproj +++ b/Terminal.Gui/Terminal.Gui.csproj @@ -20,7 +20,7 @@ portable - net472;netstandard2.0;netstandard2.1;net6.0;net7.0;net8.0 + net472;netstandard2.0;netstandard2.1;net6.0;net8.0 Terminal.Gui Terminal.Gui true diff --git a/UICatalog/UICatalog.csproj b/UICatalog/UICatalog.csproj index a05ebdf02..f6eec91b9 100644 --- a/UICatalog/UICatalog.csproj +++ b/UICatalog/UICatalog.csproj @@ -1,4 +1,4 @@ - + Exe net8.0 @@ -9,6 +9,8 @@ 1.0.0.0 1.0.0 + True + UICatalog.snk TRACE @@ -21,7 +23,7 @@ - + diff --git a/UICatalog/UICatalog.snk b/UICatalog/UICatalog.snk new file mode 100644 index 0000000000000000000000000000000000000000..a6fc18ff3e6b6afb8202881f3d2d1565ca265baf GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50096Aq4tYN_1e?nhUIY{pWuo$75QNEQW z)SqTGhs}r_O%G957G)#JW(08c^S*f^s~_&YP>P|85-p|SHUVAMVbwlP zdoDhW5rdIww-@jOY}3|Zo0(BH03}&qs$o4%4RK9doz*90J<=cj=ta)@XtJ-P{l|4X&xtPyu@UcS0R=<}m9YzJ9CvP>6VH(o1v#(=F7v?jTo*zB literal 0 HcmV?d00001