From 531e1177314b5aa979448eb716b151c5c0972271 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Oct 2025 20:31:42 +0000 Subject: [PATCH 1/2] Initial plan From 41253442540e30cc47c824231f9615a9ee89928c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Oct 2025 20:40:36 +0000 Subject: [PATCH 2/2] Fix panel visibility issue when opening first connection Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com> --- mRemoteNG/Connection/ConnectionInitiator.cs | 3 ++- mRemoteNG/UI/Panels/PanelAdder.cs | 7 +++++-- mRemoteNG/UI/Window/ConnectionWindow.cs | 6 ++++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/mRemoteNG/Connection/ConnectionInitiator.cs b/mRemoteNG/Connection/ConnectionInitiator.cs index 7f8db0408..6aeca46bc 100644 --- a/mRemoteNG/Connection/ConnectionInitiator.cs +++ b/mRemoteNG/Connection/ConnectionInitiator.cs @@ -320,7 +320,8 @@ namespace mRemoteNG.Connection ConnectionWindow connectionForm = conForm ?? Runtime.WindowList.FromString(connectionPanel) as ConnectionWindow; if (connectionForm == null) - connectionForm = _panelAdder.AddPanel(connectionPanel); + // Don't show the panel immediately - it will be shown when first tab is added + connectionForm = _panelAdder.AddPanel(connectionPanel, showImmediately: false); else connectionForm.Show(FrmMain.Default.pnlDock); diff --git a/mRemoteNG/UI/Panels/PanelAdder.cs b/mRemoteNG/UI/Panels/PanelAdder.cs index 75d9afde7..728c989cb 100644 --- a/mRemoteNG/UI/Panels/PanelAdder.cs +++ b/mRemoteNG/UI/Panels/PanelAdder.cs @@ -15,14 +15,17 @@ namespace mRemoteNG.UI.Panels [SupportedOSPlatform("windows")] public class PanelAdder { - public ConnectionWindow AddPanel(string title = "") + public ConnectionWindow AddPanel(string title = "", bool showImmediately = true) { try { ConnectionWindow connectionForm = new(new DockContent()); BuildConnectionWindowContextMenu(connectionForm); SetConnectionWindowTitle(title, connectionForm); - ShowConnectionWindow(connectionForm); + // Only show immediately if requested (for user-created empty panels) + // When opening connections, we defer showing until first tab is added + if (showImmediately) + ShowConnectionWindow(connectionForm); PrepareTabSupport(connectionForm); return connectionForm; } diff --git a/mRemoteNG/UI/Window/ConnectionWindow.cs b/mRemoteNG/UI/Window/ConnectionWindow.cs index eb726aab1..99c798389 100644 --- a/mRemoteNG/UI/Window/ConnectionWindow.cs +++ b/mRemoteNG/UI/Window/ConnectionWindow.cs @@ -143,6 +143,12 @@ namespace mRemoteNG.UI.Window // TODO: See if we can make this work with DPS... //TabController.HideTabsMode = TabControl.HideTabsModes.HideAlways; + // Ensure the ConnectionWindow is visible before adding the tab + // This prevents visibility issues when the window was created but not yet shown + if (!Visible) + { + Show(FrmMain.Default.pnlDock, DockState.Document); + } //Show the tab conTab.Show(connDock, DockState.Document);