mirror of
https://github.com/tmux/tmux.git
synced 2026-06-20 17:25:57 +00:00
Nic's k.diff.txt patch.
This commit is contained in:
@@ -33,7 +33,7 @@ const struct cmd_entry cmd_choose_tree_entry = {
|
|||||||
.name = "choose-tree",
|
.name = "choose-tree",
|
||||||
.alias = NULL,
|
.alias = NULL,
|
||||||
|
|
||||||
.args = { "F:f:GK:NO:rst:wyZ", 0, 1, cmd_choose_tree_args_parse },
|
.args = { "F:f:GK:kNO:rst:wyZ", 0, 1, cmd_choose_tree_args_parse },
|
||||||
.usage = "[-GNrswZ] [-F format] [-f filter] [-K key-format] "
|
.usage = "[-GNrswZ] [-F format] [-f filter] [-K key-format] "
|
||||||
"[-O sort-order] " CMD_TARGET_PANE_USAGE " [template]",
|
"[-O sort-order] " CMD_TARGET_PANE_USAGE " [template]",
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ const struct cmd_entry cmd_choose_client_entry = {
|
|||||||
.name = "choose-client",
|
.name = "choose-client",
|
||||||
.alias = NULL,
|
.alias = NULL,
|
||||||
|
|
||||||
.args = { "F:f:K:NO:rt:yZ", 0, 1, cmd_choose_tree_args_parse },
|
.args = { "F:f:K:kNO:rt:yZ", 0, 1, cmd_choose_tree_args_parse },
|
||||||
.usage = "[-NrZ] [-F format] [-f filter] [-K key-format] "
|
.usage = "[-NrZ] [-F format] [-f filter] [-K key-format] "
|
||||||
"[-O sort-order] " CMD_TARGET_PANE_USAGE " [template]",
|
"[-O sort-order] " CMD_TARGET_PANE_USAGE " [template]",
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ const struct cmd_entry cmd_choose_buffer_entry = {
|
|||||||
.name = "choose-buffer",
|
.name = "choose-buffer",
|
||||||
.alias = NULL,
|
.alias = NULL,
|
||||||
|
|
||||||
.args = { "F:f:K:NO:rt:yZ", 0, 1, cmd_choose_tree_args_parse },
|
.args = { "F:f:K:kNO:rt:yZ", 0, 1, cmd_choose_tree_args_parse },
|
||||||
.usage = "[-NrZ] [-F format] [-f filter] [-K key-format] "
|
.usage = "[-NrZ] [-F format] [-f filter] [-K key-format] "
|
||||||
"[-O sort-order] " CMD_TARGET_PANE_USAGE " [template]",
|
"[-O sort-order] " CMD_TARGET_PANE_USAGE " [template]",
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ const struct cmd_entry cmd_customize_mode_entry = {
|
|||||||
.name = "customize-mode",
|
.name = "customize-mode",
|
||||||
.alias = NULL,
|
.alias = NULL,
|
||||||
|
|
||||||
.args = { "F:f:Nt:yZ", 0, 0, NULL },
|
.args = { "F:f:kNt:yZ", 0, 0, NULL },
|
||||||
.usage = "[-NZ] [-F format] [-f filter] " CMD_TARGET_PANE_USAGE,
|
.usage = "[-NZ] [-F format] [-f filter] " CMD_TARGET_PANE_USAGE,
|
||||||
|
|
||||||
.target = { 't', CMD_FIND_PANE, 0 },
|
.target = { 't', CMD_FIND_PANE, 0 },
|
||||||
|
|||||||
2
tmux.h
2
tmux.h
@@ -1180,6 +1180,8 @@ struct window_mode_entry {
|
|||||||
struct screen *screen;
|
struct screen *screen;
|
||||||
u_int prefix;
|
u_int prefix;
|
||||||
|
|
||||||
|
int kill;
|
||||||
|
|
||||||
TAILQ_ENTRY(window_mode_entry) entry;
|
TAILQ_ENTRY(window_mode_entry) entry;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
6
window.c
6
window.c
@@ -1224,6 +1224,7 @@ window_pane_set_mode(struct window_pane *wp, struct window_pane *swp,
|
|||||||
TAILQ_INSERT_HEAD(&wp->modes, wme, entry);
|
TAILQ_INSERT_HEAD(&wp->modes, wme, entry);
|
||||||
wme->screen = wme->mode->init(wme, fs, args);
|
wme->screen = wme->mode->init(wme, fs, args);
|
||||||
}
|
}
|
||||||
|
wme->kill = args_has(args, 'k');
|
||||||
wp->screen = wme->screen;
|
wp->screen = wme->screen;
|
||||||
|
|
||||||
wp->flags |= (PANE_REDRAW|PANE_REDRAWSCROLLBAR|PANE_CHANGED);
|
wp->flags |= (PANE_REDRAW|PANE_REDRAWSCROLLBAR|PANE_CHANGED);
|
||||||
@@ -1241,11 +1242,13 @@ window_pane_reset_mode(struct window_pane *wp)
|
|||||||
{
|
{
|
||||||
struct window_mode_entry *wme, *next;
|
struct window_mode_entry *wme, *next;
|
||||||
struct window *w = wp->window;
|
struct window *w = wp->window;
|
||||||
|
int kill;
|
||||||
|
|
||||||
if (TAILQ_EMPTY(&wp->modes))
|
if (TAILQ_EMPTY(&wp->modes))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wme = TAILQ_FIRST(&wp->modes);
|
wme = TAILQ_FIRST(&wp->modes);
|
||||||
|
kill = wme->kill;
|
||||||
TAILQ_REMOVE(&wp->modes, wme, entry);
|
TAILQ_REMOVE(&wp->modes, wme, entry);
|
||||||
wme->mode->free(wme);
|
wme->mode->free(wme);
|
||||||
free(wme);
|
free(wme);
|
||||||
@@ -1268,6 +1271,9 @@ window_pane_reset_mode(struct window_pane *wp)
|
|||||||
server_redraw_window_borders(wp->window);
|
server_redraw_window_borders(wp->window);
|
||||||
server_status_window(wp->window);
|
server_status_window(wp->window);
|
||||||
notify_pane("pane-mode-changed", wp);
|
notify_pane("pane-mode-changed", wp);
|
||||||
|
|
||||||
|
if (kill)
|
||||||
|
server_kill_pane(wp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
Reference in New Issue
Block a user