summaryrefslogtreecommitdiffstats
path: root/window-buffer.c
diff options
context:
space:
mode:
authornicm <nicm>2019-03-07 20:24:21 +0000
committernicm <nicm>2019-03-07 20:24:21 +0000
commitf98c66ece81953c777cd332c6bd29d707b1685e5 (patch)
treeb84b2b0bcefcc9e1f2e082234b46f5b6688e34ae /window-buffer.c
parent3c24bc5617bfdf90f94cc088f3769397c7569649 (diff)
Add a separate mode struct for the active window mode if any.
Diffstat (limited to 'window-buffer.c')
-rw-r--r--window-buffer.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/window-buffer.c b/window-buffer.c
index c67fa008..e1008e6b 100644
--- a/window-buffer.c
+++ b/window-buffer.c
@@ -25,12 +25,12 @@
#include "tmux.h"
-static struct screen *window_buffer_init(struct window_pane *,
+static struct screen *window_buffer_init(struct window_mode_entry *,
struct cmd_find_state *, struct args *);
-static void window_buffer_free(struct window_pane *);
-static void window_buffer_resize(struct window_pane *, u_int,
+static void window_buffer_free(struct window_mode_entry *);
+static void window_buffer_resize(struct window_mode_entry *, u_int,
u_int);
-static void window_buffer_key(struct window_pane *,
+static void window_buffer_key(struct window_mode_entry *,
struct client *, struct session *,
struct winlink *, key_code, struct mouse_event *);
@@ -253,13 +253,14 @@ window_buffer_search(__unused void *modedata, void *itemdata, const char *ss)
}
static struct screen *
-window_buffer_init(struct window_pane *wp, __unused struct cmd_find_state *fs,
- struct args *args)
+window_buffer_init(struct window_mode_entry *wme,
+ __unused struct cmd_find_state *fs, struct args *args)
{
+ struct window_pane *wp = wme->wp;
struct window_buffer_modedata *data;
struct screen *s;
- wp->modedata = data = xcalloc(1, sizeof *data);
+ wme->data = data = xcalloc(1, sizeof *data);
if (args == NULL || !args_has(args, 'F'))
data->format = xstrdup(WINDOW_BUFFER_DEFAULT_FORMAT);
@@ -282,9 +283,9 @@ window_buffer_init(struct window_pane *wp, __unused struct cmd_find_state *fs,
}
static void
-window_buffer_free(struct window_pane *wp)
+window_buffer_free(struct window_mode_entry *wme)
{
- struct window_buffer_modedata *data = wp->modedata;
+ struct window_buffer_modedata *data = wme->data;
u_int i;
if (data == NULL)
@@ -303,9 +304,9 @@ window_buffer_free(struct window_pane *wp)
}
static void
-window_buffer_resize(struct window_pane *wp, u_int sx, u_int sy)
+window_buffer_resize(struct window_mode_entry *wme, u_int sx, u_int sy)
{
- struct window_buffer_modedata *data = wp->modedata;
+ struct window_buffer_modedata *data = wme->data;
mode_tree_resize(data->data, sx, sy);
}
@@ -337,11 +338,12 @@ window_buffer_do_paste(void* modedata, void *itemdata, struct client *c,
}
static void
-window_buffer_key(struct window_pane *wp, struct client *c,
+window_buffer_key(struct window_mode_entry *wme, struct client *c,
__unused struct session *s, __unused struct winlink *wl, key_code key,
struct mouse_event *m)
{
- struct window_buffer_modedata *data = wp->modedata;
+ struct window_pane *wp = wme->wp;
+ struct window_buffer_modedata *data = wme->data;
struct mode_tree_data *mtd = data->data;
struct window_buffer_itemdata *item;
int finished;