diff --git a/src/ccma/ui/options_dialog.py b/src/ccma/ui/options_dialog.py index 5033ec9..3d8b682 100644 --- a/src/ccma/ui/options_dialog.py +++ b/src/ccma/ui/options_dialog.py @@ -86,7 +86,10 @@ class OptionsDialog(tk.Toplevel): self.mail_template_snippets: dict[str, str] = {} self.title("Optionen") self.transient(master.winfo_toplevel()) - self.grab_set() + # Tk refuses a grab on a window that is not on screen yet ("window not + # viewable"), and this dialog builds enough tabs to still be unmapped here -- + # so the grab waits for the window like it does in the other dialogs. + self.after_idle(self.grab_set) self.resizable(True, True) self._build_ui() self.bind("", lambda _event: self.destroy())