[issue37039] IDLE: Improve zoomheight doc and behavior.

Terry J. Reedy report at bugs.python.org
Sat May 25 15:58:45 EDT 2019


Terry J. Reedy <tjreedy at udel.edu> added the comment:

I have a 27" 2560X1440 screen.  For me:
>>> import tkinter; tkinter.Tk().tk.call('tk', 'scaling')
1.333...

I presume 3200x200 should be 3200x2000 and that the diagonal size is small enough that the screen is a HiDPI screen, making tk's scaling above 1.4, so that run.fix_scaling() adjusts font sizes.

I am not sure what you mean by 'scaling at 100%/200%' other than tk scaling <, >= 1.4 or HiDPI no/yes, or how you changed the scaling.  I grepped idlelib for 'scaling' and only found references to the function and the tk call.

In any case, tcl/tk does not properly support HiDPI screens.  Serhiy Storchaka contributed fix_scaling to make IDLE readable on a HiDPI Linux laptop.  The 1.4 and .75 values are empirical.  With help from Windows experts, I added the SetProcessDpiAwareness call near the top of pyshell when a Windows user with a HiDPI screen reported a problem on idledev.  I believe that the call tells Windows that IDLE already makes a scaling adjustment, so it should not also do so.

zoomheight.zoom_height() restores by calling top.wm_geometry('').
https://www.tcl.tk/man/tcl8.6/TkCmd/wm.htm#M42 says
  "If newGeometry is specified as an empty string then any existing user-specified geometry for window is cancelled, and the window will revert to the size requested internally by its widgets."

This works for normal screens but somehow not for your HiDPI Windows screen.  Can you do the print experiment I suggested previously?

I will experiment to see how much '22' needs to be increased for Windows to accomodate the task bar.  What is really needed is to determine the size and orientation of the taskbar, or rather the remaining 'full-screen' height.

Serhiy, do you still have a HiDPI screen?  If so, does Options => Zoom/Restore Height work for you?  Do Linux desktop managers have bottom panels or taskbars that can cover part of a zoomed window?

Ignore any task bar over status bar issue.)

----------
nosy: +serhiy.storchaka
title: IDLE: Zoom Height Restore restores to default, not previous size -> IDLE: Improve zoomheight doc and behavior.

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue37039>
_______________________________________


More information about the Python-bugs-list mailing list