diff options
-rw-r--r-- | mitmproxy/console/master.py | 20 |
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 = "" |