This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Dialogs on IDLE are accompanied by a small black window
Type: Stage: resolved
Components: IDLE Versions: Python 3.7, Python 3.6, Python 2.7
process
Status: closed Resolution: duplicate
Dependencies: Superseder: tkinter windows turn black while resized using Tk 8.6.9.1 on macOS
View: 35485
Assigned To: terry.reedy Nosy List: ned.deily, taleinat, terry.reedy, vtudorache, wordtech
Priority: deferred blocker Keywords:

Created on 2018-12-03 13:59 by wordtech, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
Capture d’écran 2018-12-11 à 22.07.30.png vtudorache, 2018-12-11 21:11
Messages (8)
msg330945 - (view) Author: Kevin Walzer (wordtech) * Date: 2018-12-03 13:59
The "About IDLE" and "Preferences" dialogs on IDLE are accompanied by a small black window titled "idle" when IDLE is run agains the tip of Tk 8.6 on macOS 10.14. This is likely owing to the multiple changes in Tk to accommodate the Mac's API changes on Mojave. I suspect the dialog's [wm transient] implementation is part of the issue; the parent windows for the dialog are not hidden when run against the Tk tip, and thus they have this ugly display. Hopefully the fix is not too complicated.
msg330981 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-12-03 20:43
I just updated my Macbook to Mohave.  As implied, I do not see this on installed 3.7.1 with 8.6.8.  But this is a heads-up for future releases.  Someone with both a Mac Python development environment + tip 8.6 would have to look at this now.

When the packaged tcl/tk in the repository is updated, idlelib/idle_test/htest.py should be run (in addition to test/test_idle.py) to see if the new tcl/tk introduces any visual artifacts.  Htest passes 'htest=True' to ConfigDialog.__init__, but that only affects dialog placement.   Kevin, can you run htest on your system?

I don't understand "the dialog's [wm transient] implementation is part of the issue; the parent windows for the dialog are not hidden when run against the Tk tip,"  The transient call is 'self.transient(parent)' and the parent is the editor-based window, which is not blank and which should not be hidden.  If tk adds a new 3rd blank window, that seems like a tk bug to me.
msg331112 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2018-12-05 13:40
Vlad, perhaps you could take a look at this?

Note that Tcl/Tk 8.6.9 has recently been released (Nov 16th, 2018), which addresses several other issues pertaining to macOS Mojave.  Can someone check this on Mojave with Tk 8.6.9?
msg331650 - (view) Author: Vlad Tudorache (vtudorache) * Date: 2018-12-11 21:11
I confirm the issue. Screenshot attached.
msg331652 - (view) Author: Vlad Tudorache (vtudorache) * Date: 2018-12-11 21:41
At the line 102 in editor.py, I see:

self.top = top = window.ListedToplevel(root, menu=self.menubar)

Looking at window.py it seems that ListedToplevel builds a new Toplevel (the black one?) instead of adding an existing one (the editor) at the list, I'll check it again, maybe I didn't see right.

The second window does not appear for me when using pure Tcl and toplevel widget (from Wish, for exemple) on MacOS, I don't think it's a Tk problem.
msg331653 - (view) Author: Vlad Tudorache (vtudorache) * Date: 2018-12-11 21:52
No, I'm wrong, the editor window seems created by the ListedToplevel.
msg331670 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-12-12 03:01
Vlad, thank you.  The release candidates for 3.7.2 and 3.6.8 are due as soon as Ned can manage.  The Mac installers will come with the very recent tcl/tk 8.6.9(.1) releases.  Existing tkinter-related issues for Mac should be re-tested when available and installed.
msg332315 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2018-12-22 00:14
Using the current tip of Tk core-8-6-branch, I also now see the problem of the extra blank (not necessarily black) window appearing (also it looks like a blank window at least sometimes briefly appears and disappears when IDLE launches).  This problem hasn't been seen with the release tarballs for 8.6.8 or 8.6.9.1.  But there are other, serious problems seen with the current tip of Tk core-8-6-branch.  See the discussion in Issue35485 for more information and for followup discussion.  For the moment, I'm going to close this issue as a duplicate of Issue35485 so we don't have the discussion spread out over multiple issues.  If necessary, we can update and/or re-open this one.
History
Date User Action Args
2022-04-11 14:59:08adminsetgithub: 79568
2018-12-22 00:14:44ned.deilysetstatus: open -> closed
priority: normal -> deferred blocker

versions: + Python 2.7, Python 3.6
messages: + msg332315
superseder: tkinter windows turn black while resized using Tk 8.6.9.1 on macOS
resolution: duplicate
stage: resolved
2018-12-12 03:01:12terry.reedysettype: behavior ->
messages: + msg331670
2018-12-11 21:52:27vtudorachesetmessages: + msg331653
2018-12-11 21:41:18vtudorachesetmessages: + msg331652
2018-12-11 21:11:41vtudorachesetfiles: + Capture d’écran 2018-12-11 à 22.07.30.png
type: behavior
messages: + msg331650
2018-12-05 13:40:46taleinatsetnosy: + vtudorache
messages: + msg331112
2018-12-03 20:43:20terry.reedysetnosy: + taleinat, ned.deily
messages: + msg330981
2018-12-03 13:59:42wordtechcreate