GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — IDLE: completions toplevel blank on Tk Aqua 8.7 · Issue #104499 · python/cpython

IDLE: completions toplevel blank on Tk Aqua 8.7 #104499

New issue
Copy link
New issue
Copy link
Closed
Closed
IDLE: completions toplevel blank on Tk Aqua 8.7#104499
Copy link
Assignees
terryjreedy
Labels
topic-IDLE

Description

@chrstphrchvz
chrstphrchvz
opened on May 15, 2023
Issue body actions

cpython/Lib/idlelib/autocomplete_w.py

Lines 185 to 190 in 27d8ecd

# Put widgets in place
self.autocompletewindow = acw = Toplevel(self.widget)
# Put it in a position so that it is not seen.
acw.wm_geometry("+10000+10000")
# Make it float
acw.wm_overrideredirect(1)

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'.

Linked PRs

  • gh-104499: IDLE - fix completions for tk aqua 8.7 #104591
  • [3.11] gh-104499: IDLE - fix completions for tk aqua 8.7 (GH-104591) #104596
  • gh-104499: Fix typo. #104598
  • [3.11] gh-104499: Fix typo. (GH-104598) #104599

Activity

  1. terryjreedy
    added
    topic-IDLE
    on May 15, 2023
  2. terryjreedy
    added this to IDLE Issueson May 15, 2023
  3. terryjreedy commented on May 15, 2023

    @terryjreedy
    terryjreedy
    on May 15, 2023
    Member
    More actions

    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.

  4. terryjreedy
    self-assigned this
    on May 15, 2023
  5. terryjreedy
    added 2 commits that reference this issue on May 17, 2023

    pythongh-104499: IDLE - fix completions for tk aqua 8.7

    1f57426

    gh-104499: IDLE - fix completions for tk aqua 8.7 (#104591)

    678bf57
  6. miss-islington
    added a commit that references this issue on May 18, 2023

    pythongh-104499: IDLE - fix completions for tk aqua 8.7 (pythonGH-104591

    ff8ef9d
  7. JelleZijlstra
    added a commit that references this issue on May 18, 2023

    pythongh-104499: IDLE - fix completions for tk aqua 8.7 (python#104591)

    a5a7344
  8. terryjreedy
    added 3 commits that reference this issue on May 18, 2023

    pythongh-104499: Fix typo.

    987c304

    [3.11] gh-104499: IDLE - fix completions for tk aqua 8.7 (GH-104591) (#…

    e96fb39

    gh-104499: Fix typo. (#104598)

    c5b670e
  9. miss-islington
    added a commit that references this issue on May 18, 2023

    pythongh-104499: Fix typo. (pythonGH-104598)

    2e9481e
  10. terryjreedy commented on May 18, 2023

    @terryjreedy
    terryjreedy
    on May 18, 2023
    Member
    More actions

    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.

  11. terryjreedy
    added a commit that references this issue on May 18, 2023

    [3.11] gh-104499: Fix typo. (GH-104598) (#104599)

    99a162a
  12. terryjreedy
    closed this as completedon May 18, 2023
  13. github-project-automation
    moved this to Done in IDLE Issueson May 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

  • @terryjreedy
    terryjreedy

Labels

topic-IDLE

Projects

  • IDLE Issues
    Status
    Done
    Show more project fields

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.