Home | History | Annotate | Download | only in dist

Lines Matching refs:wme

208 	struct window_mode_entry	*wme;
319 struct window_mode_entry *wme = arg;
320 struct window_pane *wp = wme->wp;
321 struct window_copy_mode_data *data = wme->data;
328 if (TAILQ_FIRST(&wp->modes) != wme)
333 window_copy_cursor_up(wme, 1);
336 window_copy_cursor_down(wme, 1);
401 window_copy_common_init(struct window_mode_entry *wme)
403 struct window_pane *wp = wme->wp;
407 wme->data = data = xcalloc(1, sizeof *data);
432 evtimer_set(&data->dragtimer, window_copy_scroll_timer, wme);
438 window_copy_init(struct window_mode_entry *wme,
441 struct window_pane *wp = wme->swp;
447 data = window_copy_common_init(wme);
449 wme->swp != wme->wp);
473 window_copy_write_line(wme, &ctx, i);
481 window_copy_view_init(struct window_mode_entry *wme,
484 struct window_pane *wp = wme->wp;
489 data = window_copy_common_init(wme);
503 window_copy_free(struct window_mode_entry *wme)
505 struct window_copy_mode_data *data = wme->data;
546 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
547 struct window_copy_mode_data *data = wme->data;
586 window_copy_redraw_lines(wme, 0, 1);
589 window_copy_redraw_lines(wme, old_cy, backing->cy - old_cy + 1);
598 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
600 if (wme != NULL) {
602 window_copy_scroll1(wme, wp, sl_mpos, my, scroll_exit);
607 window_copy_scroll1(struct window_mode_entry *wme, struct window_pane *wp,
610 struct window_copy_mode_data *data = wme->data;
649 ox = window_copy_find_length(wme, oy);
684 px = window_copy_find_length(wme, py);
687 window_copy_cursor_end_of_line(wme);
696 window_copy_search_marks(wme, NULL, data->searchregex, 1);
697 window_copy_update_selection(wme, 1, 0);
698 window_copy_redraw_screen(wme);
708 window_copy_pageup1(struct window_mode_entry *wme, int half_page)
710 struct window_copy_mode_data *data = wme->data;
715 ox = window_copy_find_length(wme, oy);
742 px = window_copy_find_length(wme, py);
745 window_copy_cursor_end_of_line(wme);
749 window_copy_search_marks(wme, NULL, data->searchregex, 1);
750 window_copy_update_selection(wme, 1, 0);
751 window_copy_redraw_screen(wme);
765 window_copy_pagedown1(struct window_mode_entry *wme, int half_page,
768 struct window_copy_mode_data *data = wme->data;
773 ox = window_copy_find_length(wme, oy);
800 px = window_copy_find_length(wme, py);
803 window_copy_cursor_end_of_line(wme);
809 window_copy_search_marks(wme, NULL, data->searchregex, 1);
810 window_copy_update_selection(wme, 1, 0);
811 window_copy_redraw_screen(wme);
816 window_copy_previous_paragraph(struct window_mode_entry *wme)
818 struct window_copy_mode_data *data = wme->data;
823 while (oy > 0 && window_copy_find_length(wme, oy) == 0)
826 while (oy > 0 && window_copy_find_length(wme, oy) > 0)
829 window_copy_scroll_to(wme, 0, oy, 0);
833 window_copy_next_paragraph(struct window_mode_entry *wme)
835 struct window_copy_mode_data *data = wme->data;
842 while (oy < maxy && window_copy_find_length(wme, oy) == 0)
845 while (oy < maxy && window_copy_find_length(wme, oy) > 0)
848 ox = window_copy_find_length(wme, oy);
849 window_copy_scroll_to(wme, ox, oy, 0);
855 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
856 struct window_copy_mode_data *data = wme->data;
865 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
866 struct window_copy_mode_data *data = wme->data;
875 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
876 struct window_copy_mode_data *data = wme->data;
886 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
887 struct window_copy_mode_data *data = wme->data;
898 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
899 struct window_copy_mode_data *data = wme->data;
908 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
909 struct window_copy_mode_data *data = wme->data;
918 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
919 struct window_copy_mode_data *data = wme->data;
925 window_copy_formats(struct window_mode_entry *wme, struct format_tree *ft)
927 struct window_copy_mode_data *data = wme->data;
974 window_copy_get_screen(struct window_mode_entry *wme)
976 struct window_copy_mode_data *data = wme->data;
982 window_copy_size_changed(struct window_mode_entry *wme)
984 struct window_copy_mode_data *data = wme->data;
989 window_copy_clear_selection(wme);
990 window_copy_clear_marks(wme);
993 window_copy_write_lines(wme, &ctx, 0, screen_size_y(s));
997 window_copy_search_marks(wme, NULL, data->searchregex, 0);
1004 window_copy_resize(struct window_mode_entry *wme, u_int sx, u_int sy)
1006 struct window_copy_mode_data *data = wme->data;
1031 window_copy_size_changed(wme);
1032 window_copy_redraw_screen(wme);
1036 window_copy_key_table(struct window_mode_entry *wme)
1038 struct window_pane *wp = wme->wp;
1048 struct window_mode_entry *wme = cs->wme;
1049 struct window_copy_mode_data *data = wme->data;
1057 expanded = format_single(NULL, ss, NULL, NULL, NULL, wme->wp);
1074 struct window_mode_entry *wme = cs->wme;
1078 window_copy_append_selection(wme);
1079 window_copy_clear_selection(wme);
1086 struct window_mode_entry *wme = cs->wme;
1090 window_copy_append_selection(wme);
1091 window_copy_clear_selection(wme);
1098 struct window_mode_entry *wme = cs->wme;
1100 window_copy_cursor_back_to_indentation(wme);
1107 struct window_mode_entry *wme = cs->wme;
1110 struct window_copy_mode_data *data = wme->data;
1119 window_copy_start_selection(wme);
1126 struct window_mode_entry *wme = cs->wme;
1127 struct window_copy_mode_data *data = wme->data;
1138 struct window_mode_entry *wme = cs->wme;
1139 struct window_copy_mode_data *data = wme->data;
1144 window_copy_update_selection(wme, 1, 0);
1157 struct window_mode_entry *wme = cs->wme;
1159 window_copy_clear_selection(wme);
1167 struct window_mode_entry *wme = cs->wme;
1171 struct window_pane *wp = wme->wp;
1173 u_int np = wme->prefix, ocx, ocy, ooy;
1174 struct window_copy_mode_data *data = wme->data;
1195 window_copy_start_selection(wme);
1197 window_copy_cursor_down(wme, 0);
1198 window_copy_cursor_end_of_line(wme);
1202 window_copy_copy_pipe(wme, s, prefix, command,
1205 window_copy_copy_selection(wme, prefix,
1214 window_copy_clear_selection(wme);
1253 struct window_mode_entry *wme = cs->wme;
1257 struct window_pane *wp = wme->wp;
1258 struct window_copy_mode_data *data = wme->data;
1260 u_int np = wme->prefix, ocx, ocy, ooy;
1282 window_copy_cursor_start_of_line(wme);
1283 window_copy_start_selection(wme);
1285 window_copy_cursor_down(wme, 0);
1286 window_copy_cursor_end_of_line(wme);
1290 window_copy_copy_pipe(wme, s, prefix, command,
1293 window_copy_copy_selection(wme, prefix,
1302 window_copy_clear_selection(wme);
1340 struct window_mode_entry *wme = cs->wme;
1344 struct window_pane *wp = wme->wp;
1354 window_copy_copy_selection(wme, prefix, set_paste, set_clip);
1363 struct window_mode_entry *wme = cs->wme;
1366 window_copy_clear_selection(wme);
1373 struct window_mode_entry *wme = cs->wme;
1376 window_copy_clear_selection(wme);
1383 struct window_mode_entry *wme = cs->wme;
1384 u_int np = wme->prefix;
1387 window_copy_cursor_down(wme, 0);
1394 struct window_mode_entry *wme = cs->wme;
1395 struct window_copy_mode_data *data = wme->data;
1396 u_int np = wme->prefix, cy;
1400 window_copy_cursor_down(wme, 0);
1409 struct window_mode_entry *wme = cs->wme;
1410 u_int np = wme->prefix;
1413 window_copy_cursor_left(wme);
1420 struct window_mode_entry *wme = cs->wme;
1421 struct window_copy_mode_data *data = wme->data;
1422 u_int np = wme->prefix;
1425 window_copy_cursor_right(wme, data->screen.sel != NULL &&
1435 struct window_mode_entry *wme = cs->wme;
1436 struct window_copy_mode_data *data = wme->data;
1449 window_copy_scroll_up(wme, delta);
1452 window_copy_scroll_down(wme, delta);
1456 window_copy_update_selection(wme, 0, 0);
1464 struct window_copy_mode_data *data = cs->wme->data;
1475 struct window_copy_mode_data *data = cs->wme->data;
1492 struct window_mode_entry *wme = cs->wme;
1493 u_int np = wme->prefix;
1496 window_copy_cursor_up(wme, 0);
1503 struct window_mode_entry *wme = cs->wme;
1504 struct window_copy_mode_data *data = wme->data;
1506 window_copy_update_cursor(wme, data->cx, wme->wp->sy / 2);
1507 window_copy_update_selection(wme, 1, 0);
1514 struct window_mode_entry *wme = cs->wme;
1515 struct window_copy_mode_data *data = wme->data;
1517 window_copy_update_cursor(wme, wme->wp->sx / 2, data->cy);
1518 window_copy_update_selection(wme, 1, 0);
1525 struct window_mode_entry *wme = cs->wme;
1527 window_copy_cursor_end_of_line(wme);
1534 struct window_mode_entry *wme = cs->wme;
1535 struct window_copy_mode_data *data = wme->data;
1536 u_int np = wme->prefix;
1539 if (window_copy_pagedown1(wme, 1, data->scroll_exit))
1549 struct window_mode_entry *wme = cs->wme;
1550 u_int np = wme->prefix;
1553 if (window_copy_pagedown1(wme, 1, 1))
1562 struct window_mode_entry *wme = cs->wme;
1563 u_int np = wme->prefix;
1566 window_copy_pageup1(wme, 1);
1573 struct window_mode_entry *wme = cs->wme;
1574 struct window_copy_mode_data *data = wme->data;
1583 struct window_mode_entry *wme = cs->wme;
1584 struct window_copy_mode_data *data = wme->data;
1590 window_copy_other_end(wme);
1593 data->cx = window_copy_find_length(wme, screen_hsize(s) + data->cy);
1597 window_copy_search_marks(wme, NULL, data->searchregex, 1);
1598 window_copy_update_selection(wme, 1, 0);
1605 struct window_mode_entry *wme = cs->wme;
1606 struct window_copy_mode_data *data = wme->data;
1611 window_copy_other_end(wme);
1618 window_copy_search_marks(wme, NULL, data->searchregex, 1);
1619 window_copy_update_selection(wme, 1, 0);
1626 struct window_mode_entry *wme = cs->wme;
1627 struct window_copy_mode_data *data = wme->data;
1628 u_int np = wme->prefix;
1633 window_copy_cursor_jump(wme);
1637 window_copy_cursor_jump_back(wme);
1641 window_copy_cursor_jump_to(wme);
1645 window_copy_cursor_jump_to_back(wme);
1654 struct window_mode_entry *wme = cs->wme;
1655 struct window_copy_mode_data *data = wme->data;
1656 u_int np = wme->prefix;
1661 window_copy_cursor_jump_back(wme);
1665 window_copy_cursor_jump(wme);
1669 window_copy_cursor_jump_to_back(wme);
1673 window_copy_cursor_jump_to(wme);
1682 struct window_mode_entry *wme = cs->wme;
1683 struct window_copy_mode_data *data = wme->data;
1688 window_copy_update_selection(wme, 1, 0);
1695 struct window_mode_entry *wme = cs->wme;
1696 u_int np = wme->prefix;
1697 struct window_copy_mode_data *data = wme->data;
1709 xx = window_copy_find_length(wme, py);
1733 window_copy_cursor_previous_word(wme, close, 1);
1750 xx = window_copy_find_length(wme, py);
1772 window_copy_scroll_to(wme, px, py, 0);
1781 struct window_mode_entry *wme = cs->wme;
1782 u_int np = wme->prefix;
1783 struct window_copy_mode_data *data = wme->data;
1796 xx = window_copy_find_length(wme, py);
1823 window_copy_scroll_to(wme, px, py, 0);
1832 window_copy_scroll_to(wme, sx, sy, 0);
1845 window_copy_cursor_next_word_end(wme, open, 0);
1859 xx = window_copy_find_length(wme, py);
1877 xx = window_copy_find_length(wme, py);
1893 window_copy_scroll_to(wme, px, py, 0);
1902 struct window_mode_entry *wme = cs->wme;
1903 u_int np = wme->prefix;
1906 window_copy_next_paragraph(wme);
1913 struct window_mode_entry *wme = cs->wme;
1914 u_int np = wme->prefix;
1917 window_copy_cursor_next_word(wme, "");
1924 struct window_mode_entry *wme = cs->wme;
1925 u_int np = wme->prefix;
1928 window_copy_cursor_next_word_end(wme, "", 0);
1935 struct window_mode_entry *wme = cs->wme;
1936 u_int np = wme->prefix;
1942 window_copy_cursor_next_word(wme, separators);
1949 struct window_mode_entry *wme = cs->wme;
1950 u_int np = wme->prefix;
1956 window_copy_cursor_next_word_end(wme, separators, 0);
1963 struct window_mode_entry *wme = cs->wme;
1964 u_int np = wme->prefix;
1965 struct window_copy_mode_data *data = wme->data;
1969 window_copy_other_end(wme);
1976 struct window_mode_entry *wme = cs->wme;
1978 struct window_copy_mode_data *data = wme->data;
1994 struct window_mode_entry *wme = cs->wme;
1995 struct window_copy_mode_data *data = wme->data;
1996 u_int np = wme->prefix;
1999 if (window_copy_pagedown1(wme, 0, data->scroll_exit))
2008 struct window_mode_entry *wme = cs->wme;
2009 u_int np = wme->prefix;
2012 if (window_copy_pagedown1(wme, 0, 1))
2021 struct window_mode_entry *wme = cs->wme;
2022 u_int np = wme->prefix;
2025 window_copy_pageup1(wme, 0);
2032 struct window_mode_entry *wme = cs->wme;
2033 u_int np = wme->prefix;
2036 window_copy_previous_paragraph(wme);
2043 struct window_mode_entry *wme = cs->wme;
2044 u_int np = wme->prefix;
2047 window_copy_cursor_previous_word(wme, "", 1);
2054 struct window_mode_entry *wme = cs->wme;
2055 u_int np = wme->prefix;
2061 window_copy_cursor_previous_word(wme, separators, 1);
2068 struct window_mode_entry *wme = cs->wme;
2069 struct window_copy_mode_data *data = wme->data;
2072 window_copy_rectangle_set(wme, 1);
2080 struct window_mode_entry *wme = cs->wme;
2081 struct window_copy_mode_data *data = wme->data;
2084 window_copy_rectangle_set(wme, 0);
2092 struct window_mode_entry *wme = cs->wme;
2093 struct window_copy_mode_data *data = wme->data;
2096 window_copy_rectangle_set(wme, !data->rectflag);
2104 struct window_mode_entry *wme = cs->wme;
2105 struct window_copy_mode_data *data = wme->data;
2106 u_int np = wme->prefix;
2109 window_copy_cursor_down(wme, 1);
2118 struct window_mode_entry *wme = cs->wme;
2119 struct window_copy_mode_data *data = wme->data;
2120 u_int np = wme->prefix;
2123 window_copy_cursor_down(wme, 1);
2132 struct window_mode_entry *wme = cs->wme;
2133 u_int np = wme->prefix;
2136 window_copy_cursor_up(wme, 1);
2143 struct window_mode_entry *wme = cs->wme;
2144 struct window_copy_mode_data *data = wme->data;
2145 u_int np = wme->prefix;
2149 window_copy_search_up(wme, data->searchregex);
2152 window_copy_search_down(wme, data->searchregex);
2160 struct window_mode_entry *wme = cs->wme;
2161 struct window_copy_mode_data *data = wme->data;
2162 u_int np = wme->prefix;
2166 window_copy_search_down(wme, data->searchregex);
2169 window_copy_search_up(wme, data->searchregex);
2177 struct window_mode_entry *wme = cs->wme;
2178 struct window_copy_mode_data *data = wme->data;
2179 u_int np = wme->prefix;
2187 window_copy_cursor_start_of_line(wme);
2191 window_copy_start_selection(wme);
2192 window_copy_cursor_end_of_line(wme);
2194 data->endselrx = window_copy_find_length(wme, data->endselry);
2196 window_copy_cursor_down(wme, 0);
2197 window_copy_cursor_end_of_line(wme);
2206 struct window_mode_entry *wme = cs->wme;
2208 struct window_copy_mode_data *data = wme->data;
2218 window_copy_cursor_previous_word(wme, data->separators, 0);
2223 window_copy_start_selection(wme);
2233 if (px >= window_copy_find_length(wme, py) ||
2234 !window_copy_in_set(wme, nextx, nexty, WHITESPACE))
2235 window_copy_cursor_next_word_end(wme, data->separators, 1);
2237 window_copy_update_cursor(wme, px, data->cy);
2238 if (window_copy_update_selection(wme, 1, 1))
2239 window_copy_redraw_lines(wme, data->cy, 1);
2255 struct window_copy_mode_data *data = cs->wme->data;
2266 struct window_mode_entry *wme = cs->wme;
2268 window_copy_cursor_start_of_line(wme);
2275 struct window_mode_entry *wme = cs->wme;
2276 struct window_copy_mode_data *data = wme->data;
2281 window_copy_update_selection(wme, 1, 0);
2288 struct window_mode_entry *wme = cs->wme;
2292 struct window_pane *wp = wme->wp;
2304 window_copy_copy_pipe(wme, s, prefix, command,
2315 struct window_mode_entry *wme = cs->wme;
2318 window_copy_clear_selection(wme);
2325 struct window_mode_entry *wme = cs->wme;
2328 wme);
2335 struct window_mode_entry *wme = cs->wme;
2339 struct window_pane *wp = wme->wp;
2345 window_copy_pipe(wme, s, command);
2354 struct window_mode_entry *wme = cs->wme;
2357 window_copy_clear_selection(wme);
2364 struct window_mode_entry *wme = cs->wme;
2367 window_copy_clear_selection(wme);
2374 struct window_mode_entry *wme = cs->wme;
2378 window_copy_goto_line(wme, arg0);
2385 struct window_mode_entry *wme = cs->wme;
2386 struct window_copy_mode_data *data = wme->data;
2387 u_int np = wme->prefix;
2395 window_copy_cursor_jump_back(wme);
2403 struct window_mode_entry *wme = cs->wme;
2404 struct window_copy_mode_data *data = wme->data;
2405 u_int np = wme->prefix;
2413 window_copy_cursor_jump(wme);
2421 struct window_mode_entry *wme = cs->wme;
2422 struct window_copy_mode_data *data = wme->data;
2423 u_int np = wme->prefix;
2431 window_copy_cursor_jump_to_back(wme);
2439 struct window_mode_entry *wme = cs->wme;
2440 struct window_copy_mode_data *data = wme->data;
2441 u_int np = wme->prefix;
2449 window_copy_cursor_jump_to(wme);
2457 struct window_mode_entry *wme = cs->wme;
2459 window_copy_jump_to_mark(wme);
2466 struct window_mode_entry *wme = cs->wme;
2468 window_copy_cursor_prompt(wme, 1, args_has(cs->wargs, 'o'));
2475 struct window_mode_entry *wme = cs->wme;
2477 window_copy_cursor_prompt(wme, 0, args_has(cs->wargs, 'o'));
2484 struct window_mode_entry *wme = cs->wme;
2485 struct window_copy_mode_data *data = wme->data;
2486 u_int np = wme->prefix;
2496 window_copy_search_up(wme, 1);
2504 struct window_mode_entry *wme = cs->wme;
2505 struct window_copy_mode_data *data = wme->data;
2506 u_int np = wme->prefix;
2516 window_copy_search_up(wme, 0);
2524 struct window_mode_entry *wme = cs->wme;
2525 struct window_copy_mode_data *data = wme->data;
2526 u_int np = wme->prefix;
2536 window_copy_search_down(wme, 1);
2544 struct window_mode_entry *wme = cs->wme;
2545 struct window_copy_mode_data *data = wme->data;
2546 u_int np = wme->prefix;
2556 window_copy_search_down(wme, 0);
2564 struct window_mode_entry *wme = cs->wme;
2565 struct window_copy_mode_data *data = wme->data;
2587 window_copy_clear_marks(wme);
2597 if (!window_copy_search_up(wme, 0)) {
2598 window_copy_clear_marks(wme);
2607 if (!window_copy_search_down(wme, 0)) {
2608 window_copy_clear_marks(wme);
2619 struct window_mode_entry *wme = cs->wme;
2620 struct window_copy_mode_data *data = wme->data;
2642 window_copy_clear_marks(wme);
2652 if (!window_copy_search_down(wme, 0)) {
2653 window_copy_clear_marks(wme);
2662 if (!window_copy_search_up(wme, 0)) {
2663 window_copy_clear_marks(wme);
2673 struct window_mode_entry *wme = cs->wme;
2674 struct window_pane *wp = wme->swp;
2675 struct window_copy_mode_data *data = wme->data;
2683 NULL, wme->swp != wme->wp);
2685 window_copy_size_changed(wme);
3140 window_copy_command(struct window_mode_entry *wme, struct client *c,
3144 struct window_copy_mode_data *data = wme->data;
3145 struct window_pane *wp = wme->wp;
3161 cs.wme = wme;
3197 window_copy_clear_marks(wme);
3203 wme->prefix = 1;
3208 window_copy_redraw_screen(wme);
3212 window_copy_scroll_to(struct window_mode_entry *wme, u_int px, u_int py,
3215 struct window_copy_mode_data *data = wme->data;
3239 window_copy_search_marks(wme, NULL, data->searchregex, 1);
3240 window_copy_update_selection(wme, 1, 0);
3242 window_copy_redraw_screen(wme);
3786 window_copy_search_jump(struct window_mode_entry *wme, struct grid *gd,
3845 window_copy_scroll_to(wme, px, i, 1);
3849 return (window_copy_search_jump(wme, gd, sgd,
3885 window_copy_search(struct window_mode_entry *wme, int direction, int regex)
3887 struct window_pane *wp = wme->wp;
3888 struct window_copy_mode_data *data = wme->data;
3912 window_copy_clear_marks(wme);
3959 found = window_copy_search_jump(wme, gd, ss.grid, fx, fy, endline, cis,
3962 window_copy_search_marks(wme, &ss, regex, visible_only);
3977 window_copy_search_jump(wme, gd, ss.grid, fx,
4020 window_copy_redraw_screen(wme);
4094 window_copy_search_marks(struct window_mode_entry *wme, struct screen *ssp,
4097 struct window_copy_mode_data *data = wme->data;
4185 window_copy_clear_marks(wme);
4222 window_copy_clear_marks(struct window_mode_entry *wme)
4224 struct window_copy_mode_data *data = wme->data;
4231 window_copy_search_up(struct window_mode_entry *wme, int regex)
4233 return (window_copy_search(wme, 0, regex));
4237 window_copy_search_down(struct window_mode_entry *wme, int regex)
4239 return (window_copy_search(wme, 1, regex));
4243 window_copy_goto_line(struct window_mode_entry *wme, const char *linestr)
4245 struct window_copy_mode_data *data = wme->data;
4256 window_copy_update_selection(wme, 1, 0);
4257 window_copy_redraw_screen(wme);
4329 window_copy_update_style(struct window_mode_entry *wme, u_int fx, u_int fy,
4333 struct window_pane *wp = wme->wp;
4334 struct window_copy_mode_data *data = wme->data;
4403 window_copy_write_one(struct window_mode_entry *wme,
4408 struct window_copy_mode_data *data = wme->data;
4417 window_copy_update_style(wme, fx, fy, &gc, mgc, cgc,
4428 struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
4429 struct window_copy_mode_data *data = wme->data;
4442 window_copy_write_line(struct window_mode_entry *wme,
4445 struct window_pane *wp = wme->wp;
4446 struct window_copy_mode_data *data = wme->data;
4467 window_copy_write_one(wme, ctx, py, hsize - data->oy + py,
4491 window_copy_write_lines(struct window_mode_entry *wme,
4497 window_copy_write_line(wme, ctx, py);
4501 window_copy_redraw_selection(struct window_mode_entry *wme, u_int old_y)
4503 struct window_copy_mode_data *data = wme->data;
4525 window_copy_redraw_lines(wme, start, end - start + 1);
4529 window_copy_redraw_lines(struct window_mode_entry *wme, u_int py, u_int ny)
4531 struct window_pane *wp = wme->wp;
4532 struct window_copy_mode_data *data = wme->data;
4538 window_copy_write_line(wme, &ctx, i);
4546 window_copy_redraw_screen(struct window_mode_entry *wme)
4548 struct window_copy_mode_data *data = wme->data;
4550 window_copy_redraw_lines(wme, 0, screen_size_y(&data->screen));
4554 window_copy_synchronize_cursor_end(struct window_mode_entry *wme, int begin,
4557 struct window_copy_mode_data *data = wme->data;
4569 window_copy_cursor_previous_word_pos(wme,
4578 if (xx >= window_copy_find_length(wme, yy) ||
4579 !window_copy_in_set(wme, xx + 1, yy, WHITESPACE)) {
4580 window_copy_cursor_next_word_end_pos(wme,
4605 xx = window_copy_find_length(wme, yy);
4625 window_copy_synchronize_cursor(struct window_mode_entry *wme, int no_reset)
4627 struct window_copy_mode_data *data = wme->data;
4631 window_copy_synchronize_cursor_end(wme, 0, no_reset);
4634 window_copy_synchronize_cursor_end(wme, 1, no_reset);
4642 window_copy_update_cursor(struct window_mode_entry *wme, u_int cx, u_int cy)
4644 struct window_pane *wp = wme->wp;
4645 struct window_copy_mode_data *data = wme->data;
4653 window_copy_redraw_lines(wme, old_cy, 1);
4655 window_copy_redraw_lines(wme, data->cy, 1);
4664 window_copy_start_selection(struct window_mode_entry *wme)
4666 struct window_copy_mode_data *data = wme->data;
4676 window_copy_set_selection(wme, 1, 0);
4680 window_copy_adjust_selection(struct window_mode_entry *wme, u_int *selx,
4683 struct window_copy_mode_data *data = wme->data;
4713 window_copy_update_selection(struct window_mode_entry *wme, int may_redraw,
4716 struct window_copy_mode_data *data = wme->data;
4721 return (window_copy_set_selection(wme, may_redraw, no_reset));
4725 window_copy_set_selection(struct window_mode_entry *wme, int may_redraw,
4728 struct window_pane *wp = wme->wp;
4729 struct window_copy_mode_data *data = wme->data;
4737 window_copy_synchronize_cursor(wme, no_reset);
4742 startrelpos = window_copy_adjust_selection(wme, &sx, &sy);
4747 endrelpos = window_copy_adjust_selection(wme, &endsx, &endsy);
4773 window_copy_redraw_lines(wme, sy, cy - sy + 1);
4775 window_copy_redraw_lines(wme, cy, sy - cy + 1);
4778 window_copy_redraw_lines(wme, endsy,
4781 window_copy_redraw_lines(wme, cy,
4791 window_copy_get_selection(struct window_mode_entry *wme, size_t *len)
4793 struct window_pane *wp = wme->wp;
4794 struct window_copy_mode_data *data = wme->data;
4833 ey_last = window_copy_find_length(wme, ey);
4891 window_copy_copy_line(wme, &buf, &off, i,
4913 window_copy_copy_buffer(struct window_mode_entry *wme, const char *prefix,
4916 struct window_pane *wp = wme->wp;
4934 window_copy_pipe_run(struct window_mode_entry *wme, struct session *s,
4940 buf = window_copy_get_selection(wme, len);
4952 window_copy_pipe(struct window_mode_entry *wme, struct session *s,
4958 buf = window_copy_pipe_run(wme, s, cmd, &len);
4963 window_copy_copy_pipe(struct window_mode_entry *wme, struct session *s,
4969 buf = window_copy_pipe_run(wme, s, cmd, &len);
4971 window_copy_copy_buffer(wme, prefix, buf, len, set_paste,
4977 window_copy_copy_selection(struct window_mode_entry *wme, const char *prefix,
4983 buf = window_copy_get_selection(wme, &len);
4985 window_copy_copy_buffer(wme, prefix, buf, len, set_paste,
4991 window_copy_append_selection(struct window_mode_entry *wme)
4993 struct window_pane *wp = wme->wp;
5000 buf = window_copy_get_selection(wme, &len);
5024 window_copy_copy_line(struct window_mode_entry *wme, char **buf, size_t *off,
5027 struct window_copy_mode_data *data = wme->data;
5050 xx = window_copy_find_length(wme, sy);
5087 window_copy_clear_selection(struct window_mode_entry *wme)
5089 struct window_copy_mode_data *data = wme->data;
5099 px = window_copy_find_length(wme, py);
5101 window_copy_update_cursor(wme, px, data->cy);
5105 window_copy_in_set(struct window_mode_entry *wme, u_int px, u_int py,
5108 struct window_copy_mode_data *data = wme->data;
5114 window_copy_find_length(struct window_mode_entry *wme, u_int py)
5116 struct window_copy_mode_data *data = wme->data;
5122 window_copy_cursor_start_of_line(struct window_mode_entry *wme)
5124 struct window_copy_mode_data *data = wme->data;
5137 window_copy_acquire_cursor_up(wme, hsize, data->oy, oldy, px, py);
5141 window_copy_cursor_back_to_indentation(struct window_mode_entry *wme)
5143 struct window_copy_mode_data *data = wme->data;
5156 window_copy_acquire_cursor_up(wme, hsize, data->oy, oldy, px, py);
5160 window_copy_cursor_end_of_line(struct window_mode_entry *wme)
5162 struct window_copy_mode_data *data = wme->data;
5178 window_copy_acquire_cursor_down(wme, hsize, screen_size_y(back_s),
5183 window_copy_other_end(struct window_mode_entry *wme)
5185 struct window_copy_mode_data *data = wme->data;
5229 window_copy_update_selection(wme, 1, 1);
5230 window_copy_redraw_screen(wme);
5234 window_copy_cursor_left(struct window_mode_entry *wme)
5236 struct window_copy_mode_data *data = wme->data;
5249 window_copy_acquire_cursor_up(wme, hsize, data->oy, oldy, px, py);
5253 window_copy_cursor_right(struct window_mode_entry *wme, int all)
5255 struct window_copy_mode_data *data = wme->data;
5268 window_copy_acquire_cursor_down(wme, hsize, screen_size_y(back_s),
5273 window_copy_cursor_up(struct window_mode_entry *wme, int scroll_only)
5275 struct window_copy_mode_data *data = wme->data;
5282 ox = window_copy_find_length(wme, oy);
5289 window_copy_other_end(wme);
5294 window_copy_scroll_down(wme, 1);
5297 window_copy_redraw_lines(wme, data->cy, 1);
5299 window_copy_redraw_lines(wme, data->cy, 2);
5303 window_copy_update_cursor(wme, data->lastcx,
5306 window_copy_update_cursor(wme, data->cx, data->cy - 1);
5307 if (window_copy_update_selection(wme, 1, 0)) {
5309 window_copy_redraw_lines(wme, data->cy, 1);
5311 window_copy_redraw_lines(wme, data->cy, 2);
5317 px = window_copy_find_length(wme, py);
5321 window_copy_update_cursor(wme, px, data->cy);
5322 if (window_copy_update_selection(wme, 1, 0))
5323 window_copy_redraw_lines(wme, data->cy, 1);
5333 px = window_copy_find_length(wme, py);
5334 window_copy_update_cursor(wme, px, data->cy);
5335 if (window_copy_update_selection(wme, 1, 0))
5336 window_copy_redraw_lines(wme, data->cy, 1);
5340 window_copy_update_cursor(wme, 0, data->cy);
5341 if (window_copy_update_selection(wme, 1, 0))
5342 window_copy_redraw_lines(wme, data->cy, 1);
5347 window_copy_cursor_down(struct window_mode_entry *wme, int scroll_only)
5349 struct window_copy_mode_data *data = wme->data;
5356 ox = window_copy_find_length(wme, oy);
5363 window_copy_other_end(wme);
5368 window_copy_scroll_up(wme, 1);
5370 window_copy_redraw_lines(wme, data->cy - 1, 2);
5373 window_copy_update_cursor(wme, data->lastcx,
5376 window_copy_update_cursor(wme, data->cx, data->cy + 1);
5377 if (window_copy_update_selection(wme, 1, 0))
5378 window_copy_redraw_lines(wme, data->cy - 1, 2);
5383 px = window_copy_find_length(wme, py);
5387 window_copy_update_cursor(wme, px, data->cy);
5388 if (window_copy_update_selection(wme, 1, 0))
5389 window_copy_redraw_lines(wme, data->cy, 1);
5399 px = window_copy_find_length(wme, py);
5400 window_copy_update_cursor(wme, px, data->cy);
5401 if (window_copy_update_selection(wme, 1, 0))
5402 window_copy_redraw_lines(wme, data->cy, 1);
5406 window_copy_update_cursor(wme, 0, data->cy);
5407 if (window_copy_update_selection(wme, 1, 0))
5408 window_copy_redraw_lines(wme, data->cy, 1);
5413 window_copy_cursor_jump(struct window_mode_entry *wme)
5415 struct window_copy_mode_data *data = wme->data;
5428 window_copy_acquire_cursor_down(wme, hsize,
5434 window_copy_cursor_jump_back(struct window_mode_entry *wme)
5436 struct window_copy_mode_data *data = wme->data;
5450 window_copy_acquire_cursor_up(wme, hsize, data->oy, oldy, px,
5456 window_copy_cursor_jump_to(struct window_mode_entry *wme)
5458 struct window_copy_mode_data *data = wme->data;
5472 window_copy_acquire_cursor_down(wme, hsize,
5478 window_copy_cursor_jump_to_back(struct window_mode_entry *wme)
5480 struct window_copy_mode_data *data = wme->data;
5496 window_copy_acquire_cursor_up(wme, hsize, data->oy, oldy, px,
5502 window_copy_cursor_next_word(struct window_mode_entry *wme,
5505 struct window_copy_mode_data *data = wme->data;
5518 window_copy_acquire_cursor_down(wme, hsize, screen_size_y(back_s),
5524 window_copy_cursor_next_word_end_pos(struct window_mode_entry *wme,
5527 struct window_pane *wp = wme->wp;
5528 struct window_copy_mode_data *data = wme->data;
5553 window_copy_cursor_next_word_end(struct window_mode_entry *wme,
5556 struct window_pane *wp = wme->wp;
5557 struct window_copy_mode_data *data = wme->data;
5577 window_copy_acquire_cursor_down(wme, hsize, screen_size_y(back_s),
5583 window_copy_cursor_previous_word_pos(struct window_mode_entry *wme,
5586 struct window_copy_mode_data *data = wme->data;
5604 window_copy_cursor_previous_word(struct window_mode_entry *wme,
5607 struct window_copy_mode_data *data = wme->data;
5608 struct window *w = wme->wp->window;
5627 window_copy_acquire_cursor_up(wme, hsize, data->oy, oldy, px, py);
5631 window_copy_cursor_prompt(struct window_mode_entry *wme, int direction,
5634 struct window_copy_mode_data *data = wme->data;
5674 window_copy_update_selection(wme, 1, 0);
5675 window_copy_redraw_screen(wme);
5679 window_copy_scroll_up(struct window_mode_entry *wme, u_int ny)
5681 struct window_pane *wp = wme->wp;
5682 struct window_copy_mode_data *data = wme->data;
5693 window_copy_search_marks(wme, NULL, data->searchregex, 1);
5694 window_copy_update_selection(wme, 0, 0);
5699 window_copy_write_lines(wme, &ctx, screen_size_y(s) - ny, ny);
5700 window_copy_write_line(wme, &ctx, 0);
5702 window_copy_write_line(wme, &ctx, 1);
5704 window_copy_write_line(wme, &ctx, screen_size_y(s) - 2);
5706 window_copy_write_line(wme, &ctx, screen_size_y(s) - ny - 1);
5713 window_copy_scroll_down(struct window_mode_entry *wme, u_int ny)
5715 struct window_pane *wp = wme->wp;
5716 struct window_copy_mode_data *data = wme->data;
5730 window_copy_search_marks(wme, NULL, data->searchregex, 1);
5731 window_copy_update_selection(wme, 0, 0);
5736 window_copy_write_lines(wme, &ctx, 0, ny);
5738 window_copy_write_line(wme, &ctx, ny);
5740 window_copy_write_line(wme, &ctx, 1);
5747 window_copy_rectangle_set(struct window_mode_entry *wme, int rectflag)
5749 struct window_copy_mode_data *data = wme->data;
5755 px = window_copy_find_length(wme, py);
5757 window_copy_update_cursor(wme, px, data->cy);
5759 window_copy_update_selection(wme, 1, 0);
5760 window_copy_redraw_screen(wme);
5767 struct window_mode_entry *wme;
5773 wme = TAILQ_FIRST(&wp->modes);
5774 if (wme == NULL)
5776 if (wme->mode != &window_copy_mode && wme->mode != &window_view_mode)
5782 window_copy_update_cursor(wme, x, y);
5789 struct window_mode_entry *wme;
5799 wme = TAILQ_FIRST(&wp->modes);
5800 if (wme == NULL)
5802 if (wme->mode != &window_copy_mode && wme->mode != &window_view_mode)
5811 data = wme->data;
5818 window_copy_update_cursor(wme, x, y);
5819 window_copy_cursor_previous_word_pos(wme,
5823 window_copy_update_cursor(wme, x, y);
5826 window_copy_update_cursor(wme, 0, y);
5829 window_copy_update_cursor(wme, x, y);
5830 window_copy_start_selection(wme);
5834 window_copy_redraw_screen(wme);
5842 struct window_mode_entry *wme;
5855 wme = TAILQ_FIRST(&wp->modes);
5856 if (wme == NULL)
5858 if (wme->mode != &window_copy_mode && wme->mode != &window_view_mode)
5861 data = wme->data;
5869 window_copy_update_cursor(wme, x, y);
5870 if (window_copy_update_selection(wme, 1, 0))
5871 window_copy_redraw_selection(wme, old_cy);
5875 window_copy_cursor_up(wme, 1);
5878 window_copy_cursor_down(wme, 1);
5887 struct window_mode_entry *wme;
5896 wme = TAILQ_FIRST(&wp->modes);
5897 if (wme == NULL)
5899 if (wme->mode != &window_copy_mode && wme->mode != &window_view_mode)
5902 data = wme->data;
5907 window_copy_jump_to_mark(struct window_mode_entry *wme)
5909 struct window_copy_mode_data *data = wme->data;
5925 window_copy_update_selection(wme, 0, 0);
5926 window_copy_redraw_screen(wme);
5931 window_copy_acquire_cursor_up(struct window_mode_entry *wme, u_int hsize,
5947 window_copy_cursor_up(wme, 1);
5950 window_copy_update_cursor(wme, px, cy);
5951 if (window_copy_update_selection(wme, 1, 0))
5952 window_copy_redraw_lines(wme, cy, nd);
5957 window_copy_acquire_cursor_down(struct window_mode_entry *wme, u_int hsize,
5973 window_copy_cursor_down(wme, 1);
5977 window_copy_update_cursor(wme, px, yy);
5979 window_copy_update_cursor(wme, px, cy);
5980 if (window_copy_update_selection(wme, 1, no_reset))
5981 window_copy_redraw_lines(wme, oldy, nd);