diff options
author | Thomas Adam <thomas@xteddy.org> | 2020-03-20 20:01:34 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2020-03-20 20:01:34 +0000 |
commit | e4efd59fe074e2c776fe2fa7fb6e5871d42a391c (patch) | |
tree | 1fc6ddb06d04f18e8b91a80c403b867806a91945 /window-copy.c | |
parent | 9894e50c4296e9d34b208679f229bda636b70ff5 (diff) | |
parent | 1a4e64ba69c7c5f287558333b3acb0e98e767081 (diff) | |
download | rtmux-e4efd59fe074e2c776fe2fa7fb6e5871d42a391c.tar.gz rtmux-e4efd59fe074e2c776fe2fa7fb6e5871d42a391c.tar.bz2 rtmux-e4efd59fe074e2c776fe2fa7fb6e5871d42a391c.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/window-copy.c b/window-copy.c index c6d3612f..9fe4fcef 100644 --- a/window-copy.c +++ b/window-copy.c @@ -596,10 +596,31 @@ window_copy_next_paragraph(struct window_mode_entry *wme) window_copy_scroll_to(wme, ox, oy); } +char * +window_copy_get_word(struct window_pane *wp, u_int x, u_int y) +{ + struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes); + struct window_copy_mode_data *data = wme->data; + struct grid *gd = data->screen.grid; + + return (format_grid_word(gd, x, gd->hsize + y)); +} + +char * +window_copy_get_line(struct window_pane *wp, u_int y) +{ + struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes); + struct window_copy_mode_data *data = wme->data; + struct grid *gd = data->screen.grid; + + return (format_grid_line(gd, gd->hsize + y)); +} + static void window_copy_formats(struct window_mode_entry *wme, struct format_tree *ft) { struct window_copy_mode_data *data = wme->data; + struct grid *gd = data->screen.grid; char *s; format_add(ft, "scroll_position", "%d", data->oy); @@ -619,13 +640,13 @@ window_copy_formats(struct window_mode_entry *wme, struct format_tree *ft) } else format_add(ft, "selection_active", "%d", 0); - s = format_grid_word(data->screen.grid, data->cx, data->cy); + s = format_grid_word(gd, data->cx, gd->hsize + data->cy); if (s != NULL) { format_add(ft, "copy_cursor_word", "%s", s); free(s); } - s = format_grid_line(data->screen.grid, data->cy); + s = format_grid_line(gd, gd->hsize + data->cy); if (s != NULL) { format_add(ft, "copy_cursor_line", "%s", s); free(s); |