Messages in this thread | | | From | Ian Rogers <> | Date | Mon, 15 May 2023 10:09:08 -0700 | Subject | Re: [PATCH 3/3] perf annotate browser: Add '<' and '>' keys for navigation |
| |
On Wed, May 10, 2023 at 11:27 PM Namhyung Kim <namhyung@kernel.org> wrote: > > The hists__find_annotations() allow to move to next or previous symbols > for annotation using the arrow keys. But TUI annotate_browser__run() > uses the RIGHT key as ENTER to handle jump/call instructions. That > makes the navigation to the next function impossible. > > I'd like to change it back to move the next symbol but I'm afraid if > some users get confused. So I added a new pair of keys to handle that. > > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Thanks, Ian
> --- > tools/perf/builtin-annotate.c | 4 +++- > tools/perf/ui/browsers/annotate.c | 4 +++- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c > index 63cdf6ea6f6d..425a7e2fd6fb 100644 > --- a/tools/perf/builtin-annotate.c > +++ b/tools/perf/builtin-annotate.c > @@ -342,7 +342,7 @@ static void hists__find_annotations(struct hists *hists, > notes = symbol__annotation(he->ms.sym); > if (notes->src == NULL) { > find_next: > - if (key == K_LEFT) > + if (key == K_LEFT || key == '<') > nd = rb_prev(nd); > else > nd = rb_next(nd); > @@ -378,9 +378,11 @@ static void hists__find_annotations(struct hists *hists, > return; > /* fall through */ > case K_RIGHT: > + case '>': > next = rb_next(nd); > break; > case K_LEFT: > + case '<': > next = rb_prev(nd); > break; > default: > diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c > index 12c3ce530e42..70bad42b807b 100644 > --- a/tools/perf/ui/browsers/annotate.c > +++ b/tools/perf/ui/browsers/annotate.c > @@ -781,9 +781,9 @@ static int annotate_browser__run(struct annotate_browser *browser, > ui_browser__help_window(&browser->b, > "UP/DOWN/PGUP\n" > "PGDN/SPACE Navigate\n" > + "</> Move to prev/next symbol\n" > "q/ESC/CTRL+C Exit\n\n" > "ENTER Go to target\n" > - "ESC Exit\n" > "H Go to hottest instruction\n" > "TAB/shift+TAB Cycle thru hottest instructions\n" > "j Toggle showing jump to target arrows\n" > @@ -913,6 +913,8 @@ static int annotate_browser__run(struct annotate_browser *browser, > annotation__toggle_full_addr(notes, ms); > continue; > case K_LEFT: > + case '<': > + case '>': > case K_ESC: > case 'q': > case CTRL('c'): > -- > 2.40.1.521.gf1e218fcd8-goog >
| |