summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/PyShell.py
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2014-02-08 14:02:26 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2014-02-08 14:02:26 (GMT)
commita7c07d320b528dbc991f5ef2a8791026e784ea1f (patch)
tree9bc3b39f4f7308b10d5e5d31899c57920d78f469 /Lib/idlelib/PyShell.py
parent98585b6c0442b1f186129aa1cf5db27dde74f829 (diff)
downloadcpython-a7c07d320b528dbc991f5ef2a8791026e784ea1f.zip
cpython-a7c07d320b528dbc991f5ef2a8791026e784ea1f.tar.gz
cpython-a7c07d320b528dbc991f5ef2a8791026e784ea1f.tar.bz2
Issue #20406: Use Python application icons for Idle window title bars.
Patch mostly by Serhiy Storchaka.
Diffstat (limited to 'Lib/idlelib/PyShell.py')
-rwxr-xr-xLib/idlelib/PyShell.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 55fd357..2e5ebb2 100755
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -16,7 +16,7 @@ import io
import linecache
from code import InteractiveInterpreter
-from platform import python_version
+from platform import python_version, system
try:
from tkinter import *
@@ -1524,6 +1524,18 @@ def main():
# start editor and/or shell windows:
root = Tk(className="Idle")
+ # set application icon
+ icondir = os.path.join(os.path.dirname(__file__), 'Icons')
+ if system() == 'Windows':
+ iconfile = os.path.join(icondir, 'idle.ico')
+ root.wm_iconbitmap(default=iconfile)
+ elif TkVersion >= 8.5:
+ ext = '.png' if TkVersion >= 8.6 else '.gif'
+ iconfiles = [os.path.join(icondir, 'idle_%d%s' % (size, ext))
+ for size in (16, 32, 48)]
+ icons = [PhotoImage(file=iconfile) for iconfile in iconfiles]
+ root.wm_iconphoto(True, *icons)
+
fixwordbreaks(root)
root.withdraw()
flist = PyShellFileList(root)