version 1.147, 2016/03/18 14:27:24 |
version 1.148, 2016/04/27 09:39:09 |
|
|
struct screen *window_copy_init(struct window_pane *); |
struct screen *window_copy_init(struct window_pane *); |
void window_copy_free(struct window_pane *); |
void window_copy_free(struct window_pane *); |
void window_copy_pagedown(struct window_pane *); |
void window_copy_pagedown(struct window_pane *); |
|
void window_copy_next_paragraph(struct window_pane *); |
|
void window_copy_previous_paragraph(struct window_pane *); |
void window_copy_resize(struct window_pane *, u_int, u_int); |
void window_copy_resize(struct window_pane *, u_int, u_int); |
void window_copy_key(struct window_pane *, struct client *, struct session *, |
void window_copy_key(struct window_pane *, struct client *, struct session *, |
key_code, struct mouse_event *); |
key_code, struct mouse_event *); |
|
|
} |
} |
|
|
void |
void |
|
window_copy_previous_paragraph(struct window_pane *wp) |
|
{ |
|
struct window_copy_mode_data *data = wp->modedata; |
|
u_int ox, oy; |
|
|
|
oy = screen_hsize(data->backing) + data->cy - data->oy; |
|
ox = window_copy_find_length(wp, oy); |
|
|
|
while (oy > 0 && window_copy_find_length(wp, oy) == 0) |
|
oy--; |
|
|
|
while (oy > 0 && window_copy_find_length(wp, oy) > 0) |
|
oy--; |
|
|
|
window_copy_scroll_to(wp, 0, oy); |
|
} |
|
|
|
void |
|
window_copy_next_paragraph(struct window_pane *wp) |
|
{ |
|
struct window_copy_mode_data *data = wp->modedata; |
|
struct screen *s = &data->screen; |
|
u_int maxy, ox, oy; |
|
|
|
oy = screen_hsize(data->backing) + data->cy - data->oy; |
|
maxy = screen_hsize(data->backing) + screen_size_y(s) - 1; |
|
|
|
while (oy < maxy && window_copy_find_length(wp, oy) == 0) |
|
oy++; |
|
|
|
while (oy < maxy && window_copy_find_length(wp, oy) > 0) |
|
oy++; |
|
|
|
ox = window_copy_find_length(wp, oy); |
|
window_copy_scroll_to(wp, ox, oy); |
|
} |
|
|
|
void |
window_copy_resize(struct window_pane *wp, u_int sx, u_int sy) |
window_copy_resize(struct window_pane *wp, u_int sx, u_int sy) |
{ |
{ |
struct window_copy_mode_data *data = wp->modedata; |
struct window_copy_mode_data *data = wp->modedata; |
|
|
case MODEKEYCOPY_NEXTPAGE: |
case MODEKEYCOPY_NEXTPAGE: |
for (; np != 0; np--) |
for (; np != 0; np--) |
window_copy_pagedown(wp); |
window_copy_pagedown(wp); |
|
break; |
|
case MODEKEYCOPY_PREVIOUSPARAGRAPH: |
|
for (; np != 0; np--) |
|
window_copy_previous_paragraph(wp); |
|
break; |
|
case MODEKEYCOPY_NEXTPARAGRAPH: |
|
for (; np != 0; np--) |
|
window_copy_next_paragraph(wp); |
break; |
break; |
case MODEKEYCOPY_HALFPAGEUP: |
case MODEKEYCOPY_HALFPAGEUP: |
n = screen_size_y(s) / 2; |
n = screen_size_y(s) / 2; |