Skip to content Skip to sidebar Skip to footer

Change IDLE Shell Window Title

I'm using multiple instances (idle/shell) of python and they both have the same title ('Python 3.8.1 Shell'). How I can change it directly from python shell? Os Windows. I tried, b

Solution 1:

for python 3

import ctypes
ctypes.windll.kernel32.SetConsoleTitleW("My New Title")

For python 2:

import ctypes
ctypes.windll.kernel32.SetConsoleTitleA("My New Title")

Edit

Try this code:

>>> import sys
>>> sys.stdout.write("\x1b]2;test\x07")

Where in place of test, put your name you want

Edit 2 Added screenshot for confirmation I am also using Windows See Screenshot


Solution 2:

IDLE intentionally isolates its GUI, including Shell, from the running of your code. By default, they run in separate processes. If you start idle with 'python -m idlelib -n' so that GUI code and your code run in the same process, you might possibly break out of the within-process sandbox and change the window title. If you were to do so and said how, I might consider it a bug to be fixed.

What you can do from outside IDLE, is outside IDLE's control, and likely system dependent.

IDLE has a '-t title' startup option. python -m idlelib -t My-shell starts IDLE with a shell entitled "My-shell". To have a space in the title (and perhaps other chars, depending on the system), as with "My shell", quote it on the command line. On Windows, use double quotes, as I just did. I hope that this meets your need.

We could add 'Change title' to the Shell menu. But AFAIK you are the first to request this ability, and the IDLE charter is to keep it reasonably simple.


Post a Comment for "Change IDLE Shell Window Title"