From 0af0b58cb3868836268a58d0f8f99324c1ef28b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=91=D0=BE=D0=B1?= =?UTF-8?q?=D1=8B=D1=80=D0=B5=D0=B2?= Date: Wed, 20 May 2026 23:23:11 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20double-click=20connection=20=E2=80=94=20?= =?UTF-8?q?don't=20rebuild=20cards=20on=20single=20click?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit _refresh_cards() destroyed widgets before double-click could fire. Co-Authored-By: Claude Opus 4.6 --- ssh_manager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ssh_manager.py b/ssh_manager.py index 077ec43..6f5b97e 100644 --- a/ssh_manager.py +++ b/ssh_manager.py @@ -1435,8 +1435,17 @@ class App(tk.Tk): w.configure(bg=bg) def _click(e): + old_idx = self._selected_card_idx self._selected_card_idx = index - self._refresh_cards() + # Visual update without destroying widgets + if old_idx != index: + card.configure(bg="#3b3b5c", highlightbackground=accent_color) + for w in card.winfo_children(): + if isinstance(w, (tk.Label, tk.Canvas)): + try: + w.configure(bg="#3b3b5c") + except tk.TclError: + pass def _double_click(e): self._connect_by_idx(index)