diff --git a/pysollib/init.py b/pysollib/init.py index 52906f41..1fbaeccd 100644 --- a/pysollib/init.py +++ b/pysollib/init.py @@ -117,7 +117,7 @@ def init(): else: pysollib.settings.USE_TILE = True # "can't invoke event <>: application has been destroyed" - # root.destroy() + root.destroy() tkinter._default_root = None # check FreeCell-Solver diff --git a/pysollib/ui/tktile/menubar.py b/pysollib/ui/tktile/menubar.py index b51ed692..7f5a279f 100644 --- a/pysollib/ui/tktile/menubar.py +++ b/pysollib/ui/tktile/menubar.py @@ -646,10 +646,16 @@ class PysolMenubarTkCommon: if self.progress: self.progress.update(step=1) + # macOS: tk creates the menu item "Help->PySolFC Help", therefore + # we will not create a duplicate "Help->Contents" item. + # The tk-provided menu item expects this callback. + self.top.createcommand('tk::mac::ShowHelp', self.mHelp) + menu = MfxMenu(self.menubar, label=n_("&Help")) - menu.add_command( - label=n_("&Contents"), - command=self.mHelp, accelerator=m+"F1") + if WIN_SYSTEM != "aqua": + menu.add_command( + label=n_("&Contents"), + command=self.mHelp, accelerator=m+"F1") menu.add_command( label=n_("&How to play"), command=self.mHelpHowToPlay) diff --git a/pysollib/ui/tktile/tkutil.py b/pysollib/ui/tktile/tkutil.py index 4908881c..381bc61f 100644 --- a/pysollib/ui/tktile/tkutil.py +++ b/pysollib/ui/tktile/tkutil.py @@ -112,6 +112,7 @@ def make_help_toplevel(app, title=None): from pysollib.winsystems import init_root_window window = tkinter.Toplevel(class_=TITLE) init_root_window(window, app) + window.tkraise() return window