]> granicus.if.org Git - python/commitdiff
Issue #20406: Use Python application icons for Idle window title bars.
authorTerry Jan Reedy <tjreedy@udel.edu>
Sat, 8 Feb 2014 14:39:51 +0000 (09:39 -0500)
committerTerry Jan Reedy <tjreedy@udel.edu>
Sat, 8 Feb 2014 14:39:51 +0000 (09:39 -0500)
Patch mostly by Serhiy Storchaka.

Lib/idlelib/Icons/idle.ico [new file with mode: 0644]
Lib/idlelib/Icons/idle_16.gif [new file with mode: 0644]
Lib/idlelib/Icons/idle_16.png [new file with mode: 0644]
Lib/idlelib/Icons/idle_32.gif [new file with mode: 0644]
Lib/idlelib/Icons/idle_32.png [new file with mode: 0644]
Lib/idlelib/Icons/idle_48.gif [new file with mode: 0644]
Lib/idlelib/Icons/idle_48.png [new file with mode: 0644]
Lib/idlelib/PyShell.py
Misc/NEWS

diff --git a/Lib/idlelib/Icons/idle.ico b/Lib/idlelib/Icons/idle.ico
new file mode 100644 (file)
index 0000000..3357aef
Binary files /dev/null and b/Lib/idlelib/Icons/idle.ico differ
diff --git a/Lib/idlelib/Icons/idle_16.gif b/Lib/idlelib/Icons/idle_16.gif
new file mode 100644 (file)
index 0000000..9f001b1
Binary files /dev/null and b/Lib/idlelib/Icons/idle_16.gif differ
diff --git a/Lib/idlelib/Icons/idle_16.png b/Lib/idlelib/Icons/idle_16.png
new file mode 100644 (file)
index 0000000..6abde0a
Binary files /dev/null and b/Lib/idlelib/Icons/idle_16.png differ
diff --git a/Lib/idlelib/Icons/idle_32.gif b/Lib/idlelib/Icons/idle_32.gif
new file mode 100644 (file)
index 0000000..af5b2d5
Binary files /dev/null and b/Lib/idlelib/Icons/idle_32.gif differ
diff --git a/Lib/idlelib/Icons/idle_32.png b/Lib/idlelib/Icons/idle_32.png
new file mode 100644 (file)
index 0000000..41b70db
Binary files /dev/null and b/Lib/idlelib/Icons/idle_32.png differ
diff --git a/Lib/idlelib/Icons/idle_48.gif b/Lib/idlelib/Icons/idle_48.gif
new file mode 100644 (file)
index 0000000..fc5304f
Binary files /dev/null and b/Lib/idlelib/Icons/idle_48.gif differ
diff --git a/Lib/idlelib/Icons/idle_48.png b/Lib/idlelib/Icons/idle_48.png
new file mode 100644 (file)
index 0000000..e5fa928
Binary files /dev/null and b/Lib/idlelib/Icons/idle_48.png differ
index dc3cfe6120b6822e971bbf11c4deb9f6dc971659..a424751f1c04e9948f9527fe08262c09b19e4f50 100755 (executable)
@@ -15,7 +15,7 @@ import io
 
 import linecache
 from code import InteractiveInterpreter
-from platform import python_version
+from platform import python_version, system
 
 try:
     from Tkinter import *
@@ -1536,6 +1536,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.tk.call('wm', 'iconphoto', str(root), "-default", *icons)
+
     fixwordbreaks(root)
     root.withdraw()
     flist = PyShellFileList(root)
index 9479ded78ae8019a312e7edd9b637ad6be0b786b..5bf0af121b9f04d30141f5a58e880cbe1b3de38c 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -211,6 +211,9 @@ Tools/Demos
 IDLE
 ----
 
+- Issue #20406: Use Python application icons for Idle window title bars.
+  Patch mostly by Serhiy Storchaka.
+
 - Issue #17721: Remove non-functional configuration dialog help button until we
   make it actually gives some help when clicked. Patch by Guilherme Simões.