diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2019-03-12 11:16:51 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2019-03-12 11:16:51 +0000 |
commit | c456969731f70c3030cafcfcd4a67fc5aa1cd36c (patch) | |
tree | fc1ae91d94379b8a09eecfb31ee3be5e7c6f59df /usr.bin/tmux/tmux.h | |
parent | bf3b2b3954f062c42cec536e1c766d1d41097483 (diff) |
Allow multiple modes to be open in a pane. A stack of open modes is kept
and the previous restored when the top is exited. If a mode that is
already on the stack is entered, the existing instance is moved to the
top as the active mode rather than being opened new.
Diffstat (limited to 'usr.bin/tmux/tmux.h')
-rw-r--r-- | usr.bin/tmux/tmux.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/usr.bin/tmux/tmux.h b/usr.bin/tmux/tmux.h index b14effaa15b..bf37ab2ae58 100644 --- a/usr.bin/tmux/tmux.h +++ b/usr.bin/tmux/tmux.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tmux.h,v 1.857 2019/03/12 07:39:27 nicm Exp $ */ +/* $OpenBSD: tmux.h,v 1.858 2019/03/12 11:16:50 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -722,7 +722,10 @@ struct window_mode_entry { const struct window_mode *mode; void *data; + struct screen *screen; u_int prefix; + + TAILQ_ENTRY (window_mode_entry) entry; }; /* Child window structure. */ @@ -768,6 +771,7 @@ struct window_pane { int fd; struct bufferevent *event; + u_int disabled; struct event resize_timer; @@ -793,7 +797,7 @@ struct window_pane { struct grid *saved_grid; struct grid_cell saved_cell; - struct window_mode_entry *mode; + TAILQ_HEAD (, window_mode_entry) modes; struct event modetimer; time_t modelast; char *searchstr; @@ -2208,6 +2212,7 @@ int window_pane_set_mode(struct window_pane *, const struct window_mode *, struct cmd_find_state *, struct args *); void window_pane_reset_mode(struct window_pane *); +void window_pane_reset_mode_all(struct window_pane *); void window_pane_key(struct window_pane *, struct client *, struct session *, struct winlink *, key_code, struct mouse_event *); |