summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/idlelib/AutoExpand.py2
-rw-r--r--Lib/idlelib/Bindings.py10
-rw-r--r--Lib/idlelib/EditorWindow.py16
-rw-r--r--Lib/idlelib/PyShell.py22
-rw-r--r--Lib/idlelib/config-keys.def5
-rw-r--r--Lib/idlelib/configHandler.py1
-rw-r--r--Lib/idlelib/help.txt26
7 files changed, 55 insertions, 27 deletions
diff --git a/Lib/idlelib/AutoExpand.py b/Lib/idlelib/AutoExpand.py
index 8801830..9e93d57 100644
--- a/Lib/idlelib/AutoExpand.py
+++ b/Lib/idlelib/AutoExpand.py
@@ -9,7 +9,7 @@ class AutoExpand:
menudefs = [
('edit', [
- ('E_xpand word', '<<expand-word>>'),
+ ('E_xpand Word', '<<expand-word>>'),
]),
]
diff --git a/Lib/idlelib/Bindings.py b/Lib/idlelib/Bindings.py
index ee81bac..b177a5e 100644
--- a/Lib/idlelib/Bindings.py
+++ b/Lib/idlelib/Bindings.py
@@ -55,13 +55,16 @@ menudefs = [
('run',[
('Python Shell', '<<open-python-shell>>'),
]),
- ('debug', [
+ ('shell', [
+ ('_View Last Restart', '<<view-restart>>'),
+ ('_Restart Shell', '<<restart-shell>>'),
+ None,
('_Go to File/Line', '<<goto-file-line>>'),
- ('_Stack Viewer', '<<open-stack-viewer>>'),
('!_Debugger', '<<toggle-debugger>>'),
+ ('_Stack Viewer', '<<open-stack-viewer>>'),
('!_Auto-open Stack Viewer', '<<toggle-jit-stack-viewer>>' ),
]),
- ('settings', [
+ ('options', [
('_Configure Idle...', '<<open-config-dialog>>'),
None,
('Revert to _Default Settings', '<<revert-all-settings>>'),
@@ -69,7 +72,6 @@ menudefs = [
('help', [
('_IDLE Help...', '<<help>>'),
('Python _Documentation...', '<<python-docs>>'),
- ('_Advice...', '<<good-advice>>'),
('View IDLE _Readme...', '<<view-readme>>'),
None,
('_About IDLE...', '<<about-idle>>'),
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
index 96a894a..47256dc 100644
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -60,6 +60,7 @@ class EditorWindow:
'recent-files.lst')
self.vbar = vbar = Scrollbar(top, name='vbar')
self.text_frame = text_frame = Frame(top)
+ self.width = idleConf.GetOption('main','EditorWindow','width')
self.text = text = Text(text_frame, name='text', padx=5, wrap='none',
foreground=idleConf.GetHighlight(currentTheme,
'normal',fgBg='fg'),
@@ -71,7 +72,7 @@ class EditorWindow:
'hilite',fgBg='bg'),
insertbackground=idleConf.GetHighlight(currentTheme,
'cursor',fgBg='fg'),
- width=idleConf.GetOption('main','EditorWindow','width'),
+ width=self.width,
height=idleConf.GetOption('main','EditorWindow','height') )
self.createmenubar()
@@ -84,7 +85,6 @@ class EditorWindow:
text.bind("<<paste>>", self.paste)
text.bind("<<center-insert>>", self.center_insert_event)
text.bind("<<help>>", self.help_dialog)
- text.bind("<<good-advice>>", self.good_advice)
text.bind("<<view-readme>>", self.view_readme)
text.bind("<<python-docs>>", self.python_docs)
text.bind("<<about-idle>>", self.about_dialog)
@@ -213,7 +213,7 @@ class EditorWindow:
("edit", "_Edit"),
("format", "F_ormat"),
("run", "_Run"),
- ("settings", "_Settings"),
+ ("options", "_Options"),
("windows", "_Windows"),
("help", "_Help"),
]
@@ -277,9 +277,6 @@ class EditorWindow:
def config_dialog(self, event=None):
configDialog.ConfigDialog(self.top,'Settings')
- def good_advice(self, event=None):
- tkMessageBox.showinfo('Advice', "Don't Panic!", master=self.text)
-
def view_readme(self, event=None):
fn=os.path.join(os.path.abspath(os.path.dirname(__file__)),'README.txt')
textView.TextViewer(self.top,'IDLEfork - README',fn)
@@ -666,6 +663,13 @@ class EditorWindow:
text = self.text
return int(float(text.index(mark)))
+ def get_geometry(self):
+ "Return (width, height, x, y)"
+ geom = self.top.wm_geometry()
+ m = re.match(r"(\d+)x(\d+)\+(-?\d+)\+(-?\d+)", geom)
+ tuple = (map(int, m.groups()))
+ return tuple
+
def close_event(self, event):
self.close()
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 6114359..77e4cf1 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -366,6 +366,12 @@ class ModifiedInterpreter(InteractiveInterpreter):
self.spawn_subprocess()
self.rpcclt.accept()
self.transfer_path()
+ # annotate restart in shell window and mark it
+ console = self.tkconsole
+ halfbar = ((int(console.width) - 16) // 2) * '='
+ console.write(halfbar + ' RESTART ' + halfbar)
+ console.text.mark_set("restart", "end-1c")
+ console.text.mark_gravity("restart", "left")
# restart remote debugger
if debug:
gui = RemoteDebugger.restart_subprocess_debugger(self.rpcclt)
@@ -652,8 +658,8 @@ class PyShell(OutputWindow):
menu_specs = [
("file", "_File"),
("edit", "_Edit"),
- ("debug", "_Debug"),
- ("settings", "_Settings"),
+ ("shell", "_Shell"),
+ ("options", "_Options"),
("windows", "_Windows"),
("help", "_Help"),
]
@@ -687,6 +693,8 @@ class PyShell(OutputWindow):
text.bind("<<toggle-debugger>>", self.toggle_debugger)
text.bind("<<open-python-shell>>", self.flist.open_shell)
text.bind("<<toggle-jit-stack-viewer>>", self.toggle_jit_stack_viewer)
+ text.bind("<<view-restart>>", self.view_restart_mark)
+ text.bind("<<restart-shell>>", self.restart_shell)
#
self.save_stdout = sys.stdout
self.save_stderr = sys.stderr
@@ -727,7 +735,7 @@ class PyShell(OutputWindow):
db = self.interp.getdebugger()
self.setvar("<<toggle-debugger>>", not not db)
- def toggle_jit_stack_viewer( self, event=None):
+ def toggle_jit_stack_viewer(self, event=None):
pass # All we need is the variable
def close_debugger(self):
@@ -1024,6 +1032,14 @@ class PyShell(OutputWindow):
from StackViewer import StackBrowser
sv = StackBrowser(self.root, self.flist)
+ def view_restart_mark(self, event=None):
+ self.text.see("iomark")
+ self.text.see("restart")
+
+ def restart_shell(self, event=None):
+ self.interp.restart_subprocess()
+ self.showprompt()
+
def showprompt(self):
self.resetoutput()
try:
diff --git a/Lib/idlelib/config-keys.def b/Lib/idlelib/config-keys.def
index 821ee12..ff4debc 100644
--- a/Lib/idlelib/config-keys.def
+++ b/Lib/idlelib/config-keys.def
@@ -10,7 +10,7 @@
[IDLE Classic Windows]
copy=<Control-Key-c>
cut=<Control-Key-x>
-paste=<Control-Key-m>
+paste=<Control-Key-v>
beginning-of-line= <Key-Home>
center-insert=<Control-Key-l>
close-all-windows=<Control-Key-q>
@@ -22,6 +22,7 @@ python-context-help=<Shift-Key-F1>
history-next=<Alt-Key-n>
history-previous=<Alt-Key-p>
interrupt-execution=<Control-Key-c>
+view-restart=<Key-F6>
open-class-browser=<Alt-Key-c>
open-module=<Alt-Key-m>
open-new-window=<Control-Key-n>
@@ -67,6 +68,7 @@ end-of-file=<Control-Key-d>
history-next=<Alt-Key-n> <Meta-Key-n>
history-previous=<Alt-Key-p> <Meta-Key-p>
interrupt-execution=<Control-Key-c>
+view-restart=<Key-F6>
open-class-browser=<Control-Key-x><Control-Key-b>
open-module=<Control-Key-x><Control-Key-m>
open-new-window=<Control-Key-x><Control-Key-n>
@@ -116,6 +118,7 @@ python-context-help=<Shift-Key-F1>
history-next=<Control-Key-n>
history-previous=<Control-Key-p>
interrupt-execution=<Control-Key-c>
+view-restart=<Key-F6>
open-class-browser=<Command-Key-b>
open-module=<Command-Key-m>
open-new-window=<Command-Key-n>
diff --git a/Lib/idlelib/configHandler.py b/Lib/idlelib/configHandler.py
index 71558a8..cf2b6db 100644
--- a/Lib/idlelib/configHandler.py
+++ b/Lib/idlelib/configHandler.py
@@ -508,6 +508,7 @@ class IdleConf:
'<<history-next>>': ['<Alt-n>'],
'<<history-previous>>': ['<Alt-p>'],
'<<interrupt-execution>>': ['<Control-c>'],
+ '<<view-restart>>': ['<F6>'],
'<<open-class-browser>>': ['<Alt-c>'],
'<<open-module>>': ['<Alt-m>'],
'<<open-new-window>>': ['<Control-n>'],
diff --git a/Lib/idlelib/help.txt b/Lib/idlelib/help.txt
index dfba6c0..5d4acd0 100644
--- a/Lib/idlelib/help.txt
+++ b/Lib/idlelib/help.txt
@@ -1,4 +1,4 @@
-[See end for ** TIPS ]
+[See end for ** TIPS on using IDLE]
Click on the dotted line at the top of a menu to "tear it off": a
separate window containing the menu is created.
@@ -11,7 +11,7 @@ File Menu:
Open Module... -- open an existing module (searches sys.path)
Class Browser -- show classes and methods in current file
Path Browser -- show sys.path directories, modules, classes
- and methods
+ and methods
---
Save -- save current window to the associated file (unsaved
windows have a * before and after the window title)
@@ -64,7 +64,18 @@ Run Menu (only in Edit window):
Check Module -- Run a syntax check on the module
Run Script -- Execute the current file in the __main__ namespace
-Settings Menu:
+Shell Menu (only in Shell window):
+
+ View Last Restart -- Scroll the shell window to the last restart
+ Restart Shell -- Restart the interpreter with a fresh environment
+ ---
+ Go to File/Line -- look around the insert point for a filename
+ and linenumber, open the file, and show the line
+ Debugger (toggle) -- Run commands in the shell under the debugger
+ Stack Viewer -- show the stack traceback of the last exception
+ Auto-open Stack Viewer (toggle) -- Open stack viewer on traceback
+
+Options Menu:
Configure IDLE -- Open a configuration dialog. Fonts, indentation,
keybindings, and color themes may be altered.
@@ -81,20 +92,11 @@ Windows Menu:
select one to bring it to the foreground (deiconifying it if
necessary).
-Debug Menu (in the Python Shell window only):
-
- Go to File/Line -- look around the insert point for a filename
- and linenumber, open the file, and show the line
- Stack Viewer -- show the stack traceback of the last exception
- Debugger (toggle) -- Run commands in the shell under the debugger
- Auto-open Stack Viewer (toggle) -- Open stack viewer on traceback
-
Help Menu:
IDLE Help -- Display this file
Python Documentation -- Access local Python documentation, if
installed. Otherwise access python.org.
- Advice -- Emergency Only!
IDLE Readme -- Background discussion and change details
---
About IDLE --- Version, copyright, license, credits