golden hour
/opt/alt/python37/lib64/python3.7/idlelib
⬆️ Go Up
Upload
File/Folder
Size
Actions
CREDITS.txt
1.82 KB
Del
OK
ChangeLog
55.04 KB
Del
OK
HISTORY.txt
10.07 KB
Del
OK
Icons
-
Del
OK
NEWS.txt
47.65 KB
Del
OK
NEWS2x.txt
26.54 KB
Del
OK
README.txt
9.37 KB
Del
OK
TODO.txt
8.28 KB
Del
OK
__init__.py
396 B
Del
OK
__main__.py
159 B
Del
OK
__pycache__
-
Del
OK
autocomplete.py
8.74 KB
Del
OK
autocomplete_w.py
19.64 KB
Del
OK
autoexpand.py
3.14 KB
Del
OK
browser.py
8.12 KB
Del
OK
calltip.py
6.17 KB
Del
OK
calltip_w.py
6.99 KB
Del
OK
codecontext.py
11.06 KB
Del
OK
colorizer.py
12.69 KB
Del
OK
config-extensions.def
2.21 KB
Del
OK
config-highlight.def
2.8 KB
Del
OK
config-keys.def
10.65 KB
Del
OK
config-main.def
3.09 KB
Del
OK
config.py
37.28 KB
Del
OK
config_key.py
14.13 KB
Del
OK
configdialog.py
102.07 KB
Del
OK
debugger.py
18.66 KB
Del
OK
debugger_r.py
11.86 KB
Del
OK
debugobj.py
3.96 KB
Del
OK
debugobj_r.py
1.06 KB
Del
OK
delegator.py
1.02 KB
Del
OK
dynoption.py
1.97 KB
Del
OK
editor.py
64.08 KB
Del
OK
extend.txt
3.56 KB
Del
OK
filelist.py
3.8 KB
Del
OK
format.py
15.41 KB
Del
OK
grep.py
7.3 KB
Del
OK
help.html
60.76 KB
Del
OK
help.py
11.46 KB
Del
OK
help_about.py
8.77 KB
Del
OK
history.py
3.95 KB
Del
OK
hyperparser.py
12.58 KB
Del
OK
idle.py
454 B
Del
OK
idle.pyw
570 B
Del
OK
idle_test
-
Del
OK
iomenu.py
20.15 KB
Del
OK
macosx.py
9.44 KB
Del
OK
mainmenu.py
3.83 KB
Del
OK
multicall.py
18.21 KB
Del
OK
outwin.py
5.65 KB
Del
OK
parenmatch.py
7.04 KB
Del
OK
pathbrowser.py
3.12 KB
Del
OK
percolator.py
3.06 KB
Del
OK
pyparse.py
19.48 KB
Del
OK
pyshell.py
55.91 KB
Del
OK
query.py
14.55 KB
Del
OK
redirector.py
6.71 KB
Del
OK
replace.py
9.66 KB
Del
OK
rpc.py
20.64 KB
Del
OK
run.py
19.82 KB
Del
OK
runscript.py
8.58 KB
Del
OK
scrolledlist.py
4.36 KB
Del
OK
search.py
5.44 KB
Del
OK
searchbase.py
7.36 KB
Del
OK
searchengine.py
7.3 KB
Del
OK
sidebar.py
13.27 KB
Del
OK
squeezer.py
12.54 KB
Del
OK
stackviewer.py
4.35 KB
Del
OK
statusbar.py
1.41 KB
Del
OK
textview.py
6.65 KB
Del
OK
tooltip.py
6.41 KB
Del
OK
tree.py
15.97 KB
Del
OK
undo.py
10.79 KB
Del
OK
window.py
2.55 KB
Del
OK
zoomheight.py
4.1 KB
Del
OK
zzdummy.py
961 B
Del
OK
Edit: extend.txt
Writing an IDLE extension ========================= An IDLE extension can define new key bindings and menu entries for IDLE edit windows. There is a simple mechanism to load extensions when IDLE starts up and to attach them to each edit window. (It is also possible to make other changes to IDLE, but this must be done by editing the IDLE source code.) The list of extensions loaded at startup time is configured by editing the file config-extensions.def. See below for details. An IDLE extension is defined by a class. Methods of the class define actions that are invoked by event bindings or menu entries. Class (or instance) variables define the bindings and menu additions; these are automatically applied by IDLE when the extension is linked to an edit window. An IDLE extension class is instantiated with a single argument, `editwin', an EditorWindow instance. The extension cannot assume much about this argument, but it is guaranteed to have the following instance variables: text a Text instance (a widget) io an IOBinding instance (more about this later) flist the FileList instance (shared by all edit windows) (There are a few more, but they are rarely useful.) The extension class must not directly bind Window Manager (e.g. X) events. Rather, it must define one or more virtual events, e.g. <<zoom-height>>, and corresponding methods, e.g. zoom_height_event(). The virtual events will be bound to the corresponding methods, and Window Manager events can then be bound to the virtual events. (This indirection is done so that the key bindings can easily be changed, and so that other sources of virtual events can exist, such as menu entries.) An extension can define menu entries. This is done with a class or instance variable named menudefs; it should be a list of pairs, where each pair is a menu name (lowercase) and a list of menu entries. Each menu entry is either None (to insert a separator entry) or a pair of strings (menu_label, virtual_event). Here, menu_label is the label of the menu entry, and virtual_event is the virtual event to be generated when the entry is selected. An underscore in the menu label is removed; the character following the underscore is displayed underlined, to indicate the shortcut character (for Windows). At the moment, extensions cannot define whole new menus; they must define entries in existing menus. Some menus are not present on some windows; such entry definitions are then ignored, but key bindings are still applied. (This should probably be refined in the future.) Extensions are not required to define menu entries for all the events they implement. (They are also not required to create keybindings, but in that case there must be empty bindings in cofig-extensions.def) Here is a complete example: class ZoomHeight: menudefs = [ ('edit', [ None, # Separator ('_Zoom Height', '<<zoom-height>>'), ]) ] def __init__(self, editwin): self.editwin = editwin def zoom_height_event(self, event): "...Do what you want here..." The final piece of the puzzle is the file "config-extensions.def", which is used to configure the loading of extensions and to establish key (or, more generally, event) bindings to the virtual events defined in the extensions. See the comments at the top of config-extensions.def for information. It's currently necessary to manually modify that file to change IDLE's extension loading or extension key bindings. For further information on binding refer to the Tkinter Resources web page at python.org and to the Tk Command "bind" man page.
Save