Merge branch 'obsd-master'

Conflicts:
	utf8.c
This commit is contained in:
Thomas Adam
2016-03-02 18:10:51 +00:00
18 changed files with 150 additions and 481 deletions

View File

@ -382,8 +382,42 @@ server_client_check_mouse(struct client *c)
c->tty.mouse_drag_update = NULL;
c->tty.mouse_drag_release = NULL;
/*
* End a mouse drag by passing a MouseUp key corresponding to
* the button that started the drag.
*/
switch (c->tty.mouse_drag_flag) {
case 1:
if (where == PANE)
key = KEYC_MOUSEUP1_PANE;
if (where == STATUS)
key = KEYC_MOUSEUP1_STATUS;
if (where == BORDER)
key = KEYC_MOUSEUP1_BORDER;
break;
case 2:
if (where == PANE)
key = KEYC_MOUSEUP2_PANE;
if (where == STATUS)
key = KEYC_MOUSEUP2_STATUS;
if (where == BORDER)
key = KEYC_MOUSEUP2_BORDER;
break;
case 3:
if (where == PANE)
key = KEYC_MOUSEUP3_PANE;
if (where == STATUS)
key = KEYC_MOUSEUP3_STATUS;
if (where == BORDER)
key = KEYC_MOUSEUP3_BORDER;
break;
default:
key = KEYC_MOUSE;
break;
}
c->tty.mouse_drag_flag = 0;
return (KEYC_MOUSE); /* not a key, but still may want to pass */
return (key);
}
/* Convert to a key binding. */
@ -423,7 +457,11 @@ server_client_check_mouse(struct client *c)
}
}
c->tty.mouse_drag_flag = 1;
/*
* Begin a drag by setting the flag to a non-zero value that
* corresponds to the mouse button in use.
*/
c->tty.mouse_drag_flag = MOUSE_BUTTONS(b) + 1;
break;
case WHEEL:
if (MOUSE_BUTTONS(b) == MOUSE_WHEEL_UP) {