diff -r 180f5bf7d1b9 Lib/idlelib/AutoCompleteWindow.py --- a/Lib/idlelib/AutoCompleteWindow.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/AutoCompleteWindow.py Sat Sep 13 17:03:10 2014 +0300 @@ -169,7 +169,7 @@ self.lasttypedstart = self.start # Put widgets in place - self.autocompletewindow = acw = Toplevel(self.widget) + self.autocompletewindow = acw = Toplevel(self.widget, class_='Idle3') # Put it in a position so that it is not seen. acw.wm_geometry("+10000+10000") # Make it float diff -r 180f5bf7d1b9 Lib/idlelib/PyShell.py --- a/Lib/idlelib/PyShell.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/PyShell.py Sat Sep 13 17:03:10 2014 +0300 @@ -626,7 +626,7 @@ return item = RemoteObjectBrowser.StubObjectTreeItem(self.rpcclt, oid) from idlelib.TreeWidget import ScrolledCanvas, TreeNode - top = Toplevel(self.tkconsole.root) + top = Toplevel(self.tkconsole.root, class_='Idle3') theme = idleConf.GetOption('main','Theme','name') background = idleConf.GetHighlight(theme, 'normal')['background'] sc = ScrolledCanvas(top, bg=background, highlightthickness=0) @@ -1538,7 +1538,7 @@ enable_edit = enable_edit or edit_start enable_shell = enable_shell or not enable_edit # start editor and/or shell windows: - root = Tk(className="Idle") + root = Tk(className="Idle3") # set application icon icondir = os.path.join(os.path.dirname(__file__), 'Icons') diff -r 180f5bf7d1b9 Lib/idlelib/SearchDialogBase.py --- a/Lib/idlelib/SearchDialogBase.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/SearchDialogBase.py Sat Sep 13 17:03:10 2014 +0300 @@ -72,7 +72,7 @@ Other dialogs override subsidiary create_x methods as needed. Replace and Find-in-Files add another entry row. ''' - top = Toplevel(self.root) + top = Toplevel(self.root, class_='Idle3') top.bind("", self.default_command) top.bind("", self.close) top.protocol("WM_DELETE_WINDOW", self.close) diff -r 180f5bf7d1b9 Lib/idlelib/StackViewer.py --- a/Lib/idlelib/StackViewer.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/StackViewer.py Sat Sep 13 17:03:10 2014 +0300 @@ -11,7 +11,7 @@ def StackBrowser(root, flist=None, tb=None, top=None): if top is None: from tkinter import Toplevel - top = Toplevel(root) + top = Toplevel(root, class_='Idle3') sc = ScrolledCanvas(top, bg="white", highlightthickness=0) sc.frame.pack(expand=1, fill="both") item = StackTreeItem(flist, tb) diff -r 180f5bf7d1b9 Lib/idlelib/WindowList.py --- a/Lib/idlelib/WindowList.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/WindowList.py Sat Sep 13 17:03:10 2014 +0300 @@ -1,5 +1,7 @@ from tkinter import * +WM_CLASS = 'Idle3' + class WindowList: def __init__(self): @@ -58,6 +60,8 @@ class ListedToplevel(Toplevel): def __init__(self, master, **kw): + kw['class'] = 'Idle3' + kw.pop('class_', None) Toplevel.__init__(self, master, kw) registry.add(self) self.focused_widget = self diff -r 180f5bf7d1b9 Lib/idlelib/aboutDialog.py --- a/Lib/idlelib/aboutDialog.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/aboutDialog.py Sat Sep 13 17:03:10 2014 +0300 @@ -16,7 +16,7 @@ """ _htest - bool, change box location when running htest """ - Toplevel.__init__(self, parent) + Toplevel.__init__(self, parent, class_='Idle3') self.configure(borderwidth=5) # place dialog below parent if running htest self.geometry("+%d+%d" % ( diff -r 180f5bf7d1b9 Lib/idlelib/configDialog.py --- a/Lib/idlelib/configDialog.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/configDialog.py Sat Sep 13 17:03:10 2014 +0300 @@ -29,7 +29,7 @@ _htest - bool, change box location when running htest _utest - bool, don't wait_window when running unittest """ - Toplevel.__init__(self, parent) + Toplevel.__init__(self, parent, class_='Idle3') self.parent = parent if _htest: parent.instance_dict = {} diff -r 180f5bf7d1b9 Lib/idlelib/configHelpSourceEdit.py --- a/Lib/idlelib/configHelpSourceEdit.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/configHelpSourceEdit.py Sat Sep 13 17:03:10 2014 +0300 @@ -17,7 +17,7 @@ _htest - bool, change box location when running htest """ - Toplevel.__init__(self, parent) + Toplevel.__init__(self, parent, class_='Idle3') self.configure(borderwidth=5) self.resizable(height=FALSE, width=FALSE) self.title(title) diff -r 180f5bf7d1b9 Lib/idlelib/configSectionNameDialog.py --- a/Lib/idlelib/configSectionNameDialog.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/configSectionNameDialog.py Sat Sep 13 17:03:10 2014 +0300 @@ -14,7 +14,7 @@ used_names - string collection, names already in use for validity check _htest - bool, change box location when running htest """ - Toplevel.__init__(self, parent) + Toplevel.__init__(self, parent, class_='Idle3') self.configure(borderwidth=5) self.resizable(height=FALSE, width=FALSE) self.title(title) diff -r 180f5bf7d1b9 Lib/idlelib/keybindingDialog.py --- a/Lib/idlelib/keybindingDialog.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/keybindingDialog.py Sat Sep 13 17:03:10 2014 +0300 @@ -15,7 +15,7 @@ to virtual events, for overlap checking _htest - bool, change box location when running htest """ - Toplevel.__init__(self, parent) + Toplevel.__init__(self, parent, class_='Idle3') self.configure(borderwidth=5) self.resizable(height=FALSE,width=FALSE) self.title(title) diff -r 180f5bf7d1b9 Lib/idlelib/textView.py --- a/Lib/idlelib/textView.py Thu Sep 11 14:33:02 2014 +0300 +++ b/Lib/idlelib/textView.py Sat Sep 13 17:03:10 2014 +0300 @@ -18,7 +18,7 @@ _htest - bool; change box location when running htest. """ - Toplevel.__init__(self, parent) + Toplevel.__init__(self, parent, class_='Idle3') self.configure(borderwidth=5) # place dialog below parent if running htest self.geometry("=%dx%d+%d+%d" % (625, 500,