self.defaultCfg = {}
self.userCfg = {}
self.cfg = {} # TODO use to select userCfg vs defaultCfg
+
+ # See https://bugs.python.org/issue4630#msg356516 for following.
# self.blink_off_time = <first editor text>['insertofftime']
- # See https://bugs.python.org/issue4630#msg356516.
if not _utest:
self.CreateConfigHandlers()
"Your Python may not be configured for Tk. **", file=sys.__stderr__)
raise SystemExit(1)
-# Valid arguments for the ...Awareness call below are defined in the following.
-# https://msdn.microsoft.com/en-us/library/windows/desktop/dn280512(v=vs.85).aspx
if sys.platform == 'win32':
- try:
- import ctypes
- PROCESS_SYSTEM_DPI_AWARE = 1 # Int required.
- ctypes.OleDLL('shcore').SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE)
- except (ImportError, AttributeError, OSError):
- pass
+ from idlelib.util import fix_win_hidpi
+ fix_win_hidpi()
from tkinter import messagebox
* std streams (pyshell, run),
* warning stuff (pyshell, run).
"""
+import sys
# .pyw is for Windows; .pyi is for typing stub files.
# The extension order is needed for iomenu open/save dialogs.
py_extensions = ('.py', '.pyw', '.pyi')
+
+# Fix for HiDPI screens on Windows. CALL BEFORE ANY TK OPERATIONS!
+# URL for arguments for the ...Awareness call below.
+# https://msdn.microsoft.com/en-us/library/windows/desktop/dn280512(v=vs.85).aspx
+if sys.platform == 'win32': # pragma: no cover
+ def fix_win_hidpi(): # Called in pyshell and turtledemo.
+ try:
+ import ctypes
+ PROCESS_SYSTEM_DPI_AWARE = 1 # Int required.
+ ctypes.OleDLL('shcore').SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE)
+ except (ImportError, AttributeError, OSError):
+ pass
+
+
if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_util', verbosity=2)
from idlelib.colorizer import ColorDelegator, color_config
from idlelib.percolator import Percolator
from idlelib.textview import view_text
+import turtle
from turtledemo import __doc__ as about_turtledemo
-import turtle
+if sys.platform == 'win32':
+ from idlelib.util import fix_win_hidpi
+ fix_win_hidpi()
demo_dir = os.path.dirname(os.path.abspath(__file__))
darwin = sys.platform == 'darwin'
-
STARTUP = 1
READY = 2
RUNNING = 3
--- /dev/null
+Fix high DPI causes turtledemo(turtle-graphics examples) windows blurry\r
+Patch by Wulian233 and Terry Jan Reedy\r
+\r