SILENT KILLERPanel

Current Path: > > opt > alt > python37 > lib64 > python3.7 > > > idlelib


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt/python37/lib64/python3.7///idlelib

NameTypeSizeLast ModifiedActions
Icons Directory - -
__pycache__ Directory - -
idle_test Directory - -
CREDITS.txt File 1866 bytes June 05 2023 20:45:13.
ChangeLog File 56360 bytes June 05 2023 20:45:13.
HISTORY.txt File 10312 bytes June 05 2023 20:45:13.
NEWS.txt File 48791 bytes June 05 2023 20:45:13.
NEWS2x.txt File 27172 bytes June 05 2023 20:45:13.
README.txt File 9599 bytes June 05 2023 20:45:13.
TODO.txt File 8478 bytes June 05 2023 20:45:13.
__init__.py File 396 bytes April 17 2024 17:36:04.
__main__.py File 159 bytes April 17 2024 17:36:04.
autocomplete.py File 8954 bytes April 17 2024 17:36:04.
autocomplete_w.py File 20109 bytes April 17 2024 17:36:04.
autoexpand.py File 3216 bytes April 17 2024 17:36:04.
browser.py File 8314 bytes April 17 2024 17:36:04.
calltip.py File 6318 bytes April 17 2024 17:36:04.
calltip_w.py File 7158 bytes April 17 2024 17:36:04.
codecontext.py File 11326 bytes April 17 2024 17:36:04.
colorizer.py File 12992 bytes April 17 2024 17:36:04.
config-extensions.def File 2266 bytes June 05 2023 20:45:13.
config-highlight.def File 2864 bytes June 05 2023 20:45:13.
config-keys.def File 10910 bytes June 05 2023 20:45:13.
config-main.def File 3168 bytes June 05 2023 20:45:13.
config.py File 38173 bytes April 17 2024 17:36:04.
config_key.py File 14465 bytes April 17 2024 17:36:04.
configdialog.py File 104524 bytes April 17 2024 17:36:04.
debugger.py File 19104 bytes April 17 2024 17:36:04.
debugger_r.py File 12140 bytes April 17 2024 17:36:04.
debugobj.py File 4055 bytes April 17 2024 17:36:04.
debugobj_r.py File 1082 bytes April 17 2024 17:36:04.
delegator.py File 1043 bytes April 17 2024 17:36:04.
dynoption.py File 2017 bytes April 17 2024 17:36:04.
editor.py File 65614 bytes April 17 2024 17:36:04.
extend.txt File 3642 bytes June 05 2023 20:45:13.
filelist.py File 3896 bytes April 17 2024 17:36:04.
format.py File 15777 bytes April 17 2024 17:36:04.
grep.py File 7479 bytes April 17 2024 17:36:04.
help.html File 62214 bytes June 05 2023 20:45:13.
help.py File 11734 bytes April 17 2024 17:36:04.
help_about.py File 8981 bytes April 17 2024 17:36:04.
history.py File 4043 bytes April 17 2024 17:36:04.
hyperparser.py File 12883 bytes April 17 2024 17:36:04.
idle.py File 454 bytes April 17 2024 17:36:04.
idle.pyw File 570 bytes June 05 2023 20:45:13.
iomenu.py File 20632 bytes April 17 2024 17:36:04.
macosx.py File 9662 bytes April 17 2024 17:36:04.
mainmenu.py File 3918 bytes April 17 2024 17:36:04.
multicall.py File 18648 bytes April 17 2024 17:36:04.
outwin.py File 5788 bytes April 17 2024 17:36:04.
parenmatch.py File 7204 bytes April 17 2024 17:36:04.
pathbrowser.py File 3193 bytes April 17 2024 17:36:04.
percolator.py File 3130 bytes April 17 2024 17:36:04.
pyparse.py File 19947 bytes April 17 2024 17:36:04.
pyshell.py File 57247 bytes April 17 2024 17:36:04.
query.py File 14898 bytes April 17 2024 17:36:04.
redirector.py File 6875 bytes April 17 2024 17:36:04.
replace.py File 9889 bytes April 17 2024 17:36:04.
rpc.py File 21137 bytes April 17 2024 17:36:04.
run.py File 20293 bytes April 17 2024 17:36:04.
runscript.py File 8781 bytes April 17 2024 17:36:04.
scrolledlist.py File 4465 bytes April 17 2024 17:36:04.
search.py File 5566 bytes April 17 2024 17:36:04.
searchbase.py File 7537 bytes April 17 2024 17:36:04.
searchengine.py File 7472 bytes April 17 2024 17:36:04.
sidebar.py File 13585 bytes April 17 2024 17:36:04.
squeezer.py File 12840 bytes April 17 2024 17:36:04.
stackviewer.py File 4454 bytes April 17 2024 17:36:04.
statusbar.py File 1441 bytes April 17 2024 17:36:04.
textview.py File 6813 bytes April 17 2024 17:36:04.
tooltip.py File 6565 bytes April 17 2024 17:36:04.
tree.py File 16357 bytes April 17 2024 17:36:04.
undo.py File 11046 bytes April 17 2024 17:36:04.
window.py File 2616 bytes April 17 2024 17:36:04.
zoomheight.py File 4203 bytes April 17 2024 17:36:04.
zzdummy.py File 961 bytes April 17 2024 17:36:04.

Reading File: //opt/alt/python37/lib64/python3.7///idlelib/window.py

from tkinter import Toplevel, TclError
import sys


class WindowList:

    def __init__(self):
        self.dict = {}
        self.callbacks = []

    def add(self, window):
        window.after_idle(self.call_callbacks)
        self.dict[str(window)] = window

    def delete(self, window):
        try:
            del self.dict[str(window)]
        except KeyError:
            # Sometimes, destroy() is called twice
            pass
        self.call_callbacks()

    def add_windows_to_menu(self,  menu):
        list = []
        for key in self.dict:
            window = self.dict[key]
            try:
                title = window.get_title()
            except TclError:
                continue
            list.append((title, key, window))
        list.sort()
        for title, key, window in list:
            menu.add_command(label=title, command=window.wakeup)

    def register_callback(self, callback):
        self.callbacks.append(callback)

    def unregister_callback(self, callback):
        try:
            self.callbacks.remove(callback)
        except ValueError:
            pass

    def call_callbacks(self):
        for callback in self.callbacks:
            try:
                callback()
            except:
                t, v, tb = sys.exc_info()
                print("warning: callback failed in WindowList", t, ":", v)


registry = WindowList()

add_windows_to_menu = registry.add_windows_to_menu
register_callback = registry.register_callback
unregister_callback = registry.unregister_callback


class ListedToplevel(Toplevel):

    def __init__(self, master, **kw):
        Toplevel.__init__(self, master, kw)
        registry.add(self)
        self.focused_widget = self

    def destroy(self):
        registry.delete(self)
        Toplevel.destroy(self)
        # If this is Idle's last window then quit the mainloop
        # (Needed for clean exit on Windows 98)
        if not registry.dict:
            self.quit()

    def update_windowlist_registry(self, window):
        registry.call_callbacks()

    def get_title(self):
        # Subclass can override
        return self.wm_title()

    def wakeup(self):
        try:
            if self.wm_state() == "iconic":
                self.wm_withdraw()
                self.wm_deiconify()
            self.tkraise()
            self.focused_widget.focus_set()
        except TclError:
            # This can happen when the Window menu was torn off.
            # Simply ignore it.
            pass


if __name__ == "__main__":
    from unittest import main
    main('idlelib.idle_test.test_window', verbosity=2)

SILENT KILLER Tool