summaryrefslogtreecommitdiffstats
path: root/cmd-choose-tree.c
diff options
context:
space:
mode:
authornicm <nicm>2020-05-16 16:02:24 +0000
committernicm <nicm>2020-05-16 16:02:24 +0000
commitd67245c734c9c600ad6d186570a1230aa21b80c8 (patch)
tree9e71286a88716251c09d3dd2c2b323074f9f40ff /cmd-choose-tree.c
parent472d77fd0f4af8431267473df3cf109030760fa1 (diff)
Add a customize mode where keys and options may be browsed and changed,
includes adding a brief description of each option. Bound to "C" by default.
Diffstat (limited to 'cmd-choose-tree.c')
-rw-r--r--cmd-choose-tree.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/cmd-choose-tree.c b/cmd-choose-tree.c
index 0ada8fd4..a58469ac 100644
--- a/cmd-choose-tree.c
+++ b/cmd-choose-tree.c
@@ -68,6 +68,19 @@ const struct cmd_entry cmd_choose_buffer_entry = {
.exec = cmd_choose_tree_exec
};
+const struct cmd_entry cmd_customize_mode_entry = {
+ .name = "customize-mode",
+ .alias = NULL,
+
+ .args = { "F:f:Nt:Z", 0, 0 },
+ .usage = "[-NZ] [-F format] [-f filter] " CMD_TARGET_PANE_USAGE,
+
+ .target = { 't', CMD_FIND_PANE, 0 },
+
+ .flags = 0,
+ .exec = cmd_choose_tree_exec
+};
+
static enum cmd_retval
cmd_choose_tree_exec(struct cmd *self, struct cmdq_item *item)
{
@@ -84,7 +97,9 @@ cmd_choose_tree_exec(struct cmd *self, struct cmdq_item *item)
if (server_client_how_many() == 0)
return (CMD_RETURN_NORMAL);
mode = &window_client_mode;
- } else
+ } else if (cmd_get_entry(self) == &cmd_customize_mode_entry)
+ mode = &window_customize_mode;
+ else
mode = &window_tree_mode;
window_pane_set_mode(wp, NULL, mode, target, args);