summaryrefslogtreecommitdiffstats
path: root/window-copy.c
diff options
context:
space:
mode:
authornicm <nicm>2019-03-07 19:01:21 +0000
committernicm <nicm>2019-03-07 19:01:21 +0000
commit7f093fcddcf82c01b6c4d1446af2ebfac5d8a686 (patch)
tree4b0987bae22d0b1c4460f2bdff5e54a0862de938 /window-copy.c
parent5cdd578906985c7abb9d1bba39384e201dada10e (diff)
Make adding mode formats a function pointer as well.
Diffstat (limited to 'window-copy.c')
-rw-r--r--window-copy.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/window-copy.c b/window-copy.c
index 65b29df0..ed36efc0 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -31,10 +31,11 @@ static void window_copy_command(struct window_pane *, struct client *,
static struct screen *window_copy_init(struct window_pane *,
struct cmd_find_state *, struct args *);
static void window_copy_free(struct window_pane *);
+static void window_copy_resize(struct window_pane *, u_int, u_int);
+static void window_copy_formats(struct window_pane *, struct format_tree *);
static int window_copy_pagedown(struct window_pane *, int, int);
static void window_copy_next_paragraph(struct window_pane *);
static void window_copy_previous_paragraph(struct window_pane *);
-static void window_copy_resize(struct window_pane *, u_int, u_int);
static void window_copy_redraw_selection(struct window_pane *, u_int);
static void window_copy_redraw_lines(struct window_pane *, u_int, u_int);
@@ -113,6 +114,7 @@ const struct window_mode window_copy_mode = {
.resize = window_copy_resize,
.key_table = window_copy_key_table,
.command = window_copy_command,
+ .formats = window_copy_formats,
};
enum {
@@ -473,6 +475,16 @@ window_copy_next_paragraph(struct window_pane *wp)
}
static void
+window_copy_formats(struct window_pane *wp, struct format_tree *ft)
+{
+ struct window_copy_mode_data *data = wp->modedata;
+
+ format_add(ft, "selection_present", "%d", data->screen.sel != NULL);
+ format_add(ft, "scroll_position", "%d", data->oy);
+ format_add(ft, "rectangle_toggle", "%d", data->rectflag);
+}
+
+static void
window_copy_resize(struct window_pane *wp, u_int sx, u_int sy)
{
struct window_copy_mode_data *data = wp->modedata;
@@ -2447,19 +2459,6 @@ window_copy_scroll_down(struct window_pane *wp, u_int ny)
screen_write_stop(&ctx);
}
-void
-window_copy_add_formats(struct window_pane *wp, struct format_tree *ft)
-{
- struct window_copy_mode_data *data = wp->modedata;
-
- if (wp->mode != &window_copy_mode)
- return;
-
- format_add(ft, "selection_present", "%d", data->screen.sel != NULL);
- format_add(ft, "scroll_position", "%d", data->oy);
- format_add(ft, "rectangle_toggle", "%d", data->rectflag);
-}
-
static void
window_copy_rectangle_toggle(struct window_pane *wp)
{