diff --git a/Lib/turtle.py b/Lib/turtle.py index ab7b6ba42a6..599f645fd0c 100644 --- a/Lib/turtle.py +++ b/Lib/turtle.py @@ -109,6 +109,7 @@ import types import math import time import inspect +import sys from os.path import isfile, split, join from copy import deepcopy @@ -992,6 +993,12 @@ class TurtleScreen(TurtleScreenBase): self._colormode = _CFG["colormode"] self._keys = [] self.clear() + if sys.platform == 'darwin': + # Force Turtle window to the front on OS X. This is needed because + # the Turtle window will show behind the Terminal window when you + # start the demo from the command line. + cv._rootwindow.call('wm', 'attributes', '.', '-topmost', '1') + cv._rootwindow.call('wm', 'attributes', '.', '-topmost', '0') def clear(self): """Delete all drawings and all turtles from the TurtleScreen. diff --git a/Misc/NEWS b/Misc/NEWS index 1b5ac6c497f..5edfb042a8d 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -168,6 +168,9 @@ Library - Issue #21311: Avoid exception in _osx_support with non-standard compiler configurations. Patch by John Szakmeister. +- Issue #11571: Ensure that the turtle window becomes the topmost window + when launched on OS X. + Extension Modules -----------------