mirror of
https://github.com/tmux/tmux.git
synced 2025-09-01 20:57:00 +00:00
Mouse support on the scrollbars, from Michael Grant.
This commit is contained in:
37
tmux.h
37
tmux.h
@ -169,19 +169,25 @@ struct winlink;
|
||||
#define KEYC_CLICK_TIMEOUT 300
|
||||
|
||||
/* Mouse key codes. */
|
||||
#define KEYC_MOUSE_KEY(name) \
|
||||
KEYC_ ## name ## _PANE, \
|
||||
KEYC_ ## name ## _STATUS, \
|
||||
KEYC_ ## name ## _STATUS_LEFT, \
|
||||
KEYC_ ## name ## _STATUS_RIGHT, \
|
||||
KEYC_ ## name ## _STATUS_DEFAULT, \
|
||||
#define KEYC_MOUSE_KEY(name) \
|
||||
KEYC_ ## name ## _PANE, \
|
||||
KEYC_ ## name ## _STATUS, \
|
||||
KEYC_ ## name ## _STATUS_LEFT, \
|
||||
KEYC_ ## name ## _STATUS_RIGHT, \
|
||||
KEYC_ ## name ## _STATUS_DEFAULT, \
|
||||
KEYC_ ## name ## _SCROLLBAR_UP, \
|
||||
KEYC_ ## name ## _SCROLLBAR_SLIDER, \
|
||||
KEYC_ ## name ## _SCROLLBAR_DOWN, \
|
||||
KEYC_ ## name ## _BORDER
|
||||
#define KEYC_MOUSE_STRING(name, s) \
|
||||
{ #s "Pane", KEYC_ ## name ## _PANE }, \
|
||||
{ #s "Status", KEYC_ ## name ## _STATUS }, \
|
||||
{ #s "StatusLeft", KEYC_ ## name ## _STATUS_LEFT }, \
|
||||
{ #s "StatusRight", KEYC_ ## name ## _STATUS_RIGHT }, \
|
||||
{ #s "StatusDefault", KEYC_ ## name ## _STATUS_DEFAULT }, \
|
||||
#define KEYC_MOUSE_STRING(name, s) \
|
||||
{ #s "Pane", KEYC_ ## name ## _PANE }, \
|
||||
{ #s "Status", KEYC_ ## name ## _STATUS }, \
|
||||
{ #s "StatusLeft", KEYC_ ## name ## _STATUS_LEFT }, \
|
||||
{ #s "StatusRight", KEYC_ ## name ## _STATUS_RIGHT }, \
|
||||
{ #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 }
|
||||
|
||||
/*
|
||||
@ -1109,6 +1115,9 @@ struct window_pane {
|
||||
#define PANE_UNSEENCHANGES 0x2000
|
||||
#define PANE_REDRAWSCROLLBAR 0x4000
|
||||
|
||||
u_int sb_slider_y;
|
||||
u_int sb_slider_h;
|
||||
|
||||
int argc;
|
||||
char **argv;
|
||||
char *shell;
|
||||
@ -1509,6 +1518,9 @@ struct tty {
|
||||
u_int mouse_last_y;
|
||||
u_int mouse_last_b;
|
||||
int mouse_drag_flag;
|
||||
int mouse_scrolling_flag;
|
||||
int mouse_slider_mpos;
|
||||
|
||||
void (*mouse_drag_update)(struct client *,
|
||||
struct mouse_event *);
|
||||
void (*mouse_drag_release)(struct client *,
|
||||
@ -3266,6 +3278,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 *,
|
||||
va_list);
|
||||
void window_copy_scroll(struct window_pane *, int, u_int, int);
|
||||
void window_copy_pageup(struct window_pane *, int);
|
||||
void window_copy_pagedown(struct window_pane *, int, int);
|
||||
void window_copy_start_drag(struct client *, struct mouse_event *);
|
||||
|
Reference in New Issue
Block a user