aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mitmproxy/console/master.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/mitmproxy/console/master.py b/mitmproxy/console/master.py
index 271fd64a..7570d2f7 100644
--- a/mitmproxy/console/master.py
+++ b/mitmproxy/console/master.py
@@ -124,14 +124,24 @@ class ConsoleState(flow.State):
return ret
def enable_marked_filter(self):
- self.last_filter = self.limit_txt
marked_flows = [f for f in self.flows if f.marked]
- if len(marked_flows) > 0:
- self.last_filter = self.limit_txt
- self.set_limit("~%s" % FMarked.code)
- self.mark_filter = True
+ if not marked_flows:
+ return
+
+ # Save Focus
+ last_focus, _ = self.get_focus()
+
+ self.last_filter = self.limit_txt
+ self.set_limit("~%s" % FMarked.code)
+
+ # Set Focus
+ if last_focus.marked:
+ self.set_focus_flow(last_focus)
+ else:
self.set_focus(0)
+ self.mark_filter = True
+
def disable_marked_filter(self):
self.set_limit(self.last_filter)
self.last_filter = ""