mirror of
https://github.com/tmux/tmux.git
synced 2024-12-25 19:08:58 +00:00
Merge branch 'obsd-master'
This commit is contained in:
commit
563ed05353
@ -30,8 +30,8 @@ const struct cmd_entry cmd_copy_mode_entry = {
|
|||||||
.name = "copy-mode",
|
.name = "copy-mode",
|
||||||
.alias = NULL,
|
.alias = NULL,
|
||||||
|
|
||||||
.args = { "deHMs:t:uq", 0, 0, NULL },
|
.args = { "deHMqSs:t:u", 0, 0, NULL },
|
||||||
.usage = "[-deHMuq] [-s src-pane] " CMD_TARGET_PANE_USAGE,
|
.usage = "[-deHMqSu] [-s src-pane] " CMD_TARGET_PANE_USAGE,
|
||||||
|
|
||||||
.source = { 's', CMD_FIND_PANE, 0 },
|
.source = { 's', CMD_FIND_PANE, 0 },
|
||||||
.target = { 't', CMD_FIND_PANE, 0 },
|
.target = { 't', CMD_FIND_PANE, 0 },
|
||||||
@ -93,6 +93,11 @@ cmd_copy_mode_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
window_copy_pageup(wp, 0);
|
window_copy_pageup(wp, 0);
|
||||||
if (args_has(args, 'd'))
|
if (args_has(args, 'd'))
|
||||||
window_copy_pagedown(wp, 0, args_has(args, 'e'));
|
window_copy_pagedown(wp, 0, args_has(args, 'e'));
|
||||||
|
if (args_has(args, 'S')) {
|
||||||
|
window_copy_scroll(wp, c->tty.mouse_slider_mpos, event->m.y,
|
||||||
|
args_has(args, 'e'));
|
||||||
|
return (CMD_RETURN_NORMAL);
|
||||||
|
}
|
||||||
|
|
||||||
return (CMD_RETURN_NORMAL);
|
return (CMD_RETURN_NORMAL);
|
||||||
}
|
}
|
||||||
|
@ -478,6 +478,11 @@ key_bindings_init(void)
|
|||||||
"bind -n MouseDown3Pane { if -Ft= '#{||:#{mouse_any_flag},#{&&:#{pane_in_mode},#{?#{m/r:(copy|view)-mode,#{pane_mode}},0,1}}}' { select-pane -t=; send -M } { display-menu -t= -xM -yM -T '#[align=centre]#{pane_index} (#{pane_id})' " DEFAULT_PANE_MENU " } }",
|
"bind -n MouseDown3Pane { if -Ft= '#{||:#{mouse_any_flag},#{&&:#{pane_in_mode},#{?#{m/r:(copy|view)-mode,#{pane_mode}},0,1}}}' { select-pane -t=; send -M } { display-menu -t= -xM -yM -T '#[align=centre]#{pane_index} (#{pane_id})' " DEFAULT_PANE_MENU " } }",
|
||||||
"bind -n M-MouseDown3Pane { display-menu -t= -xM -yM -T '#[align=centre]#{pane_index} (#{pane_id})' " DEFAULT_PANE_MENU " }",
|
"bind -n M-MouseDown3Pane { display-menu -t= -xM -yM -T '#[align=centre]#{pane_index} (#{pane_id})' " DEFAULT_PANE_MENU " }",
|
||||||
|
|
||||||
|
/* Mouse on scrollbar. */
|
||||||
|
"bind -n MouseDown1ScrollbarUp { copy-mode -u }",
|
||||||
|
"bind -n MouseDown1ScrollbarDown { copy-mode -d }",
|
||||||
|
"bind -n MouseDrag1ScrollbarSlider { copy-mode -S }",
|
||||||
|
|
||||||
/* Copy mode (emacs) keys. */
|
/* Copy mode (emacs) keys. */
|
||||||
"bind -Tcopy-mode C-Space { send -X begin-selection }",
|
"bind -Tcopy-mode C-Space { send -X begin-selection }",
|
||||||
"bind -Tcopy-mode C-a { send -X start-of-line }",
|
"bind -Tcopy-mode C-a { send -X start-of-line }",
|
||||||
|
@ -1005,6 +1005,10 @@ screen_redraw_draw_pane_scrollbar(struct screen_redraw_ctx *ctx,
|
|||||||
|
|
||||||
screen_redraw_draw_scrollbar(ctx, wp, sb_pos, sb_x, sb_y, sb_h,
|
screen_redraw_draw_scrollbar(ctx, wp, sb_pos, sb_x, sb_y, sb_h,
|
||||||
slider_h, slider_y);
|
slider_h, slider_y);
|
||||||
|
|
||||||
|
/* Store current position and height of the slider */
|
||||||
|
wp->sb_slider_y = slider_y; /* top of slider y pos in scrollbar */
|
||||||
|
wp->sb_slider_h = slider_h; /* height of slider */
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
452
server-client.c
452
server-client.c
@ -572,10 +572,12 @@ server_client_check_mouse(struct client *c, struct key_event *event)
|
|||||||
{
|
{
|
||||||
struct mouse_event *m = &event->m;
|
struct mouse_event *m = &event->m;
|
||||||
struct session *s = c->session, *fs;
|
struct session *s = c->session, *fs;
|
||||||
|
struct options *wo = s->curw->window->options;
|
||||||
struct winlink *fwl;
|
struct winlink *fwl;
|
||||||
struct window_pane *wp, *fwp;
|
struct window_pane *wp, *fwp;
|
||||||
u_int x, y, b, sx, sy, px, py;
|
u_int x, y, b, sx, sy, px, py, line = 0, sb_pos;
|
||||||
int ignore = 0;
|
u_int sl_top, sl_bottom, sl_mpos = 0;
|
||||||
|
int ignore = 0, sb, sb_w, pane_status;
|
||||||
key_code key;
|
key_code key;
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
struct style_range *sr;
|
struct style_range *sr;
|
||||||
@ -594,7 +596,10 @@ server_client_check_mouse(struct client *c, struct key_event *event)
|
|||||||
STATUS_LEFT,
|
STATUS_LEFT,
|
||||||
STATUS_RIGHT,
|
STATUS_RIGHT,
|
||||||
STATUS_DEFAULT,
|
STATUS_DEFAULT,
|
||||||
BORDER } where = NOWHERE;
|
BORDER,
|
||||||
|
SCROLLBAR_UP,
|
||||||
|
SCROLLBAR_SLIDER,
|
||||||
|
SCROLLBAR_DOWN } where = NOWHERE;
|
||||||
|
|
||||||
log_debug("%s mouse %02x at %u,%u (last %u,%u) (%d)", c->name, m->b,
|
log_debug("%s mouse %02x at %u,%u (last %u,%u) (%d)", c->name, m->b,
|
||||||
m->x, m->y, m->lx, m->ly, c->tty.mouse_drag_flag);
|
m->x, m->y, m->lx, m->ly, c->tty.mouse_drag_flag);
|
||||||
@ -743,8 +748,14 @@ have_event:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Not on status line. Adjust position and check for border or pane. */
|
/*
|
||||||
|
* Not on status line. Adjust position and check for border, pane, or
|
||||||
|
* scrollbar.
|
||||||
|
*/
|
||||||
if (where == NOWHERE) {
|
if (where == NOWHERE) {
|
||||||
|
if (c->tty.mouse_scrolling_flag)
|
||||||
|
where = SCROLLBAR_SLIDER;
|
||||||
|
else {
|
||||||
px = x;
|
px = x;
|
||||||
if (m->statusat == 0 && y >= m->statuslines)
|
if (m->statusat == 0 && y >= m->statuslines)
|
||||||
py = y - m->statuslines;
|
py = y - m->statuslines;
|
||||||
@ -761,9 +772,62 @@ have_event:
|
|||||||
px = px + m->ox;
|
px = px + m->ox;
|
||||||
py = py + m->oy;
|
py = py + m->oy;
|
||||||
|
|
||||||
|
/* Try inside the pane. */
|
||||||
|
wp = window_get_active_at(s->curw->window, px, py);
|
||||||
|
if (wp == NULL)
|
||||||
|
return (KEYC_UNKNOWN);
|
||||||
|
|
||||||
|
/* Try the scrollbar next to a pane. */
|
||||||
|
sb = options_get_number(wo, "pane-scrollbars");
|
||||||
|
sb_pos = options_get_number(wo,
|
||||||
|
"pane-scrollbars-position");
|
||||||
|
if (sb == PANE_SCROLLBARS_ALWAYS ||
|
||||||
|
(sb == PANE_SCROLLBARS_MODAL &&
|
||||||
|
window_pane_mode(wp) != WINDOW_PANE_NO_MODE))
|
||||||
|
sb_w = PANE_SCROLLBARS_WIDTH;
|
||||||
|
else
|
||||||
|
sb_w = 0;
|
||||||
|
pane_status = options_get_number(wo,
|
||||||
|
"pane-border-status");
|
||||||
|
if (pane_status == PANE_STATUS_TOP)
|
||||||
|
line = wp->yoff - 1;
|
||||||
|
else if (pane_status == PANE_STATUS_BOTTOM)
|
||||||
|
line = wp->yoff + wp->sy;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Check if py could lie within a scrollbar. If the
|
||||||
|
* pane is at the top, then py is 0; if not then the
|
||||||
|
* top, then yoff to yoff + sy.
|
||||||
|
*/
|
||||||
|
if ((pane_status != PANE_STATUS_OFF && py != line) ||
|
||||||
|
(wp->yoff == 0 && py < wp->sy) ||
|
||||||
|
(py >= wp->yoff && py < wp->yoff + wp->sy)) {
|
||||||
|
if ((sb_pos == PANE_SCROLLBARS_RIGHT &&
|
||||||
|
(px >= wp->xoff + wp->sx &&
|
||||||
|
px < wp->xoff + wp->sx + sb_w)) ||
|
||||||
|
(sb_pos == PANE_SCROLLBARS_LEFT &&
|
||||||
|
(px >= wp->xoff - sb_w &&
|
||||||
|
px < wp->xoff))) {
|
||||||
|
sl_top = wp->yoff + wp->sb_slider_y;
|
||||||
|
sl_bottom = (wp->yoff +
|
||||||
|
wp->sb_slider_y +
|
||||||
|
wp->sb_slider_h - 1);
|
||||||
|
if (py < sl_top)
|
||||||
|
where = SCROLLBAR_UP;
|
||||||
|
else if (py >= sl_top &&
|
||||||
|
py <= sl_bottom) {
|
||||||
|
where = SCROLLBAR_SLIDER;
|
||||||
|
sl_mpos = (py -
|
||||||
|
wp->sb_slider_y - wp->yoff);
|
||||||
|
} else /* py > sl_bottom */
|
||||||
|
where = SCROLLBAR_DOWN;
|
||||||
|
} else
|
||||||
|
where = PANE;
|
||||||
|
} else {
|
||||||
/* Try the pane borders if not zoomed. */
|
/* Try the pane borders if not zoomed. */
|
||||||
if (~s->curw->window->flags & WINDOW_ZOOMED) {
|
if (~s->curw->window->flags & WINDOW_ZOOMED) {
|
||||||
TAILQ_FOREACH(wp, &s->curw->window->panes, entry) {
|
TAILQ_FOREACH(wp,
|
||||||
|
&s->curw->window->panes, entry) {
|
||||||
if ((wp->xoff + wp->sx == px &&
|
if ((wp->xoff + wp->sx == px &&
|
||||||
wp->yoff <= 1 + py &&
|
wp->yoff <= 1 + py &&
|
||||||
wp->yoff + wp->sy >= py) ||
|
wp->yoff + wp->sy >= py) ||
|
||||||
@ -775,22 +839,23 @@ have_event:
|
|||||||
if (wp != NULL)
|
if (wp != NULL)
|
||||||
where = BORDER;
|
where = BORDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Otherwise try inside the pane. */
|
|
||||||
if (where == NOWHERE) {
|
|
||||||
wp = window_get_active_at(s->curw->window, px, py);
|
|
||||||
if (wp != NULL)
|
|
||||||
where = PANE;
|
|
||||||
else
|
|
||||||
return (KEYC_UNKNOWN);
|
|
||||||
}
|
}
|
||||||
if (where == PANE)
|
if (where == PANE) {
|
||||||
log_debug("mouse %u,%u on pane %%%u", x, y, wp->id);
|
log_debug("mouse %u,%u on pane %%%u", x, y,
|
||||||
else if (where == BORDER)
|
wp->id);
|
||||||
|
} else if (where == BORDER)
|
||||||
log_debug("mouse on pane %%%u border", wp->id);
|
log_debug("mouse on pane %%%u border", wp->id);
|
||||||
|
else if (where == SCROLLBAR_UP ||
|
||||||
|
where == SCROLLBAR_SLIDER ||
|
||||||
|
where == SCROLLBAR_DOWN) {
|
||||||
|
log_debug("mouse on pane %%%u scrollbar",
|
||||||
|
wp->id);
|
||||||
|
}
|
||||||
m->wp = wp->id;
|
m->wp = wp->id;
|
||||||
m->w = wp->window->id;
|
m->w = wp->window->id;
|
||||||
}
|
}
|
||||||
|
} else
|
||||||
|
m->wp = -1;
|
||||||
|
|
||||||
/* Stop dragging if needed. */
|
/* Stop dragging if needed. */
|
||||||
if (type != DRAG && type != WHEEL && c->tty.mouse_drag_flag != 0) {
|
if (type != DRAG && type != WHEEL && c->tty.mouse_drag_flag != 0) {
|
||||||
@ -799,6 +864,7 @@ have_event:
|
|||||||
|
|
||||||
c->tty.mouse_drag_update = NULL;
|
c->tty.mouse_drag_update = NULL;
|
||||||
c->tty.mouse_drag_release = NULL;
|
c->tty.mouse_drag_release = NULL;
|
||||||
|
c->tty.mouse_scrolling_flag = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* End a mouse drag by passing a MouseDragEnd key corresponding
|
* End a mouse drag by passing a MouseDragEnd key corresponding
|
||||||
@ -816,6 +882,8 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAGEND1_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAGEND1_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAGEND1_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAGEND1_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAGEND1_SCROLLBAR_SLIDER;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAGEND1_BORDER;
|
key = KEYC_MOUSEDRAGEND1_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -830,6 +898,8 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAGEND2_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAGEND2_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAGEND2_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAGEND2_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAGEND2_SCROLLBAR_SLIDER;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAGEND2_BORDER;
|
key = KEYC_MOUSEDRAGEND2_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -844,6 +914,8 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAGEND3_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAGEND3_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAGEND3_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAGEND3_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAGEND3_SCROLLBAR_SLIDER;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAGEND3_BORDER;
|
key = KEYC_MOUSEDRAGEND3_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -858,6 +930,8 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAGEND6_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAGEND6_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAGEND6_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAGEND6_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAGEND6_SCROLLBAR_SLIDER;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAGEND6_BORDER;
|
key = KEYC_MOUSEDRAGEND6_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -872,6 +946,8 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAGEND7_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAGEND7_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAGEND7_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAGEND7_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAGEND7_SCROLLBAR_SLIDER;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAGEND7_BORDER;
|
key = KEYC_MOUSEDRAGEND7_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -886,6 +962,8 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAGEND8_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAGEND8_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAGEND8_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAGEND8_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAGEND8_SCROLLBAR_SLIDER;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAGEND8_BORDER;
|
key = KEYC_MOUSEDRAGEND8_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -900,6 +978,8 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAGEND9_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAGEND9_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAGEND9_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAGEND9_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAGEND9_SCROLLBAR_SLIDER;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAGEND9_BORDER;
|
key = KEYC_MOUSEDRAGEND9_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -914,6 +994,8 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAGEND10_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAGEND10_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAGEND10_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAGEND10_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAGEND10_SCROLLBAR_SLIDER;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAGEND10_BORDER;
|
key = KEYC_MOUSEDRAGEND10_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -928,6 +1010,8 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAGEND11_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAGEND11_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAGEND11_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAGEND11_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAGEND11_SCROLLBAR_SLIDER;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAGEND11_BORDER;
|
key = KEYC_MOUSEDRAGEND11_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -936,6 +1020,7 @@ have_event:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
c->tty.mouse_drag_flag = 0;
|
c->tty.mouse_drag_flag = 0;
|
||||||
|
c->tty.mouse_slider_mpos = -1;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -974,6 +1059,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAG1_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAG1_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAG1_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAG1_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDRAG1_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAG1_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDRAG1_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAG1_BORDER;
|
key = KEYC_MOUSEDRAG1_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -988,6 +1079,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAG2_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAG2_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAG2_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAG2_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDRAG2_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAG2_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDRAG2_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAG2_BORDER;
|
key = KEYC_MOUSEDRAG2_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1002,6 +1099,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAG3_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAG3_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAG3_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAG3_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDRAG3_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAG3_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDRAG3_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAG3_BORDER;
|
key = KEYC_MOUSEDRAG3_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1016,6 +1119,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAG6_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAG6_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAG6_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAG6_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDRAG6_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAG6_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDRAG6_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAG6_BORDER;
|
key = KEYC_MOUSEDRAG6_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1030,6 +1139,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAG7_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAG7_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAG7_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAG7_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDRAG7_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAG7_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDRAG7_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAG7_BORDER;
|
key = KEYC_MOUSEDRAG7_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1044,6 +1159,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAG8_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAG8_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAG8_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAG8_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDRAG8_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAG8_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDRAG8_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAG8_BORDER;
|
key = KEYC_MOUSEDRAG8_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1058,6 +1179,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAG9_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAG9_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAG9_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAG9_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDRAG9_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAG9_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDRAG9_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAG9_BORDER;
|
key = KEYC_MOUSEDRAG9_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1072,6 +1199,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAG10_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAG10_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAG10_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAG10_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDRAG10_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAG10_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDRAG10_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAG10_BORDER;
|
key = KEYC_MOUSEDRAG10_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1086,6 +1219,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDRAG11_STATUS_RIGHT;
|
key = KEYC_MOUSEDRAG11_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDRAG11_STATUS_DEFAULT;
|
key = KEYC_MOUSEDRAG11_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDRAG11_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDRAG11_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDRAG11_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDRAG11_BORDER;
|
key = KEYC_MOUSEDRAG11_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1094,9 +1233,16 @@ have_event:
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Begin a drag by setting the flag to a non-zero value that
|
* Begin a drag by setting the flag to a non-zero value that
|
||||||
* corresponds to the mouse button in use.
|
* corresponds to the mouse button in use. If starting to drag
|
||||||
|
* the scrollbar, store the relative position in the slider
|
||||||
|
* where the user grabbed.
|
||||||
*/
|
*/
|
||||||
c->tty.mouse_drag_flag = MOUSE_BUTTONS(b) + 1;
|
c->tty.mouse_drag_flag = MOUSE_BUTTONS(b) + 1;
|
||||||
|
if (c->tty.mouse_scrolling_flag == 0 &&
|
||||||
|
where == SCROLLBAR_SLIDER) {
|
||||||
|
c->tty.mouse_scrolling_flag = 1;
|
||||||
|
c->tty.mouse_slider_mpos = sl_mpos;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case WHEEL:
|
case WHEEL:
|
||||||
if (MOUSE_BUTTONS(b) == MOUSE_WHEEL_UP) {
|
if (MOUSE_BUTTONS(b) == MOUSE_WHEEL_UP) {
|
||||||
@ -1140,6 +1286,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEUP1_STATUS_RIGHT;
|
key = KEYC_MOUSEUP1_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEUP1_STATUS_DEFAULT;
|
key = KEYC_MOUSEUP1_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEUP1_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEUP1_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEUP1_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEUP1_BORDER;
|
key = KEYC_MOUSEUP1_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1154,6 +1306,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEUP2_STATUS_RIGHT;
|
key = KEYC_MOUSEUP2_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEUP2_STATUS_DEFAULT;
|
key = KEYC_MOUSEUP2_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEUP2_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEUP2_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEUP2_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEUP2_BORDER;
|
key = KEYC_MOUSEUP2_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1168,6 +1326,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEUP3_STATUS_RIGHT;
|
key = KEYC_MOUSEUP3_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEUP3_STATUS_DEFAULT;
|
key = KEYC_MOUSEUP3_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEUP3_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEUP3_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEUP3_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEUP3_BORDER;
|
key = KEYC_MOUSEUP3_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1182,6 +1346,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEUP6_STATUS_RIGHT;
|
key = KEYC_MOUSEUP6_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEUP6_STATUS_DEFAULT;
|
key = KEYC_MOUSEUP6_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEUP6_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEUP6_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEUP6_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEUP6_BORDER;
|
key = KEYC_MOUSEUP6_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1196,6 +1366,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEUP7_STATUS_RIGHT;
|
key = KEYC_MOUSEUP7_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEUP7_STATUS_DEFAULT;
|
key = KEYC_MOUSEUP7_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEUP7_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEUP7_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEUP7_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEUP7_BORDER;
|
key = KEYC_MOUSEUP7_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1210,6 +1386,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEUP8_STATUS_RIGHT;
|
key = KEYC_MOUSEUP8_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEUP8_STATUS_DEFAULT;
|
key = KEYC_MOUSEUP8_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEUP8_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEUP8_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEUP8_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEUP8_BORDER;
|
key = KEYC_MOUSEUP8_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1224,6 +1406,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEUP9_STATUS_RIGHT;
|
key = KEYC_MOUSEUP9_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEUP9_STATUS_DEFAULT;
|
key = KEYC_MOUSEUP9_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEUP9_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEUP9_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEUP9_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEUP9_BORDER;
|
key = KEYC_MOUSEUP9_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1237,7 +1425,13 @@ have_event:
|
|||||||
if (where == STATUS_RIGHT)
|
if (where == STATUS_RIGHT)
|
||||||
key = KEYC_MOUSEUP1_STATUS_RIGHT;
|
key = KEYC_MOUSEUP1_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEUP1_STATUS_DEFAULT;
|
key = KEYC_MOUSEUP10_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEUP10_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEUP10_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEUP1_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEUP1_BORDER;
|
key = KEYC_MOUSEUP1_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1252,6 +1446,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEUP11_STATUS_RIGHT;
|
key = KEYC_MOUSEUP11_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEUP11_STATUS_DEFAULT;
|
key = KEYC_MOUSEUP11_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEUP11_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEUP11_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEUP11_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEUP11_BORDER;
|
key = KEYC_MOUSEUP11_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1270,6 +1470,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDOWN1_STATUS_RIGHT;
|
key = KEYC_MOUSEDOWN1_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDOWN1_STATUS_DEFAULT;
|
key = KEYC_MOUSEDOWN1_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDOWN1_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDOWN1_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDOWN1_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDOWN1_BORDER;
|
key = KEYC_MOUSEDOWN1_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1284,6 +1490,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDOWN2_STATUS_RIGHT;
|
key = KEYC_MOUSEDOWN2_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDOWN2_STATUS_DEFAULT;
|
key = KEYC_MOUSEDOWN2_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDOWN2_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDOWN2_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDOWN2_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDOWN2_BORDER;
|
key = KEYC_MOUSEDOWN2_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1298,6 +1510,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDOWN3_STATUS_RIGHT;
|
key = KEYC_MOUSEDOWN3_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDOWN3_STATUS_DEFAULT;
|
key = KEYC_MOUSEDOWN3_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDOWN3_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDOWN3_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDOWN3_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDOWN3_BORDER;
|
key = KEYC_MOUSEDOWN3_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1312,6 +1530,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDOWN6_STATUS_RIGHT;
|
key = KEYC_MOUSEDOWN6_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDOWN6_STATUS_DEFAULT;
|
key = KEYC_MOUSEDOWN6_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDOWN6_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDOWN6_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDOWN6_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDOWN6_BORDER;
|
key = KEYC_MOUSEDOWN6_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1326,6 +1550,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDOWN7_STATUS_RIGHT;
|
key = KEYC_MOUSEDOWN7_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDOWN7_STATUS_DEFAULT;
|
key = KEYC_MOUSEDOWN7_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDOWN7_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDOWN7_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDOWN7_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDOWN7_BORDER;
|
key = KEYC_MOUSEDOWN7_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1340,6 +1570,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDOWN8_STATUS_RIGHT;
|
key = KEYC_MOUSEDOWN8_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDOWN8_STATUS_DEFAULT;
|
key = KEYC_MOUSEDOWN8_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDOWN8_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDOWN8_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDOWN8_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDOWN8_BORDER;
|
key = KEYC_MOUSEDOWN8_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1354,6 +1590,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDOWN9_STATUS_RIGHT;
|
key = KEYC_MOUSEDOWN9_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDOWN9_STATUS_DEFAULT;
|
key = KEYC_MOUSEDOWN9_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDOWN9_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDOWN9_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDOWN9_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDOWN9_BORDER;
|
key = KEYC_MOUSEDOWN9_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1368,6 +1610,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDOWN10_STATUS_RIGHT;
|
key = KEYC_MOUSEDOWN10_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDOWN10_STATUS_DEFAULT;
|
key = KEYC_MOUSEDOWN10_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDOWN10_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDOWN10_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDOWN10_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDOWN10_BORDER;
|
key = KEYC_MOUSEDOWN10_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1382,6 +1630,12 @@ have_event:
|
|||||||
key = KEYC_MOUSEDOWN11_STATUS_RIGHT;
|
key = KEYC_MOUSEDOWN11_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_MOUSEDOWN11_STATUS_DEFAULT;
|
key = KEYC_MOUSEDOWN11_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_MOUSEDOWN11_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_MOUSEDOWN11_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_MOUSEDOWN11_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_MOUSEDOWN11_BORDER;
|
key = KEYC_MOUSEDOWN11_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1400,6 +1654,12 @@ have_event:
|
|||||||
key = KEYC_SECONDCLICK1_STATUS_RIGHT;
|
key = KEYC_SECONDCLICK1_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_SECONDCLICK1_STATUS_DEFAULT;
|
key = KEYC_SECONDCLICK1_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_SECONDCLICK1_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_SECONDCLICK1_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_SECONDCLICK1_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_SECONDCLICK1_BORDER;
|
key = KEYC_SECONDCLICK1_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1414,6 +1674,12 @@ have_event:
|
|||||||
key = KEYC_SECONDCLICK2_STATUS_RIGHT;
|
key = KEYC_SECONDCLICK2_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_SECONDCLICK2_STATUS_DEFAULT;
|
key = KEYC_SECONDCLICK2_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_SECONDCLICK2_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_SECONDCLICK2_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_SECONDCLICK2_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_SECONDCLICK2_BORDER;
|
key = KEYC_SECONDCLICK2_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1428,6 +1694,12 @@ have_event:
|
|||||||
key = KEYC_SECONDCLICK3_STATUS_RIGHT;
|
key = KEYC_SECONDCLICK3_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_SECONDCLICK3_STATUS_DEFAULT;
|
key = KEYC_SECONDCLICK3_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_SECONDCLICK3_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_SECONDCLICK3_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_SECONDCLICK3_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_SECONDCLICK3_BORDER;
|
key = KEYC_SECONDCLICK3_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1442,6 +1714,12 @@ have_event:
|
|||||||
key = KEYC_SECONDCLICK6_STATUS_RIGHT;
|
key = KEYC_SECONDCLICK6_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_SECONDCLICK6_STATUS_DEFAULT;
|
key = KEYC_SECONDCLICK6_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_SECONDCLICK6_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_SECONDCLICK6_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_SECONDCLICK6_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_SECONDCLICK6_BORDER;
|
key = KEYC_SECONDCLICK6_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1456,6 +1734,12 @@ have_event:
|
|||||||
key = KEYC_SECONDCLICK7_STATUS_RIGHT;
|
key = KEYC_SECONDCLICK7_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_SECONDCLICK7_STATUS_DEFAULT;
|
key = KEYC_SECONDCLICK7_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_SECONDCLICK7_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_SECONDCLICK7_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_SECONDCLICK7_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_SECONDCLICK7_BORDER;
|
key = KEYC_SECONDCLICK7_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1470,6 +1754,12 @@ have_event:
|
|||||||
key = KEYC_SECONDCLICK8_STATUS_RIGHT;
|
key = KEYC_SECONDCLICK8_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_SECONDCLICK8_STATUS_DEFAULT;
|
key = KEYC_SECONDCLICK8_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_SECONDCLICK8_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_SECONDCLICK8_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_SECONDCLICK8_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_SECONDCLICK8_BORDER;
|
key = KEYC_SECONDCLICK8_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1484,6 +1774,12 @@ have_event:
|
|||||||
key = KEYC_SECONDCLICK9_STATUS_RIGHT;
|
key = KEYC_SECONDCLICK9_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_SECONDCLICK9_STATUS_DEFAULT;
|
key = KEYC_SECONDCLICK9_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_SECONDCLICK9_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_SECONDCLICK9_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_SECONDCLICK9_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_SECONDCLICK9_BORDER;
|
key = KEYC_SECONDCLICK9_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1498,6 +1794,12 @@ have_event:
|
|||||||
key = KEYC_SECONDCLICK10_STATUS_RIGHT;
|
key = KEYC_SECONDCLICK10_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_SECONDCLICK10_STATUS_DEFAULT;
|
key = KEYC_SECONDCLICK10_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_SECONDCLICK10_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_SECONDCLICK10_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_SECONDCLICK10_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_SECONDCLICK10_BORDER;
|
key = KEYC_SECONDCLICK10_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1512,6 +1814,12 @@ have_event:
|
|||||||
key = KEYC_SECONDCLICK11_STATUS_RIGHT;
|
key = KEYC_SECONDCLICK11_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_SECONDCLICK11_STATUS_DEFAULT;
|
key = KEYC_SECONDCLICK11_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_SECONDCLICK11_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_SECONDCLICK11_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_SECONDCLICK11_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_SECONDCLICK11_BORDER;
|
key = KEYC_SECONDCLICK11_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1530,6 +1838,12 @@ have_event:
|
|||||||
key = KEYC_DOUBLECLICK1_STATUS_RIGHT;
|
key = KEYC_DOUBLECLICK1_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_DOUBLECLICK1_STATUS_DEFAULT;
|
key = KEYC_DOUBLECLICK1_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_DOUBLECLICK1_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_DOUBLECLICK1_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_DOUBLECLICK1_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_DOUBLECLICK1_BORDER;
|
key = KEYC_DOUBLECLICK1_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1544,6 +1858,12 @@ have_event:
|
|||||||
key = KEYC_DOUBLECLICK2_STATUS_RIGHT;
|
key = KEYC_DOUBLECLICK2_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_DOUBLECLICK2_STATUS_DEFAULT;
|
key = KEYC_DOUBLECLICK2_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_DOUBLECLICK2_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_DOUBLECLICK2_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_DOUBLECLICK2_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_DOUBLECLICK2_BORDER;
|
key = KEYC_DOUBLECLICK2_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1558,6 +1878,12 @@ have_event:
|
|||||||
key = KEYC_DOUBLECLICK3_STATUS_RIGHT;
|
key = KEYC_DOUBLECLICK3_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_DOUBLECLICK3_STATUS_DEFAULT;
|
key = KEYC_DOUBLECLICK3_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_DOUBLECLICK3_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_DOUBLECLICK3_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_DOUBLECLICK3_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_DOUBLECLICK3_BORDER;
|
key = KEYC_DOUBLECLICK3_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1572,6 +1898,12 @@ have_event:
|
|||||||
key = KEYC_DOUBLECLICK6_STATUS_RIGHT;
|
key = KEYC_DOUBLECLICK6_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_DOUBLECLICK6_STATUS_DEFAULT;
|
key = KEYC_DOUBLECLICK6_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_DOUBLECLICK6_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_DOUBLECLICK6_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_DOUBLECLICK6_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_DOUBLECLICK6_BORDER;
|
key = KEYC_DOUBLECLICK6_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1586,6 +1918,12 @@ have_event:
|
|||||||
key = KEYC_DOUBLECLICK7_STATUS_RIGHT;
|
key = KEYC_DOUBLECLICK7_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_DOUBLECLICK7_STATUS_DEFAULT;
|
key = KEYC_DOUBLECLICK7_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_DOUBLECLICK7_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_DOUBLECLICK7_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_DOUBLECLICK7_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_DOUBLECLICK7_BORDER;
|
key = KEYC_DOUBLECLICK7_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1600,6 +1938,12 @@ have_event:
|
|||||||
key = KEYC_DOUBLECLICK8_STATUS_RIGHT;
|
key = KEYC_DOUBLECLICK8_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_DOUBLECLICK8_STATUS_DEFAULT;
|
key = KEYC_DOUBLECLICK8_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_DOUBLECLICK8_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_DOUBLECLICK8_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_DOUBLECLICK8_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_DOUBLECLICK8_BORDER;
|
key = KEYC_DOUBLECLICK8_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1614,6 +1958,12 @@ have_event:
|
|||||||
key = KEYC_DOUBLECLICK9_STATUS_RIGHT;
|
key = KEYC_DOUBLECLICK9_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_DOUBLECLICK9_STATUS_DEFAULT;
|
key = KEYC_DOUBLECLICK9_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_DOUBLECLICK9_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_DOUBLECLICK9_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_DOUBLECLICK9_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_DOUBLECLICK9_BORDER;
|
key = KEYC_DOUBLECLICK9_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1628,6 +1978,12 @@ have_event:
|
|||||||
key = KEYC_DOUBLECLICK10_STATUS_RIGHT;
|
key = KEYC_DOUBLECLICK10_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_DOUBLECLICK10_STATUS_DEFAULT;
|
key = KEYC_DOUBLECLICK10_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_DOUBLECLICK10_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_DOUBLECLICK10_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_DOUBLECLICK10_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_DOUBLECLICK10_BORDER;
|
key = KEYC_DOUBLECLICK10_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1642,6 +1998,12 @@ have_event:
|
|||||||
key = KEYC_DOUBLECLICK11_STATUS_RIGHT;
|
key = KEYC_DOUBLECLICK11_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_DOUBLECLICK11_STATUS_DEFAULT;
|
key = KEYC_DOUBLECLICK11_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_DOUBLECLICK11_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_DOUBLECLICK11_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_DOUBLECLICK11_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_DOUBLECLICK11_BORDER;
|
key = KEYC_DOUBLECLICK11_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1660,6 +2022,12 @@ have_event:
|
|||||||
key = KEYC_TRIPLECLICK1_STATUS_RIGHT;
|
key = KEYC_TRIPLECLICK1_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_TRIPLECLICK1_STATUS_DEFAULT;
|
key = KEYC_TRIPLECLICK1_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_TRIPLECLICK1_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_TRIPLECLICK1_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_TRIPLECLICK1_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_TRIPLECLICK1_BORDER;
|
key = KEYC_TRIPLECLICK1_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1674,6 +2042,12 @@ have_event:
|
|||||||
key = KEYC_TRIPLECLICK2_STATUS_RIGHT;
|
key = KEYC_TRIPLECLICK2_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_TRIPLECLICK2_STATUS_DEFAULT;
|
key = KEYC_TRIPLECLICK2_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_TRIPLECLICK2_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_TRIPLECLICK2_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_TRIPLECLICK2_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_TRIPLECLICK2_BORDER;
|
key = KEYC_TRIPLECLICK2_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1688,6 +2062,12 @@ have_event:
|
|||||||
key = KEYC_TRIPLECLICK3_STATUS_RIGHT;
|
key = KEYC_TRIPLECLICK3_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_TRIPLECLICK3_STATUS_DEFAULT;
|
key = KEYC_TRIPLECLICK3_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_TRIPLECLICK3_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_TRIPLECLICK3_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_TRIPLECLICK3_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_TRIPLECLICK3_BORDER;
|
key = KEYC_TRIPLECLICK3_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1702,6 +2082,12 @@ have_event:
|
|||||||
key = KEYC_TRIPLECLICK6_STATUS_RIGHT;
|
key = KEYC_TRIPLECLICK6_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_TRIPLECLICK6_STATUS_DEFAULT;
|
key = KEYC_TRIPLECLICK6_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_TRIPLECLICK6_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_TRIPLECLICK6_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_TRIPLECLICK6_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_TRIPLECLICK6_BORDER;
|
key = KEYC_TRIPLECLICK6_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1716,6 +2102,12 @@ have_event:
|
|||||||
key = KEYC_TRIPLECLICK7_STATUS_RIGHT;
|
key = KEYC_TRIPLECLICK7_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_TRIPLECLICK7_STATUS_DEFAULT;
|
key = KEYC_TRIPLECLICK7_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_TRIPLECLICK7_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_TRIPLECLICK7_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_TRIPLECLICK7_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_TRIPLECLICK7_BORDER;
|
key = KEYC_TRIPLECLICK7_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1730,6 +2122,12 @@ have_event:
|
|||||||
key = KEYC_TRIPLECLICK8_STATUS_RIGHT;
|
key = KEYC_TRIPLECLICK8_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_TRIPLECLICK8_STATUS_DEFAULT;
|
key = KEYC_TRIPLECLICK8_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_TRIPLECLICK8_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_TRIPLECLICK8_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_TRIPLECLICK8_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_TRIPLECLICK8_BORDER;
|
key = KEYC_TRIPLECLICK8_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1744,6 +2142,12 @@ have_event:
|
|||||||
key = KEYC_TRIPLECLICK9_STATUS_RIGHT;
|
key = KEYC_TRIPLECLICK9_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_TRIPLECLICK9_STATUS_DEFAULT;
|
key = KEYC_TRIPLECLICK9_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_TRIPLECLICK9_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_TRIPLECLICK9_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_TRIPLECLICK9_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_TRIPLECLICK9_BORDER;
|
key = KEYC_TRIPLECLICK9_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1758,6 +2162,12 @@ have_event:
|
|||||||
key = KEYC_TRIPLECLICK10_STATUS_RIGHT;
|
key = KEYC_TRIPLECLICK10_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_TRIPLECLICK10_STATUS_DEFAULT;
|
key = KEYC_TRIPLECLICK10_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_TRIPLECLICK10_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_TRIPLECLICK10_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_TRIPLECLICK10_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_TRIPLECLICK10_BORDER;
|
key = KEYC_TRIPLECLICK10_BORDER;
|
||||||
break;
|
break;
|
||||||
@ -1772,6 +2182,12 @@ have_event:
|
|||||||
key = KEYC_TRIPLECLICK11_STATUS_RIGHT;
|
key = KEYC_TRIPLECLICK11_STATUS_RIGHT;
|
||||||
if (where == STATUS_DEFAULT)
|
if (where == STATUS_DEFAULT)
|
||||||
key = KEYC_TRIPLECLICK11_STATUS_DEFAULT;
|
key = KEYC_TRIPLECLICK11_STATUS_DEFAULT;
|
||||||
|
if (where == SCROLLBAR_UP)
|
||||||
|
key = KEYC_TRIPLECLICK11_SCROLLBAR_UP;
|
||||||
|
if (where == SCROLLBAR_SLIDER)
|
||||||
|
key = KEYC_TRIPLECLICK11_SCROLLBAR_SLIDER;
|
||||||
|
if (where == SCROLLBAR_DOWN)
|
||||||
|
key = KEYC_TRIPLECLICK11_SCROLLBAR_DOWN;
|
||||||
if (where == BORDER)
|
if (where == BORDER)
|
||||||
key = KEYC_TRIPLECLICK11_BORDER;
|
key = KEYC_TRIPLECLICK11_BORDER;
|
||||||
break;
|
break;
|
||||||
|
24
tmux.1
24
tmux.1
@ -2402,22 +2402,31 @@ The synopsis for the
|
|||||||
command is:
|
command is:
|
||||||
.Bl -tag -width Ds
|
.Bl -tag -width Ds
|
||||||
.It Xo Ic copy-mode
|
.It Xo Ic copy-mode
|
||||||
.Op Fl deHMqu
|
.Op Fl deHMqSu
|
||||||
.Op Fl s Ar src-pane
|
.Op Fl s Ar src-pane
|
||||||
.Op Fl t Ar target-pane
|
.Op Fl t Ar target-pane
|
||||||
.Xc
|
.Xc
|
||||||
Enter copy mode.
|
Enter copy mode.
|
||||||
|
.Pp
|
||||||
.Fl u
|
.Fl u
|
||||||
also scrolls one page up after entering and
|
enters copy mode and scrolls one page up and
|
||||||
.Fl d
|
.Fl d
|
||||||
one page down if already in copy mode.
|
one page down.
|
||||||
.Fl M
|
|
||||||
begins a mouse drag (only valid if bound to a mouse key binding, see
|
|
||||||
.Sx MOUSE SUPPORT ) .
|
|
||||||
.Fl H
|
.Fl H
|
||||||
hides the position indicator in the top right.
|
hides the position indicator in the top right.
|
||||||
.Fl q
|
.Fl q
|
||||||
cancels copy mode and any other modes.
|
cancels copy mode and any other modes.
|
||||||
|
.Pp
|
||||||
|
.Fl M
|
||||||
|
begins a mouse drag (only valid if bound to a mouse key binding, see
|
||||||
|
.Sx MOUSE SUPPORT ) .
|
||||||
|
.Fl S
|
||||||
|
scrolls when bound to a mouse drag event; for example,
|
||||||
|
.Ic copy-mode -Se
|
||||||
|
is bound to
|
||||||
|
.Ar MouseDrag1ScrollbarSlider
|
||||||
|
by default.
|
||||||
|
.Pp
|
||||||
.Fl s
|
.Fl s
|
||||||
copies from
|
copies from
|
||||||
.Ar src-pane
|
.Ar src-pane
|
||||||
@ -5443,6 +5452,9 @@ and a location suffix, one of the following:
|
|||||||
.It Li "StatusLeft" Ta "the left part of the status line"
|
.It Li "StatusLeft" Ta "the left part of the status line"
|
||||||
.It Li "StatusRight" Ta "the right part of the status line"
|
.It Li "StatusRight" Ta "the right part of the status line"
|
||||||
.It Li "StatusDefault" Ta "any other part of the status line"
|
.It Li "StatusDefault" Ta "any other part of the status line"
|
||||||
|
.It Li "ScrollbarSlider" Ta "the scrollbar slider"
|
||||||
|
.It Li "ScrollbarUp" Ta "above the scrollbar slider"
|
||||||
|
.It Li "ScrollbarDown" Ta "below the scrollbar slider"
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
The following mouse events are available:
|
The following mouse events are available:
|
||||||
|
13
tmux.h
13
tmux.h
@ -184,6 +184,9 @@ struct winlink;
|
|||||||
KEYC_ ## name ## _STATUS_LEFT, \
|
KEYC_ ## name ## _STATUS_LEFT, \
|
||||||
KEYC_ ## name ## _STATUS_RIGHT, \
|
KEYC_ ## name ## _STATUS_RIGHT, \
|
||||||
KEYC_ ## name ## _STATUS_DEFAULT, \
|
KEYC_ ## name ## _STATUS_DEFAULT, \
|
||||||
|
KEYC_ ## name ## _SCROLLBAR_UP, \
|
||||||
|
KEYC_ ## name ## _SCROLLBAR_SLIDER, \
|
||||||
|
KEYC_ ## name ## _SCROLLBAR_DOWN, \
|
||||||
KEYC_ ## name ## _BORDER
|
KEYC_ ## name ## _BORDER
|
||||||
#define KEYC_MOUSE_STRING(name, s) \
|
#define KEYC_MOUSE_STRING(name, s) \
|
||||||
{ #s "Pane", KEYC_ ## name ## _PANE }, \
|
{ #s "Pane", KEYC_ ## name ## _PANE }, \
|
||||||
@ -191,6 +194,9 @@ struct winlink;
|
|||||||
{ #s "StatusLeft", KEYC_ ## name ## _STATUS_LEFT }, \
|
{ #s "StatusLeft", KEYC_ ## name ## _STATUS_LEFT }, \
|
||||||
{ #s "StatusRight", KEYC_ ## name ## _STATUS_RIGHT }, \
|
{ #s "StatusRight", KEYC_ ## name ## _STATUS_RIGHT }, \
|
||||||
{ #s "StatusDefault", KEYC_ ## name ## _STATUS_DEFAULT }, \
|
{ #s "StatusDefault", KEYC_ ## name ## _STATUS_DEFAULT }, \
|
||||||
|
{ #s "ScrollbarUp", KEYC_ ## name ## _SCROLLBAR_UP }, \
|
||||||
|
{ #s "ScrollbarSlider", KEYC_ ## name ## _SCROLLBAR_SLIDER }, \
|
||||||
|
{ #s "ScrollbarDown", KEYC_ ## name ## _SCROLLBAR_DOWN }, \
|
||||||
{ #s "Border", KEYC_ ## name ## _BORDER }
|
{ #s "Border", KEYC_ ## name ## _BORDER }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1140,6 +1146,9 @@ struct window_pane {
|
|||||||
#define PANE_UNSEENCHANGES 0x2000
|
#define PANE_UNSEENCHANGES 0x2000
|
||||||
#define PANE_REDRAWSCROLLBAR 0x4000
|
#define PANE_REDRAWSCROLLBAR 0x4000
|
||||||
|
|
||||||
|
u_int sb_slider_y;
|
||||||
|
u_int sb_slider_h;
|
||||||
|
|
||||||
int argc;
|
int argc;
|
||||||
char **argv;
|
char **argv;
|
||||||
char *shell;
|
char *shell;
|
||||||
@ -1543,6 +1552,9 @@ struct tty {
|
|||||||
u_int mouse_last_y;
|
u_int mouse_last_y;
|
||||||
u_int mouse_last_b;
|
u_int mouse_last_b;
|
||||||
int mouse_drag_flag;
|
int mouse_drag_flag;
|
||||||
|
int mouse_scrolling_flag;
|
||||||
|
int mouse_slider_mpos;
|
||||||
|
|
||||||
void (*mouse_drag_update)(struct client *,
|
void (*mouse_drag_update)(struct client *,
|
||||||
struct mouse_event *);
|
struct mouse_event *);
|
||||||
void (*mouse_drag_release)(struct client *,
|
void (*mouse_drag_release)(struct client *,
|
||||||
@ -3314,6 +3326,7 @@ void printflike(3, 4) window_copy_add(struct window_pane *, int, const char *,
|
|||||||
...);
|
...);
|
||||||
void printflike(3, 0) window_copy_vadd(struct window_pane *, int, const char *,
|
void printflike(3, 0) window_copy_vadd(struct window_pane *, int, const char *,
|
||||||
va_list);
|
va_list);
|
||||||
|
void window_copy_scroll(struct window_pane *, int, u_int, int);
|
||||||
void window_copy_pageup(struct window_pane *, int);
|
void window_copy_pageup(struct window_pane *, int);
|
||||||
void window_copy_pagedown(struct window_pane *, int, int);
|
void window_copy_pagedown(struct window_pane *, int, int);
|
||||||
void window_copy_start_drag(struct client *, struct mouse_event *);
|
void window_copy_start_drag(struct client *, struct mouse_event *);
|
||||||
|
178
window-copy.c
178
window-copy.c
@ -40,6 +40,8 @@ static void window_copy_free(struct window_mode_entry *);
|
|||||||
static void window_copy_resize(struct window_mode_entry *, u_int, u_int);
|
static void window_copy_resize(struct window_mode_entry *, u_int, u_int);
|
||||||
static void window_copy_formats(struct window_mode_entry *,
|
static void window_copy_formats(struct window_mode_entry *,
|
||||||
struct format_tree *);
|
struct format_tree *);
|
||||||
|
static void window_copy_scroll1(struct window_mode_entry *,
|
||||||
|
struct window_pane *wp, int, u_int, int);
|
||||||
static void window_copy_pageup1(struct window_mode_entry *, int);
|
static void window_copy_pageup1(struct window_mode_entry *, int);
|
||||||
static int window_copy_pagedown1(struct window_mode_entry *, int, int);
|
static int window_copy_pagedown1(struct window_mode_entry *, int, int);
|
||||||
static void window_copy_next_paragraph(struct window_mode_entry *);
|
static void window_copy_next_paragraph(struct window_mode_entry *);
|
||||||
@ -145,6 +147,9 @@ static void window_copy_acquire_cursor_up(struct window_mode_entry *,
|
|||||||
u_int, u_int, u_int, u_int, u_int);
|
u_int, u_int, u_int, u_int, u_int);
|
||||||
static void window_copy_acquire_cursor_down(struct window_mode_entry *,
|
static void window_copy_acquire_cursor_down(struct window_mode_entry *,
|
||||||
u_int, u_int, u_int, u_int, u_int, u_int, int);
|
u_int, u_int, u_int, u_int, u_int, u_int, int);
|
||||||
|
static u_int window_copy_clip_width(u_int, u_int, u_int, u_int);
|
||||||
|
static u_int window_copy_search_mark_match(struct window_copy_mode_data *,
|
||||||
|
u_int , u_int, u_int, int);
|
||||||
|
|
||||||
const struct window_mode window_copy_mode = {
|
const struct window_mode window_copy_mode = {
|
||||||
.name = "copy-mode",
|
.name = "copy-mode",
|
||||||
@ -598,6 +603,113 @@ window_copy_vadd(struct window_pane *wp, int parse, const char *fmt, va_list ap)
|
|||||||
screen_write_stop(&ctx);
|
screen_write_stop(&ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
window_copy_scroll(struct window_pane *wp, int sl_mpos, u_int my,
|
||||||
|
int scroll_exit)
|
||||||
|
{
|
||||||
|
struct window_mode_entry *wme = TAILQ_FIRST(&wp->modes);
|
||||||
|
|
||||||
|
if (wme != NULL) {
|
||||||
|
window_set_active_pane(wp->window, wp, 0);
|
||||||
|
window_copy_scroll1(wme, wp, sl_mpos, my, scroll_exit);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
window_copy_scroll1(struct window_mode_entry *wme, struct window_pane *wp,
|
||||||
|
int sl_mpos, u_int my, int scroll_exit)
|
||||||
|
{
|
||||||
|
struct window_copy_mode_data *data = wme->data;
|
||||||
|
u_int ox, oy, px, py, n, offset, size;
|
||||||
|
u_int new_offset;
|
||||||
|
u_int slider_height = wp->sb_slider_h;
|
||||||
|
u_int sb_height = wp->sy, sb_top = wp->yoff;
|
||||||
|
u_int sy = screen_size_y(data->backing);
|
||||||
|
int new_slider_y, delta;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* sl_mpos is where in the slider the user is dragging, mouse is
|
||||||
|
* dragging this y point relative to top of slider.
|
||||||
|
*/
|
||||||
|
if (my <= sb_top + sl_mpos) {
|
||||||
|
/* Slider banged into top. */
|
||||||
|
new_slider_y = sb_top - wp->yoff;
|
||||||
|
} else if (my - sl_mpos > sb_top + sb_height - slider_height) {
|
||||||
|
/* Slider banged into bottom. */
|
||||||
|
new_slider_y = sb_top - wp->yoff + (sb_height - slider_height);
|
||||||
|
} else {
|
||||||
|
/* Slider is somewhere in the middle. */
|
||||||
|
new_slider_y = my - wp->yoff - sl_mpos + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TAILQ_FIRST(&wp->modes) == NULL ||
|
||||||
|
window_copy_get_current_offset(wp, &offset, &size) == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* See screen_redraw_draw_pane_scrollbar - this is the inverse of the
|
||||||
|
* formula used there.
|
||||||
|
*/
|
||||||
|
new_offset = new_slider_y * ((float)(size + sb_height) / sb_height);
|
||||||
|
delta = (int)offset - new_offset;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Move pane view around based on delta relative to the cursor,
|
||||||
|
* maintaining the selection.
|
||||||
|
*/
|
||||||
|
oy = screen_hsize(data->backing) + data->cy - data->oy;
|
||||||
|
ox = window_copy_find_length(wme, oy);
|
||||||
|
|
||||||
|
if (data->cx != ox) {
|
||||||
|
data->lastcx = data->cx;
|
||||||
|
data->lastsx = ox;
|
||||||
|
}
|
||||||
|
data->cx = data->lastcx;
|
||||||
|
|
||||||
|
if (delta >= 0) {
|
||||||
|
n = (u_int)delta;
|
||||||
|
if (data->oy + n > screen_hsize(data->backing)) {
|
||||||
|
data->oy = screen_hsize(data->backing);
|
||||||
|
if (data->cy < n)
|
||||||
|
data->cy = 0;
|
||||||
|
else
|
||||||
|
data->cy -= n;
|
||||||
|
} else
|
||||||
|
data->oy += n;
|
||||||
|
} else {
|
||||||
|
n = (u_int)-delta;
|
||||||
|
if (data->oy < n) {
|
||||||
|
data->oy = 0;
|
||||||
|
if (data->cy + (n - data->oy) >= sy)
|
||||||
|
data->cy = sy - 1;
|
||||||
|
else
|
||||||
|
data->cy += n - data->oy;
|
||||||
|
} else
|
||||||
|
data->oy -= n;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Don't also drag tail when dragging a scrollbar, it looks weird. */
|
||||||
|
data->cursordrag = CURSORDRAG_NONE;
|
||||||
|
|
||||||
|
if (data->screen.sel == NULL || !data->rectflag) {
|
||||||
|
py = screen_hsize(data->backing) + data->cy - data->oy;
|
||||||
|
px = window_copy_find_length(wme, py);
|
||||||
|
if ((data->cx >= data->lastsx && data->cx != px) ||
|
||||||
|
data->cx > px)
|
||||||
|
window_copy_cursor_end_of_line(wme);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (scroll_exit && data->oy == 0) {
|
||||||
|
window_pane_reset_mode(wp);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data->searchmark != NULL && !data->timeout)
|
||||||
|
window_copy_search_marks(wme, NULL, data->searchregex, 1);
|
||||||
|
window_copy_update_selection(wme, 1, 0);
|
||||||
|
window_copy_redraw_screen(wme);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
window_copy_pageup(struct window_pane *wp, int half_page)
|
window_copy_pageup(struct window_pane *wp, int half_page)
|
||||||
{
|
{
|
||||||
@ -3881,6 +3993,43 @@ window_copy_search_mark_at(struct window_copy_mode_data *data, u_int px,
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static u_int
|
||||||
|
window_copy_clip_width(u_int width, u_int b, u_int sx, u_int sy)
|
||||||
|
{
|
||||||
|
return ((b + width > sx * sy) ? (sx * sy) - b : width);
|
||||||
|
}
|
||||||
|
|
||||||
|
static u_int
|
||||||
|
window_copy_search_mark_match(struct window_copy_mode_data *data, u_int px,
|
||||||
|
u_int py, u_int width, int regex)
|
||||||
|
{
|
||||||
|
struct grid *gd = data->backing->grid;
|
||||||
|
struct grid_cell gc;
|
||||||
|
u_int i, b, w = width, sx = gd->sx, sy = gd->sy;
|
||||||
|
|
||||||
|
if (window_copy_search_mark_at(data, px, py, &b) == 0) {
|
||||||
|
width = window_copy_clip_width(width, b, sx, sy);
|
||||||
|
w = width;
|
||||||
|
for (i = b; i < b + w; i++) {
|
||||||
|
if (!regex) {
|
||||||
|
grid_get_cell(gd, px + (i - b), py, &gc);
|
||||||
|
if (gc.flags & GRID_FLAG_TAB)
|
||||||
|
w += gc.data.width - 1;
|
||||||
|
w = window_copy_clip_width(w, b, sx, sy);
|
||||||
|
}
|
||||||
|
if (data->searchmark[i] != 0)
|
||||||
|
continue;
|
||||||
|
data->searchmark[i] = data->searchgen;
|
||||||
|
}
|
||||||
|
if (data->searchgen == UCHAR_MAX)
|
||||||
|
data->searchgen = 1;
|
||||||
|
else
|
||||||
|
data->searchgen++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (w);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
window_copy_search_marks(struct window_mode_entry *wme, struct screen *ssp,
|
window_copy_search_marks(struct window_mode_entry *wme, struct screen *ssp,
|
||||||
int regex, int visible_only)
|
int regex, int visible_only)
|
||||||
@ -3892,7 +4041,7 @@ window_copy_search_marks(struct window_mode_entry *wme, struct screen *ssp,
|
|||||||
struct grid_cell gc;
|
struct grid_cell gc;
|
||||||
int found, cis, stopped = 0;
|
int found, cis, stopped = 0;
|
||||||
int cflags = REG_EXTENDED;
|
int cflags = REG_EXTENDED;
|
||||||
u_int px, py, i, b, nfound = 0, width, tw;
|
u_int px, py, nfound = 0, width;
|
||||||
u_int ssize = 1, start, end, sx = gd->sx;
|
u_int ssize = 1, start, end, sx = gd->sx;
|
||||||
u_int sy = gd->sy;
|
u_int sy = gd->sy;
|
||||||
char *sbuf;
|
char *sbuf;
|
||||||
@ -3958,31 +4107,8 @@ again:
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
nfound++;
|
nfound++;
|
||||||
|
px += window_copy_search_mark_match(data, px, py, width,
|
||||||
tw = width;
|
regex);
|
||||||
if (window_copy_search_mark_at(data, px, py, &b) == 0) {
|
|
||||||
if (b + width > sx * sy)
|
|
||||||
width = (sx * sy) - b;
|
|
||||||
tw = width;
|
|
||||||
for (i = b; i < b + tw; i++) {
|
|
||||||
if (!regex) {
|
|
||||||
grid_get_cell(gd, px + (i - b),
|
|
||||||
py, &gc);
|
|
||||||
if (gc.flags & GRID_FLAG_TAB)
|
|
||||||
tw += gc.data.width - 1;
|
|
||||||
if (b + tw > sx * sy)
|
|
||||||
tw = (sx * sy) - b;
|
|
||||||
}
|
|
||||||
if (data->searchmark[i] != 0)
|
|
||||||
continue;
|
|
||||||
data->searchmark[i] = data->searchgen;
|
|
||||||
}
|
|
||||||
if (data->searchgen == UCHAR_MAX)
|
|
||||||
data->searchgen = 1;
|
|
||||||
else
|
|
||||||
data->searchgen++;
|
|
||||||
}
|
|
||||||
px += tw;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
t = get_timer();
|
t = get_timer();
|
||||||
|
Loading…
Reference in New Issue
Block a user