Add function to get current offset from copy mode, from Michael Grant.

This commit is contained in:
nicm 2024-10-21 12:39:49 +00:00
parent eb04f9314b
commit df303770ea
2 changed files with 19 additions and 0 deletions

2
tmux.h
View File

@ -3245,6 +3245,8 @@ void window_copy_pagedown(struct window_pane *, int, int);
void window_copy_start_drag(struct client *, struct mouse_event *); void window_copy_start_drag(struct client *, struct mouse_event *);
char *window_copy_get_word(struct window_pane *, u_int, u_int); char *window_copy_get_word(struct window_pane *, u_int, u_int);
char *window_copy_get_line(struct window_pane *, u_int); char *window_copy_get_line(struct window_pane *, u_int);
int window_copy_get_current_offset(struct window_pane *, u_int *,
u_int *);
/* window-option.c */ /* window-option.c */
extern const struct window_mode window_customize_mode; extern const struct window_mode window_customize_mode;

View File

@ -4188,6 +4188,23 @@ window_copy_write_one(struct window_mode_entry *wme,
} }
} }
int
window_copy_get_current_offset(struct window_pane *wp, u_int *offset,
u_int *size)
{
struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
struct window_copy_mode_data *data = wme->data;
u_int hsize;
if (data == NULL)
return (0);
hsize = screen_hsize(data->backing);
*offset = hsize - data->oy;
*size = hsize;
return (1);
}
static void static void
window_copy_write_line(struct window_mode_entry *wme, window_copy_write_line(struct window_mode_entry *wme,
struct screen_write_ctx *ctx, u_int py) struct screen_write_ctx *ctx, u_int py)