aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-02-08 22:55:48 +1300
committerAldo Cortesi <aldo@nullcube.com>2012-02-08 22:55:48 +1300
commit5df0b9e9610b803241f8c4870ddfe3afb450a048 (patch)
tree750be1224dcf8d10d1b63bc9665b1357184566ac
parent866a93a8bc28fed47dde04f49c13592a7163bff4 (diff)
downloadmitmproxy-5df0b9e9610b803241f8c4870ddfe3afb450a048.tar.gz
mitmproxy-5df0b9e9610b803241f8c4870ddfe3afb450a048.tar.bz2
mitmproxy-5df0b9e9610b803241f8c4870ddfe3afb450a048.zip
Further keybinding consolidation.
Also, move KVEditor's "i" binding to "A" to avoid clashes with global bindings.
-rw-r--r--libmproxy/console/__init__.py15
-rw-r--r--libmproxy/console/connlist.py25
-rw-r--r--libmproxy/console/connview.py4
-rw-r--r--libmproxy/console/help.py19
-rw-r--r--libmproxy/console/kveditor.py4
5 files changed, 39 insertions, 28 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index 69a50f18..608742a4 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -773,9 +773,6 @@ class ConsoleMaster(flow.FlowMaster):
),
self.stop_client_playback_prompt,
)
- elif k == "l":
- self.prompt("Limit: ", self.state.limit_txt, self.set_limit)
- self.sync_list_view()
elif k == "i":
self.prompt(
"Intercept filter: ",
@@ -794,12 +791,6 @@ class ConsoleMaster(flow.FlowMaster):
),
self.quit,
)
- elif k == "w":
- self.path_prompt(
- "Save flows: ",
- self.state.last_saveload,
- self.save_flows
- )
elif k == "s":
if self.script:
self.load_script(None)
@@ -825,12 +816,6 @@ class ConsoleMaster(flow.FlowMaster):
),
self.stop_server_playback_prompt,
)
- elif k == "L":
- self.path_prompt(
- "Load flows: ",
- self.state.last_saveload,
- self.load_flows_callback
- )
elif k == "o":
self.prompt_onekey(
"Options",
diff --git a/libmproxy/console/connlist.py b/libmproxy/console/connlist.py
index d9ef258b..0f238322 100644
--- a/libmproxy/console/connlist.py
+++ b/libmproxy/console/connlist.py
@@ -8,7 +8,13 @@ def _mkhelp():
("a", "accept this intercepted connection"),
("C", "clear connection list or eventlog"),
("d", "delete connection from view"),
+ ("l", "set limit filter pattern"),
+ ("L", "load saved flows"),
+ ("r", "replay request"),
+ ("R", "revert changes to request"),
("v", "toggle eventlog"),
+ ("w", "save all flows matching current limit"),
+ ("W", "save this flow"),
("X", "kill and delete connection, even if it's mid-intercept"),
("tab", "tab between eventlog and connection list"),
("enter", "view connection"),
@@ -96,6 +102,15 @@ class ConnectionItem(common.WWrap):
self.flow.kill(self.master)
self.state.delete_flow(self.flow)
self.master.sync_list_view()
+ elif key == "l":
+ self.master.prompt("Limit: ", self.state.limit_txt, self.master.set_limit)
+ self.master.sync_list_view()
+ elif key == "L":
+ self.master.path_prompt(
+ "Load flows: ",
+ self.state.last_saveload,
+ self.master.load_flows_callback
+ )
elif key == "r":
r = self.master.replay_request(self.flow)
if r:
@@ -104,6 +119,12 @@ class ConnectionItem(common.WWrap):
elif key == "R":
self.state.revert(self.flow)
self.master.sync_list_view()
+ elif key == "w":
+ self.master.path_prompt(
+ "Save flows: ",
+ self.state.last_saveload,
+ self.master.save_flows
+ )
elif key == "W":
self.master.path_prompt(
"Save this flow: ",
@@ -120,9 +141,9 @@ class ConnectionItem(common.WWrap):
self.master.view_flow(self.flow)
elif key == "|":
self.master.path_prompt(
- "Send flow to script: ",
+ "Send flow to script: ",
self.state.last_script,
- self.master.run_script_once,
+ self.master.run_script_once,
self.flow
)
else:
diff --git a/libmproxy/console/connview.py b/libmproxy/console/connview.py
index 49418d01..289d8024 100644
--- a/libmproxy/console/connview.py
+++ b/libmproxy/console/connview.py
@@ -23,7 +23,11 @@ def _mkhelp():
[("text", ": hex dump")]
),
("p", "previous flow"),
+ ("r", "replay request"),
+ ("R", "revert changes to request"),
("v", "view body in external viewer"),
+ ("w", "save all flows matching current limit"),
+ ("W", "save this flow"),
("z", "encode/decode a request/response"),
("tab", "toggle request/response view"),
("space", "next flow"),
diff --git a/libmproxy/console/help.py b/libmproxy/console/help.py
index 0c710c7b..22b42475 100644
--- a/libmproxy/console/help.py
+++ b/libmproxy/console/help.py
@@ -26,13 +26,20 @@ class HelpView(urwid.ListBox):
text.append(("head", "Keys for this view:\n"))
text.extend(self.help_context)
+ text.append(("head", "\n\nMovement:\n"))
+ keys = [
+ ("j, k", "up, down"),
+ ("h, l", "left, right (in some contexts)"),
+ ("space", "page down"),
+ ("pg up/down", "page up/down"),
+ ("arrows", "up, down, left, right"),
+ ]
+ text.extend(common.format_keyvals(keys, key="key", val="text", indent=4))
+
text.append(("head", "\n\nGlobal keys:\n"))
keys = [
("c", "client replay"),
("i", "set interception pattern"),
- ("j, k", "up, down"),
- ("l", "set limit filter pattern"),
- ("L", "load saved flows"),
("o", "toggle options:"),
(None,
@@ -54,16 +61,10 @@ class HelpView(urwid.ListBox):
("q", "quit / return to connection list"),
("Q", "quit without confirm prompt"),
- ("r", "replay request"),
- ("R", "revert changes to request"),
("s", "set/unset script"),
("S", "server replay"),
("t", "set sticky cookie expression"),
("u", "set sticky auth expression"),
- ("w", "save all flows matching current limit"),
- ("W", "save this flow"),
- ("space", "page down"),
- ("pg up/down", "page up/down"),
]
text.extend(common.format_keyvals(keys, key="key", val="text", indent=4))
diff --git a/libmproxy/console/kveditor.py b/libmproxy/console/kveditor.py
index 7afcd08d..632a6992 100644
--- a/libmproxy/console/kveditor.py
+++ b/libmproxy/console/kveditor.py
@@ -7,10 +7,10 @@ from .. import utils
def _mkhelp():
text = []
keys = [
+ ("A", "insert row before cursor"),
("a", "add row after cursor"),
("d", "delete row"),
("e", "spawn external editor on current field"),
- ("i", "insert row before cursor"),
("q", "return to flow view"),
("esc", "return to flow view/exit field edit mode"),
("tab", "next field"),
@@ -215,7 +215,7 @@ class KVEditor(common.WWrap):
self.walker.tab_next()
elif key == "a":
self.walker.add()
- elif key == "i":
+ elif key == "A":
self.walker.insert()
elif key == "d":
self.walker.delete_focus()