The placement of Tk windows is dependent on the version of Tk and platform window manager. The Aqua Tk version on Mac OS X run as a separate GUI application process and so, as is customary, the focus and window stacking does not change when it is launched. The platform-independent way to ensure the newly-created Tk window is on top is to set the "topmost" attribute on the root window:
tk = _tkinter.create(os.environ['DISPLAY'], 'wish', 'Tk', 1)
tk.call('update')
tk.call('wm', 'attributes', '.', '-topmost', '1')
...
http://www.tcl.tk/man/tcl8.5/TkCmd/wm.htm#M10
I suppose we could add something like that to IDLE on OS X when it creates its initial shell window. |