[issue32611] Tkinter taskbar icon (Windows)

Terry J. Reedy report at bugs.python.org
Sun Jan 28 16:09:42 EST 2018


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

Looking at the animated .gif, Jim's problem has nothing to do with IDLE in particular, and is as least partly specific to his system, as I do not have the same problem on my system.  (That does not mean that improvements are not possible, so that reboots are not needed after updates.)

If one runs a file with python.exe that does not exit immediately, the taskbar icon is the 'Python Console icon, a dark console with blue title bar and text and the Python double snake overlaid.  If on runs a file with pythonw.exe (no console) that does not exit immediately, the taskbar icon should be the 'Python GUI' icon, a spiral-bound notebook page with folded upper right corner and the Python double snake overlaid.  The expected use case is a GUI program, such as a tkinter program, that runs an event loop until closed.  IDLE is just the prime example of such. Another example is the test program for this issue.

import tkinter as tk
r = tk.Tk()
r.mainloop()

When I name this file tem.py or tem.pyw and double-click, I get the respective Python icons.

Jim, the 'blank' icon you see when you double-click *.pyw is a white sheet of paper with the upper right corner folded.  It is the first one shown when the builtin icons are displayed.  It is used when Windows cannot find the proper icon for an application (or perhaps also when there is None).

Some while ago, after an update, my pinned Skype icon visually changed from the blue blob with white S to this default.  Yesterday, I right-clicked the folded page icon, right-clicked 'Skype, selected Properties, and then [Change Icon] on the Shortcut tab.

An error box popped up with a message similar to "%SystemRoot%\Installer\{3B7E914A-93D5-4A29-92BB-AF8C3F66C431}\SkypeIcon.exe cannot be found". My guess is that an update changed the uuid without updating the pinned icon, so the default folded page is the substitute.  When I clicked 'OK', the Change Icon dialog appeared.  When I browsed to the Skype directory, I did not find an icon file, so I clicked on Skype.exe instead, and that worked, and I again have the Skype icon on my taskbar.

Jim, I suggest you try the same, except navigate to 3.6 pythonw.exe.  Running 'import sys; sys.executable' shows the location.  If pythonw.exe has the proper icon, I expect that this should work.

----------
type: enhancement -> behavior
versions: +Python 3.6 -Python 3.8

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


More information about the Python-bugs-list mailing list