version 1.257, 2018/08/19 20:13:07 |
version 1.258, 2018/08/22 20:06:14 |
|
|
key_code key; |
key_code key; |
struct timeval tv; |
struct timeval tv; |
enum { NOTYPE, MOVE, DOWN, UP, DRAG, WHEEL, DOUBLE, TRIPLE } type; |
enum { NOTYPE, MOVE, DOWN, UP, DRAG, WHEEL, DOUBLE, TRIPLE } type; |
enum { NOWHERE, PANE, STATUS, BORDER } where; |
enum { NOWHERE, PANE, STATUS, STATUS_LEFT, STATUS_RIGHT, BORDER } where; |
|
|
type = NOTYPE; |
type = NOTYPE; |
where = NOWHERE; |
where = NOWHERE; |
|
|
if (type == NOTYPE) |
if (type == NOTYPE) |
return (KEYC_UNKNOWN); |
return (KEYC_UNKNOWN); |
|
|
/* Always save the session. */ |
/* Save the session. */ |
m->s = s->id; |
m->s = s->id; |
|
m->w = -1; |
|
|
/* Is this on the status line? */ |
/* Is this on the status line? */ |
m->statusat = status_at_line(c); |
m->statusat = status_at_line(c); |
if (m->statusat != -1 && y == (u_int)m->statusat) { |
if (m->statusat != -1 && y == (u_int)m->statusat) { |
w = status_get_window_at(c, x); |
if (x < c->status.left_size) |
if (w == NULL) |
where = STATUS_LEFT; |
return (KEYC_UNKNOWN); |
else if (x > c->tty.sx - c->status.right_size) |
m->w = w->id; |
where = STATUS_RIGHT; |
where = STATUS; |
else { |
} else |
w = status_get_window_at(c, x); |
m->w = -1; |
if (w == NULL) |
|
return (KEYC_UNKNOWN); |
|
m->w = w->id; |
|
where = STATUS; |
|
} |
|
} |
|
|
/* Not on status line. Adjust position and check for border or pane. */ |
/* Not on status line. Adjust position and check for border or pane. */ |
if (where == NOWHERE) { |
if (where == NOWHERE) { |
|
|
key = KEYC_MOUSEDRAGEND1_PANE; |
key = KEYC_MOUSEDRAGEND1_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEDRAGEND1_STATUS; |
key = KEYC_MOUSEDRAGEND1_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEDRAGEND1_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEDRAGEND1_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEDRAGEND1_BORDER; |
key = KEYC_MOUSEDRAGEND1_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEDRAGEND2_PANE; |
key = KEYC_MOUSEDRAGEND2_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEDRAGEND2_STATUS; |
key = KEYC_MOUSEDRAGEND2_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEDRAGEND2_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEDRAGEND2_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEDRAGEND2_BORDER; |
key = KEYC_MOUSEDRAGEND2_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEDRAGEND3_PANE; |
key = KEYC_MOUSEDRAGEND3_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEDRAGEND3_STATUS; |
key = KEYC_MOUSEDRAGEND3_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEDRAGEND3_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEDRAGEND3_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEDRAGEND3_BORDER; |
key = KEYC_MOUSEDRAGEND3_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEDRAG1_PANE; |
key = KEYC_MOUSEDRAG1_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEDRAG1_STATUS; |
key = KEYC_MOUSEDRAG1_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEDRAG1_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEDRAG1_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEDRAG1_BORDER; |
key = KEYC_MOUSEDRAG1_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEDRAG2_PANE; |
key = KEYC_MOUSEDRAG2_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEDRAG2_STATUS; |
key = KEYC_MOUSEDRAG2_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEDRAG2_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEDRAG2_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEDRAG2_BORDER; |
key = KEYC_MOUSEDRAG2_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEDRAG3_PANE; |
key = KEYC_MOUSEDRAG3_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEDRAG3_STATUS; |
key = KEYC_MOUSEDRAG3_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEDRAG3_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEDRAG3_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEDRAG3_BORDER; |
key = KEYC_MOUSEDRAG3_BORDER; |
break; |
break; |
|
|
key = KEYC_WHEELUP_PANE; |
key = KEYC_WHEELUP_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_WHEELUP_STATUS; |
key = KEYC_WHEELUP_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_WHEELUP_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_WHEELUP_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_WHEELUP_BORDER; |
key = KEYC_WHEELUP_BORDER; |
} else { |
} else { |
|
|
key = KEYC_MOUSEUP1_PANE; |
key = KEYC_MOUSEUP1_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEUP1_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 == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEUP1_BORDER; |
key = KEYC_MOUSEUP1_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEUP2_PANE; |
key = KEYC_MOUSEUP2_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEUP2_STATUS; |
key = KEYC_MOUSEUP2_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEUP2_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEUP2_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEUP2_BORDER; |
key = KEYC_MOUSEUP2_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEUP3_PANE; |
key = KEYC_MOUSEUP3_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEUP3_STATUS; |
key = KEYC_MOUSEUP3_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEUP3_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEUP3_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEUP3_BORDER; |
key = KEYC_MOUSEUP3_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEDOWN1_PANE; |
key = KEYC_MOUSEDOWN1_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEDOWN1_STATUS; |
key = KEYC_MOUSEDOWN1_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEDOWN1_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEDOWN1_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEDOWN1_BORDER; |
key = KEYC_MOUSEDOWN1_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEDOWN2_PANE; |
key = KEYC_MOUSEDOWN2_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEDOWN2_STATUS; |
key = KEYC_MOUSEDOWN2_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEDOWN2_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEDOWN2_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEDOWN2_BORDER; |
key = KEYC_MOUSEDOWN2_BORDER; |
break; |
break; |
|
|
key = KEYC_MOUSEDOWN3_PANE; |
key = KEYC_MOUSEDOWN3_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_MOUSEDOWN3_STATUS; |
key = KEYC_MOUSEDOWN3_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_MOUSEDOWN3_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_MOUSEDOWN3_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_MOUSEDOWN3_BORDER; |
key = KEYC_MOUSEDOWN3_BORDER; |
break; |
break; |
|
|
key = KEYC_DOUBLECLICK1_PANE; |
key = KEYC_DOUBLECLICK1_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_DOUBLECLICK1_STATUS; |
key = KEYC_DOUBLECLICK1_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_DOUBLECLICK1_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_DOUBLECLICK1_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_DOUBLECLICK1_BORDER; |
key = KEYC_DOUBLECLICK1_BORDER; |
break; |
break; |
|
|
key = KEYC_DOUBLECLICK2_PANE; |
key = KEYC_DOUBLECLICK2_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_DOUBLECLICK2_STATUS; |
key = KEYC_DOUBLECLICK2_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_DOUBLECLICK2_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_DOUBLECLICK2_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_DOUBLECLICK2_BORDER; |
key = KEYC_DOUBLECLICK2_BORDER; |
break; |
break; |
|
|
key = KEYC_DOUBLECLICK3_PANE; |
key = KEYC_DOUBLECLICK3_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_DOUBLECLICK3_STATUS; |
key = KEYC_DOUBLECLICK3_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_DOUBLECLICK3_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_DOUBLECLICK3_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_DOUBLECLICK3_BORDER; |
key = KEYC_DOUBLECLICK3_BORDER; |
break; |
break; |
|
|
key = KEYC_TRIPLECLICK1_PANE; |
key = KEYC_TRIPLECLICK1_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_TRIPLECLICK1_STATUS; |
key = KEYC_TRIPLECLICK1_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_TRIPLECLICK1_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_TRIPLECLICK1_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_TRIPLECLICK1_BORDER; |
key = KEYC_TRIPLECLICK1_BORDER; |
break; |
break; |
|
|
key = KEYC_TRIPLECLICK2_PANE; |
key = KEYC_TRIPLECLICK2_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_TRIPLECLICK2_STATUS; |
key = KEYC_TRIPLECLICK2_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_TRIPLECLICK2_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_TRIPLECLICK2_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_TRIPLECLICK2_BORDER; |
key = KEYC_TRIPLECLICK2_BORDER; |
break; |
break; |
|
|
key = KEYC_TRIPLECLICK3_PANE; |
key = KEYC_TRIPLECLICK3_PANE; |
if (where == STATUS) |
if (where == STATUS) |
key = KEYC_TRIPLECLICK3_STATUS; |
key = KEYC_TRIPLECLICK3_STATUS; |
|
if (where == STATUS_LEFT) |
|
key = KEYC_TRIPLECLICK3_STATUS_LEFT; |
|
if (where == STATUS_RIGHT) |
|
key = KEYC_TRIPLECLICK3_STATUS_RIGHT; |
if (where == BORDER) |
if (where == BORDER) |
key = KEYC_TRIPLECLICK3_BORDER; |
key = KEYC_TRIPLECLICK3_BORDER; |
break; |
break; |