You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
IDLE: completions toplevel blank on Tk Aqua 8.7 #104499
Using wm geometry to move an overrideredirect toplevel far enough offscreen triggers a strange bug in recent Tk Aqua 8.7 (assuming it isn’t actually a macOS bug) which leaves the toplevel completely blank. I have reported it upstream: https://core.tcl-lang.org/tk/tktview/132dd3d350
However, I would like to see if IDLE can make a simple change to avoid the issue, in case Tk Aqua does not address it soon. Moving a toplevel far offscreen to hide it while configuring its contents seems improper, as opposed to something like withdrawing it. Hiding the toplevel to avoid visual artifacts is probably no longer necessary, except maybe on something sufficiently slow like X11 forwarding. IDLE also does not make a similar effort to temporarily hide the toplevel for calltips.
So I would suggest making this wm_geometry() call only when acw._windowingsystem == 'x11' or at least acw._windowingsystem != 'aqua'.
I always thought moving offscreen instead of withdrawing, as done elsewhere while setting geometry, was a bit weird, but changing was not a priority before now. I think I would use query.py as an example.
I am a little surprised that there is no withdraw for calltips. It might have been dropped when we redid tooltip and based calltip on tooltip. So I might review the need for withdrawal by checking performance on my 2012 MacBook Air. However, in some cases, tests skip deiconify so as to minimize visual flutter.
Making windows deiconified for tests seems needed when simulating keypresses and mouse actions. I have wondered whether the latter would still work if the test window were put off screen.
Activity
terryjreedy commentedon May 15, 2023
I always thought moving offscreen instead of withdrawing, as done elsewhere while setting geometry, was a bit weird, but changing was not a priority before now. I think I would use query.py as an example.
pythongh-104499: IDLE - fix completions for tk aqua 8.7
gh-104499: IDLE - fix completions for tk aqua 8.7 (#104591)
pythongh-104499: IDLE - fix completions for tk aqua 8.7 (pythonGH-104591
pythongh-104499: IDLE - fix completions for tk aqua 8.7 (python#104591)
pythongh-104499: Fix typo.
[3.11] gh-104499: IDLE - fix completions for tk aqua 8.7 (GH-104591) (#…
gh-104499: Fix typo. (#104598)
pythongh-104499: Fix typo. (pythonGH-104598)
terryjreedy commentedon May 18, 2023
I am a little surprised that there is no withdraw for calltips. It might have been dropped when we redid tooltip and based calltip on tooltip. So I might review the need for withdrawal by checking performance on my 2012 MacBook Air. However, in some cases, tests skip deiconify so as to minimize visual flutter.
Making windows deiconified for tests seems needed when simulating keypresses and mouse actions. I have wondered whether the latter would still work if the test window were put off screen.
[3.11] gh-104499: Fix typo. (GH-104598) (#104599)