gh-88516: show file proxy icon in IDLE editor windows on macOS (#112894)

The platform standard on macOS is to show a proxy icon for open
files in the titlebar of Windows. Make sure IDLE matches this
behaviour.

Don't use both the long and short names in the window title.
The behaviour of other editors (such as Text Editor) is to show
only the short name with the proxy icon.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
This commit is contained in:
Ronald Oussoren 2024-02-23 03:15:39 +01:00 committed by GitHub
parent 4ee6bdfbaa
commit b48101864c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 1 deletions

View File

@ -1044,7 +1044,9 @@ class EditorWindow:
def saved_change_hook(self): def saved_change_hook(self):
short = self.short_title() short = self.short_title()
long = self.long_title() long = self.long_title()
if short and long: if short and long and not macosx.isCocoaTk():
# Don't use both values on macOS because
# that doesn't match platform conventions.
title = short + " - " + long + _py_version title = short + " - " + long + _py_version
elif short: elif short:
title = short title = short
@ -1059,6 +1061,13 @@ class EditorWindow:
self.top.wm_title(title) self.top.wm_title(title)
self.top.wm_iconname(icon) self.top.wm_iconname(icon)
if macosx.isCocoaTk():
# Add a proxy icon to the window title
self.top.wm_attributes("-titlepath", long)
# Maintain the modification status for the window
self.top.wm_attributes("-modified", not self.get_saved())
def get_saved(self): def get_saved(self):
return self.undo.get_saved() return self.undo.get_saved()

View File

@ -0,0 +1,2 @@
On macOS show a proxy icon in the title bar of editor windows to match
platform behaviour.