From 99351c9cae3c01c68c57aebf127551ec6afe7db2 Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 11 Oct 2017 08:08:16 +0000 Subject: [PATCH] Add C-n and C-p keys for tree mode, and choose the right initial line when no panes. --- mode-tree.c | 2 ++ window-tree.c | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/mode-tree.c b/mode-tree.c index ad783bb4..7b378795 100644 --- a/mode-tree.c +++ b/mode-tree.c @@ -774,11 +774,13 @@ mode_tree_key(struct mode_tree_data *mtd, struct client *c, key_code *key, case KEYC_UP: case 'k': case KEYC_WHEELUP_PANE: + case '\020': /* C-p */ mode_tree_up(mtd, 1); break; case KEYC_DOWN: case 'j': case KEYC_WHEELDOWN_PANE: + case '\016': /* C-n */ mode_tree_down(mtd, 1); break; case KEYC_PPAGE: diff --git a/window-tree.c b/window-tree.c index cbabd67e..100ded2b 100644 --- a/window-tree.c +++ b/window-tree.c @@ -434,7 +434,10 @@ window_tree_build(void *modedata, u_int sort_type, uint64_t *tag, *tag = (uint64_t)data->fs.wl; break; case WINDOW_TREE_PANE: - *tag = (uint64_t)data->fs.wp; + if (window_count_panes(data->fs.wl->window) == 1) + *tag = (uint64_t)data->fs.wl; + else + *tag = (uint64_t)data->fs.wp; break; } }