summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/cmd-select-pane.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2014-08-11 22:14:30 +0000
committernicm <nicm@openbsd.org>2014-08-11 22:14:30 +0000
commit4dca3db4a95f889346a0756d6a5188d8ead82897 (patch)
tree9ee6efbe865eb406fe985c77cc6757dccb503411 /usr.bin/tmux/cmd-select-pane.c
parentregen (diff)
downloadwireguard-openbsd-4dca3db4a95f889346a0756d6a5188d8ead82897.tar.xz
wireguard-openbsd-4dca3db4a95f889346a0756d6a5188d8ead82897.zip
Add flags to selectp to enable and disable input to a pane, from Anish
Athalye.
Diffstat (limited to 'usr.bin/tmux/cmd-select-pane.c')
-rw-r--r--usr.bin/tmux/cmd-select-pane.c36
1 files changed, 24 insertions, 12 deletions
diff --git a/usr.bin/tmux/cmd-select-pane.c b/usr.bin/tmux/cmd-select-pane.c
index e543a9a4fd6..3d1b2d54616 100644
--- a/usr.bin/tmux/cmd-select-pane.c
+++ b/usr.bin/tmux/cmd-select-pane.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cmd-select-pane.c,v 1.17 2013/10/10 12:00:22 nicm Exp $ */
+/* $OpenBSD: cmd-select-pane.c,v 1.18 2014/08/11 22:14:30 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -29,8 +29,8 @@ enum cmd_retval cmd_select_pane_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_select_pane_entry = {
"select-pane", "selectp",
- "lDLRt:U", 0, 0,
- "[-lDLRU] " CMD_TARGET_PANE_USAGE,
+ "DdeLlRt:U", 0, 0,
+ "[-DdeLlRU] " CMD_TARGET_PANE_USAGE,
0,
cmd_select_pane_key_binding,
cmd_select_pane_exec
@@ -38,8 +38,8 @@ const struct cmd_entry cmd_select_pane_entry = {
const struct cmd_entry cmd_last_pane_entry = {
"last-pane", "lastp",
- "t:", 0, 0,
- CMD_TARGET_WINDOW_USAGE,
+ "det:", 0, 0,
+ "[-de] " CMD_TARGET_WINDOW_USAGE,
0,
NULL,
cmd_select_pane_exec
@@ -78,10 +78,16 @@ cmd_select_pane_exec(struct cmd *self, struct cmd_q *cmdq)
return (CMD_RETURN_ERROR);
}
- server_unzoom_window(wl->window);
- window_set_active_pane(wl->window, wl->window->last);
- server_status_window(wl->window);
- server_redraw_window_borders(wl->window);
+ if (args_has(self->args, 'e'))
+ wl->window->last->flags &= ~PANE_INPUTOFF;
+ else if (args_has(self->args, 'd'))
+ wl->window->last->flags |= PANE_INPUTOFF;
+ else {
+ server_unzoom_window(wl->window);
+ window_set_active_pane(wl->window, wl->window->last);
+ server_status_window(wl->window);
+ server_redraw_window_borders(wl->window);
+ }
return (CMD_RETURN_NORMAL);
}
@@ -108,9 +114,15 @@ cmd_select_pane_exec(struct cmd *self, struct cmd_q *cmdq)
return (CMD_RETURN_ERROR);
}
- window_set_active_pane(wl->window, wp);
- server_status_window(wl->window);
- server_redraw_window_borders(wl->window);
+ if (args_has(self->args, 'e'))
+ wp->flags &= ~PANE_INPUTOFF;
+ else if (args_has(self->args, 'd'))
+ wp->flags |= PANE_INPUTOFF;
+ else {
+ window_set_active_pane(wl->window, wp);
+ server_status_window(wl->window);
+ server_redraw_window_borders(wl->window);
+ }
return (CMD_RETURN_NORMAL);
}