aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2017-03-21 12:01:14 +0000
committerThomas Adam <thomas@xteddy.org>2017-03-21 12:01:14 +0000
commit57b4d3d59389fad079c027a0bdb80d7dd91adaa8 (patch)
treeeb33e268582ea2011609a579fb8c466d5eb84cd7
parent31ae09efa042d9cbe79df36c83890c806c9bd626 (diff)
parentcdaa758340d31e57144ecb7a6e5b1dec138cc693 (diff)
downloadrtmux-57b4d3d59389fad079c027a0bdb80d7dd91adaa8.tar.gz
rtmux-57b4d3d59389fad079c027a0bdb80d7dd91adaa8.tar.bz2
rtmux-57b4d3d59389fad079c027a0bdb80d7dd91adaa8.zip
Merge branch 'obsd-master'
-rw-r--r--window-copy.c2
-rw-r--r--window.c16
2 files changed, 10 insertions, 8 deletions
diff --git a/window-copy.c b/window-copy.c
index e50db0a1..07129c5a 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -2038,7 +2038,7 @@ window_copy_cursor_down(struct window_pane *wp, int scroll_only)
data->lastsx = ox;
}
- if (s->sel.lineflag == LINE_SEL_RIGHT_LEFT && oy == data->sely)
+ if (s->sel.lineflag == LINE_SEL_RIGHT_LEFT && oy == data->endsely)
window_copy_other_end(wp);
data->cx = data->lastcx;
diff --git a/window.c b/window.c
index 458b439d..e7a0aa52 100644
--- a/window.c
+++ b/window.c
@@ -1272,7 +1272,7 @@ window_pane_search(struct window_pane *wp, const char *searchstr,
{
struct screen *s = &wp->base;
char *newsearchstr, *line, *msg;
- u_int i;
+ u_int i;
msg = NULL;
xasprintf(&newsearchstr, "*%s*", searchstr);
@@ -1320,17 +1320,18 @@ window_pane_find_up(struct window_pane *wp)
{
struct window_pane *next, *best, **list;
u_int edge, left, right, end, size;
- int found;
+ int status, found;
if (wp == NULL || !window_pane_visible(wp))
return (NULL);
+ status = options_get_number(wp->window->options, "pane-border-status");
list = NULL;
size = 0;
edge = wp->yoff;
- if (edge == 0)
- edge = wp->window->sy + 1;
+ if (edge == (status == 1 ? 1 : 0))
+ edge = wp->window->sy + 1 - (status == 2 ? 1 : 0);
left = wp->xoff;
right = wp->xoff + wp->sx;
@@ -1366,17 +1367,18 @@ window_pane_find_down(struct window_pane *wp)
{
struct window_pane *next, *best, **list;
u_int edge, left, right, end, size;
- int found;
+ int status, found;
if (wp == NULL || !window_pane_visible(wp))
return (NULL);
+ status = options_get_number(wp->window->options, "pane-border-status");
list = NULL;
size = 0;
edge = wp->yoff + wp->sy + 1;
- if (edge >= wp->window->sy)
- edge = 0;
+ if (edge >= wp->window->sy - (status == 2 ? 1 : 0))
+ edge = (status == 1 ? 1 : 0);
left = wp->xoff;
right = wp->xoff + wp->sx;