summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/tmux.h
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2019-03-12 11:16:51 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2019-03-12 11:16:51 +0000
commitc456969731f70c3030cafcfcd4a67fc5aa1cd36c (patch)
treefc1ae91d94379b8a09eecfb31ee3be5e7c6f59df /usr.bin/tmux/tmux.h
parentbf3b2b3954f062c42cec536e1c766d1d41097483 (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.h9
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 *);