From c8f1dbc1def14504535473fd5d7696e4dfd4065f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hubert=20Bry=C5=82kowski?= Date: Sat, 16 Jul 2022 16:50:59 +0100 Subject: [PATCH] run tip of the day only on startup --- pwndbg/prompt.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pwndbg/prompt.py b/pwndbg/prompt.py index da31dd0c3..cbfce5778 100644 --- a/pwndbg/prompt.py +++ b/pwndbg/prompt.py @@ -18,15 +18,23 @@ hint_lines = ( for line in hint_lines: print(message.prompt('pwndbg: ') + message.system(line)) -print(message.prompt('pwndbg: tip of the day: ') + get_tip_of_the_day()) - +# noinspection PyPackageRequirements +show_mod = pwndbg.config.Parameter('show-tip', False, 'display tip of the day at startup') cur = None +def initial_hook(*a): + if show_mod and not pwndbg.decorators.first_prompt: + print(message.prompt('pwndbg: tip of the day: ') + get_tip_of_the_day()) + pwndbg.decorators.first_prompt = True + + prompt_hook(a) + gdb.prompt_hook = prompt_hook + + def prompt_hook(*a): global cur - pwndbg.decorators.first_prompt = True new = (gdb.selected_inferior(), gdb.selected_thread()) @@ -56,7 +64,7 @@ def set_prompt(): if pwndbg.events.before_prompt_event.is_real_event: - gdb.prompt_hook = prompt_hook + gdb.prompt_hook = initial_hook else: # Old GDBs doesn't have gdb.events.before_prompt, so we will emulate it using gdb.prompt_hook