mirror of
https://github.com/tmux/tmux.git
synced 2025-12-19 20:55:36 +00:00
Merge branch 'master' into sixel
This commit is contained in:
666
server-client.c
666
server-client.c
@@ -40,6 +40,7 @@ static void server_client_check_exit(struct client *);
|
||||
static void server_client_check_redraw(struct client *);
|
||||
static void server_client_check_modes(struct client *);
|
||||
static void server_client_set_title(struct client *);
|
||||
static void server_client_set_path(struct client *);
|
||||
static void server_client_reset_state(struct client *);
|
||||
static int server_client_assume_paste(struct session *);
|
||||
static void server_client_update_latest(struct client *);
|
||||
@@ -422,6 +423,7 @@ server_client_lost(struct client *c)
|
||||
if (c->flags & CLIENT_TERMINAL)
|
||||
tty_free(&c->tty);
|
||||
free(c->ttyname);
|
||||
free(c->clipboard_panes);
|
||||
|
||||
free(c->term_name);
|
||||
free(c->term_type);
|
||||
@@ -593,11 +595,11 @@ server_client_check_mouse(struct client *c, struct key_event *event)
|
||||
log_debug("double-click at %u,%u", x, y);
|
||||
} else if ((m->sgr_type != ' ' &&
|
||||
MOUSE_DRAG(m->sgr_b) &&
|
||||
MOUSE_BUTTONS(m->sgr_b) == 3) ||
|
||||
MOUSE_RELEASE(m->sgr_b)) ||
|
||||
(m->sgr_type == ' ' &&
|
||||
MOUSE_DRAG(m->b) &&
|
||||
MOUSE_BUTTONS(m->b) == 3 &&
|
||||
MOUSE_BUTTONS(m->lb) == 3)) {
|
||||
MOUSE_RELEASE(m->b) &&
|
||||
MOUSE_RELEASE(m->lb))) {
|
||||
type = MOVE;
|
||||
x = m->x, y = m->y, b = 0;
|
||||
log_debug("move at %u,%u", x, y);
|
||||
@@ -750,7 +752,7 @@ have_event:
|
||||
m->wp = -1;
|
||||
|
||||
/* Stop dragging if needed. */
|
||||
if (type != DRAG && type != WHEEL && c->tty.mouse_drag_flag) {
|
||||
if (type != DRAG && type != WHEEL && c->tty.mouse_drag_flag != 0) {
|
||||
if (c->tty.mouse_drag_release != NULL)
|
||||
c->tty.mouse_drag_release(c, m);
|
||||
|
||||
@@ -761,8 +763,8 @@ have_event:
|
||||
* End a mouse drag by passing a MouseDragEnd key corresponding
|
||||
* to the button that started the drag.
|
||||
*/
|
||||
switch (c->tty.mouse_drag_flag) {
|
||||
case 1:
|
||||
switch (c->tty.mouse_drag_flag - 1) {
|
||||
case MOUSE_BUTTON_1:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAGEND1_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -776,7 +778,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAGEND1_BORDER;
|
||||
break;
|
||||
case 2:
|
||||
case MOUSE_BUTTON_2:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAGEND2_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -790,7 +792,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAGEND2_BORDER;
|
||||
break;
|
||||
case 3:
|
||||
case MOUSE_BUTTON_3:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAGEND3_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -804,6 +806,90 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAGEND3_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_6:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAGEND6_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAGEND6_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAGEND6_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAGEND6_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAGEND6_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAGEND6_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_7:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAGEND7_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAGEND7_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAGEND7_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAGEND7_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAGEND7_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAGEND7_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_8:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAGEND8_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAGEND8_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAGEND8_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAGEND8_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAGEND8_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAGEND8_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_9:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAGEND9_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAGEND9_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAGEND9_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAGEND9_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAGEND9_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAGEND9_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_10:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAGEND10_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAGEND10_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAGEND10_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAGEND10_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAGEND10_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAGEND10_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_11:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAGEND11_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAGEND11_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAGEND11_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAGEND11_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAGEND11_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAGEND11_BORDER;
|
||||
break;
|
||||
default:
|
||||
key = KEYC_MOUSE;
|
||||
break;
|
||||
@@ -836,7 +922,7 @@ have_event:
|
||||
key = KEYC_DRAGGING;
|
||||
else {
|
||||
switch (MOUSE_BUTTONS(b)) {
|
||||
case 0:
|
||||
case MOUSE_BUTTON_1:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAG1_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -850,7 +936,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAG1_BORDER;
|
||||
break;
|
||||
case 1:
|
||||
case MOUSE_BUTTON_2:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAG2_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -864,7 +950,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAG2_BORDER;
|
||||
break;
|
||||
case 2:
|
||||
case MOUSE_BUTTON_3:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAG3_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -878,6 +964,90 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAG3_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_6:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAG6_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAG6_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAG6_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAG6_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAG6_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAG6_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_7:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAG7_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAG7_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAG7_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAG7_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAG7_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAG7_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_8:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAG8_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAG8_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAG8_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAG8_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAG8_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAG8_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_9:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAG9_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAG9_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAG9_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAG9_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAG9_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAG9_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_10:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAG10_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAG10_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAG10_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAG10_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAG10_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAG10_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_11:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDRAG11_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDRAG11_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDRAG11_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDRAG11_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDRAG11_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDRAG11_BORDER;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -918,7 +1088,7 @@ have_event:
|
||||
break;
|
||||
case UP:
|
||||
switch (MOUSE_BUTTONS(b)) {
|
||||
case 0:
|
||||
case MOUSE_BUTTON_1:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEUP1_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -932,7 +1102,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEUP1_BORDER;
|
||||
break;
|
||||
case 1:
|
||||
case MOUSE_BUTTON_2:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEUP2_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -946,7 +1116,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEUP2_BORDER;
|
||||
break;
|
||||
case 2:
|
||||
case MOUSE_BUTTON_3:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEUP3_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -960,11 +1130,95 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEUP3_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_6:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEUP6_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEUP6_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEUP6_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEUP6_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEUP6_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEUP6_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_7:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEUP7_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEUP7_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEUP7_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEUP7_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEUP7_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEUP7_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_8:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEUP8_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEUP8_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEUP8_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEUP8_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEUP8_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEUP8_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_9:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEUP9_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEUP9_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEUP9_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEUP9_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEUP9_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEUP9_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_10:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEUP1_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEUP1_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEUP1_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEUP1_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEUP1_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEUP1_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_11:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEUP11_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEUP11_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEUP11_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEUP11_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEUP11_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEUP11_BORDER;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case DOWN:
|
||||
switch (MOUSE_BUTTONS(b)) {
|
||||
case 0:
|
||||
case MOUSE_BUTTON_1:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDOWN1_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -978,7 +1232,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDOWN1_BORDER;
|
||||
break;
|
||||
case 1:
|
||||
case MOUSE_BUTTON_2:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDOWN2_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -992,7 +1246,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDOWN2_BORDER;
|
||||
break;
|
||||
case 2:
|
||||
case MOUSE_BUTTON_3:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDOWN3_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1006,11 +1260,95 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDOWN3_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_6:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDOWN6_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDOWN6_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDOWN6_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDOWN6_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDOWN6_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDOWN6_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_7:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDOWN7_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDOWN7_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDOWN7_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDOWN7_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDOWN7_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDOWN7_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_8:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDOWN8_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDOWN8_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDOWN8_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDOWN8_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDOWN8_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDOWN8_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_9:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDOWN9_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDOWN9_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDOWN9_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDOWN9_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDOWN9_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDOWN9_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_10:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDOWN10_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDOWN10_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDOWN10_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDOWN10_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDOWN10_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDOWN10_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_11:
|
||||
if (where == PANE)
|
||||
key = KEYC_MOUSEDOWN11_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_MOUSEDOWN11_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_MOUSEDOWN11_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_MOUSEDOWN11_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_MOUSEDOWN11_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_MOUSEDOWN11_BORDER;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SECOND:
|
||||
switch (MOUSE_BUTTONS(b)) {
|
||||
case 0:
|
||||
case MOUSE_BUTTON_1:
|
||||
if (where == PANE)
|
||||
key = KEYC_SECONDCLICK1_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1024,7 +1362,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_SECONDCLICK1_BORDER;
|
||||
break;
|
||||
case 1:
|
||||
case MOUSE_BUTTON_2:
|
||||
if (where == PANE)
|
||||
key = KEYC_SECONDCLICK2_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1038,7 +1376,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_SECONDCLICK2_BORDER;
|
||||
break;
|
||||
case 2:
|
||||
case MOUSE_BUTTON_3:
|
||||
if (where == PANE)
|
||||
key = KEYC_SECONDCLICK3_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1052,11 +1390,95 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_SECONDCLICK3_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_6:
|
||||
if (where == PANE)
|
||||
key = KEYC_SECONDCLICK6_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_SECONDCLICK6_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_SECONDCLICK6_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_SECONDCLICK6_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_SECONDCLICK6_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_SECONDCLICK6_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_7:
|
||||
if (where == PANE)
|
||||
key = KEYC_SECONDCLICK7_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_SECONDCLICK7_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_SECONDCLICK7_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_SECONDCLICK7_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_SECONDCLICK7_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_SECONDCLICK7_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_8:
|
||||
if (where == PANE)
|
||||
key = KEYC_SECONDCLICK8_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_SECONDCLICK8_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_SECONDCLICK8_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_SECONDCLICK8_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_SECONDCLICK8_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_SECONDCLICK8_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_9:
|
||||
if (where == PANE)
|
||||
key = KEYC_SECONDCLICK9_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_SECONDCLICK9_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_SECONDCLICK9_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_SECONDCLICK9_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_SECONDCLICK9_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_SECONDCLICK9_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_10:
|
||||
if (where == PANE)
|
||||
key = KEYC_SECONDCLICK10_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_SECONDCLICK10_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_SECONDCLICK10_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_SECONDCLICK10_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_SECONDCLICK10_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_SECONDCLICK10_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_11:
|
||||
if (where == PANE)
|
||||
key = KEYC_SECONDCLICK11_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_SECONDCLICK11_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_SECONDCLICK11_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_SECONDCLICK11_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_SECONDCLICK11_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_SECONDCLICK11_BORDER;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case DOUBLE:
|
||||
switch (MOUSE_BUTTONS(b)) {
|
||||
case 0:
|
||||
case MOUSE_BUTTON_1:
|
||||
if (where == PANE)
|
||||
key = KEYC_DOUBLECLICK1_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1070,7 +1492,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_DOUBLECLICK1_BORDER;
|
||||
break;
|
||||
case 1:
|
||||
case MOUSE_BUTTON_2:
|
||||
if (where == PANE)
|
||||
key = KEYC_DOUBLECLICK2_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1084,7 +1506,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_DOUBLECLICK2_BORDER;
|
||||
break;
|
||||
case 2:
|
||||
case MOUSE_BUTTON_3:
|
||||
if (where == PANE)
|
||||
key = KEYC_DOUBLECLICK3_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1098,11 +1520,95 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_DOUBLECLICK3_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_6:
|
||||
if (where == PANE)
|
||||
key = KEYC_DOUBLECLICK6_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_DOUBLECLICK6_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_DOUBLECLICK6_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_DOUBLECLICK6_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_DOUBLECLICK6_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_DOUBLECLICK6_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_7:
|
||||
if (where == PANE)
|
||||
key = KEYC_DOUBLECLICK7_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_DOUBLECLICK7_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_DOUBLECLICK7_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_DOUBLECLICK7_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_DOUBLECLICK7_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_DOUBLECLICK7_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_8:
|
||||
if (where == PANE)
|
||||
key = KEYC_DOUBLECLICK8_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_DOUBLECLICK8_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_DOUBLECLICK8_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_DOUBLECLICK8_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_DOUBLECLICK8_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_DOUBLECLICK8_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_9:
|
||||
if (where == PANE)
|
||||
key = KEYC_DOUBLECLICK9_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_DOUBLECLICK9_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_DOUBLECLICK9_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_DOUBLECLICK9_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_DOUBLECLICK9_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_DOUBLECLICK9_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_10:
|
||||
if (where == PANE)
|
||||
key = KEYC_DOUBLECLICK10_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_DOUBLECLICK10_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_DOUBLECLICK10_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_DOUBLECLICK10_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_DOUBLECLICK10_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_DOUBLECLICK10_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_11:
|
||||
if (where == PANE)
|
||||
key = KEYC_DOUBLECLICK11_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_DOUBLECLICK11_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_DOUBLECLICK11_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_DOUBLECLICK11_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_DOUBLECLICK11_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_DOUBLECLICK11_BORDER;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case TRIPLE:
|
||||
switch (MOUSE_BUTTONS(b)) {
|
||||
case 0:
|
||||
case MOUSE_BUTTON_1:
|
||||
if (where == PANE)
|
||||
key = KEYC_TRIPLECLICK1_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1116,7 +1622,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_TRIPLECLICK1_BORDER;
|
||||
break;
|
||||
case 1:
|
||||
case MOUSE_BUTTON_2:
|
||||
if (where == PANE)
|
||||
key = KEYC_TRIPLECLICK2_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1130,7 +1636,7 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_TRIPLECLICK2_BORDER;
|
||||
break;
|
||||
case 2:
|
||||
case MOUSE_BUTTON_3:
|
||||
if (where == PANE)
|
||||
key = KEYC_TRIPLECLICK3_PANE;
|
||||
if (where == STATUS)
|
||||
@@ -1144,6 +1650,90 @@ have_event:
|
||||
if (where == BORDER)
|
||||
key = KEYC_TRIPLECLICK3_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_6:
|
||||
if (where == PANE)
|
||||
key = KEYC_TRIPLECLICK6_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_TRIPLECLICK6_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_TRIPLECLICK6_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_TRIPLECLICK6_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_TRIPLECLICK6_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_TRIPLECLICK6_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_7:
|
||||
if (where == PANE)
|
||||
key = KEYC_TRIPLECLICK7_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_TRIPLECLICK7_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_TRIPLECLICK7_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_TRIPLECLICK7_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_TRIPLECLICK7_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_TRIPLECLICK7_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_8:
|
||||
if (where == PANE)
|
||||
key = KEYC_TRIPLECLICK8_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_TRIPLECLICK8_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_TRIPLECLICK8_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_TRIPLECLICK8_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_TRIPLECLICK8_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_TRIPLECLICK8_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_9:
|
||||
if (where == PANE)
|
||||
key = KEYC_TRIPLECLICK9_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_TRIPLECLICK9_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_TRIPLECLICK9_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_TRIPLECLICK9_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_TRIPLECLICK9_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_TRIPLECLICK9_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_10:
|
||||
if (where == PANE)
|
||||
key = KEYC_TRIPLECLICK10_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_TRIPLECLICK10_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_TRIPLECLICK10_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_TRIPLECLICK10_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_TRIPLECLICK10_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_TRIPLECLICK10_BORDER;
|
||||
break;
|
||||
case MOUSE_BUTTON_11:
|
||||
if (where == PANE)
|
||||
key = KEYC_TRIPLECLICK11_PANE;
|
||||
if (where == STATUS)
|
||||
key = KEYC_TRIPLECLICK11_STATUS;
|
||||
if (where == STATUS_LEFT)
|
||||
key = KEYC_TRIPLECLICK11_STATUS_LEFT;
|
||||
if (where == STATUS_RIGHT)
|
||||
key = KEYC_TRIPLECLICK11_STATUS_RIGHT;
|
||||
if (where == STATUS_DEFAULT)
|
||||
key = KEYC_TRIPLECLICK11_STATUS_DEFAULT;
|
||||
if (where == BORDER)
|
||||
key = KEYC_TRIPLECLICK11_BORDER;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2011,8 +2601,10 @@ server_client_check_redraw(struct client *c)
|
||||
}
|
||||
|
||||
if (c->flags & CLIENT_ALLREDRAWFLAGS) {
|
||||
if (options_get_number(s->options, "set-titles"))
|
||||
if (options_get_number(s->options, "set-titles")) {
|
||||
server_client_set_title(c);
|
||||
server_client_set_path(c);
|
||||
}
|
||||
screen_redraw_screen(c);
|
||||
}
|
||||
|
||||
@@ -2058,6 +2650,26 @@ server_client_set_title(struct client *c)
|
||||
format_free(ft);
|
||||
}
|
||||
|
||||
/* Set client path. */
|
||||
static void
|
||||
server_client_set_path(struct client *c)
|
||||
{
|
||||
struct session *s = c->session;
|
||||
const char *path;
|
||||
|
||||
if (s->curw == NULL)
|
||||
return;
|
||||
if (s->curw->window->active->base.path == NULL)
|
||||
path = "";
|
||||
else
|
||||
path = s->curw->window->active->base.path;
|
||||
if (c->path == NULL || strcmp(path, c->path) != 0) {
|
||||
free(c->path);
|
||||
c->path = xstrdup(path);
|
||||
tty_set_path(&c->tty, c->path);
|
||||
}
|
||||
}
|
||||
|
||||
/* Dispatch message from client. */
|
||||
static void
|
||||
server_client_dispatch(struct imsg *imsg, void *arg)
|
||||
|
||||
Reference in New Issue
Block a user