From 24f634b26cba6f76ad8bdffc0c97afef591e7e04 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 29 May 2026 15:03:30 +0200 Subject: [PATCH] Fix simulation banner showing on startup on some systems Root cause: grid() + grid_remove() during init can flash visible on slow systems before the event loop processes the remove. Fix: don't place the banner in the grid at all initially. Store the row index and only call grid(row=...) explicitly when the checkbox is activated. Co-Authored-By: Claude Sonnet 4.6 --- website_scraper.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/website_scraper.py b/website_scraper.py index 37a8a83..2283cf0 100644 --- a/website_scraper.py +++ b/website_scraper.py @@ -26,7 +26,7 @@ # ─── Konstanten ────────────────────────────────────────────────────────────── APP_NAME = "website_scraper" -APP_VERSION = "1.0.3" +APP_VERSION = "1.0.4" SETTINGS_FILE = Path.home() / f".{APP_NAME}_settings.json" GITHUB_REPO = "oliverba81/website-scraper" @@ -2078,9 +2078,9 @@ def _build_ui(self): font=ctk.CTkFont(size=12, weight="bold"), anchor="w", ) - self._sim_banner.grid(row=r, column=0, columnspan=3, - sticky="ew", pady=(0, 8)) - self._sim_banner.grid_remove() + # Nicht initial ins Grid – erst bei Aktivierung einsetzen, + # da grid()+grid_remove() auf manchen Systemen kurz sichtbar bleibt + self._sim_banner_row = r r += 1 # URL @@ -2221,7 +2221,10 @@ def _build_ui(self): def _sim_changed(self): if self._sim_var.get(): - self._sim_banner.grid() + self._sim_banner.grid( + row=self._sim_banner_row, column=0, columnspan=3, + sticky="ew", pady=(0, 8), + ) else: self._sim_banner.grid_remove() @@ -2363,7 +2366,6 @@ def _load_session(self): self._out_var.set(s.get(f"last_output_{mode}", "")) # Simulationsmodus immer deaktiviert starten (nie persistieren) self._sim_var.set(False) - self._sim_banner.grid_remove() def _save_session(self): s = load_settings()