Adds scrollback with mouse patch
This commit is contained in:
parent
22d8cae029
commit
e441259963
3 changed files with 25 additions and 2 deletions
10
config.def.h
10
config.def.h
|
@ -156,8 +156,14 @@ static unsigned int defaultattr = 11;
|
|||
*/
|
||||
static MouseShortcut mshortcuts[] = {
|
||||
/* button mask string */
|
||||
{ Button4, XK_ANY_MOD, "\031" },
|
||||
{ Button5, XK_ANY_MOD, "\005" },
|
||||
{ Button4, XK_NO_MOD, "\031" },
|
||||
{ Button5, XK_NO_MOD, "\005" },
|
||||
};
|
||||
|
||||
MouseKey mkeys[] = {
|
||||
/* button mask function argument */
|
||||
{ Button4, ShiftMask, kscrollup, {.i = 1} },
|
||||
{ Button5, ShiftMask, kscrolldown, {.i = 1} },
|
||||
};
|
||||
|
||||
/* Internal keyboard shortcuts. */
|
||||
|
|
8
st.h
8
st.h
|
@ -76,6 +76,13 @@ typedef union {
|
|||
const void *v;
|
||||
} Arg;
|
||||
|
||||
typedef struct {
|
||||
uint b;
|
||||
uint mask;
|
||||
void (*func)(const Arg *);
|
||||
const Arg arg;
|
||||
} MouseKey;
|
||||
|
||||
void die(const char *, ...);
|
||||
void redraw(void);
|
||||
void draw(void);
|
||||
|
@ -122,3 +129,4 @@ extern char *termname;
|
|||
extern unsigned int tabspaces;
|
||||
extern unsigned int defaultfg;
|
||||
extern unsigned int defaultbg;
|
||||
extern MouseKey mkeys[];
|
||||
|
|
9
x.c
9
x.c
|
@ -413,6 +413,7 @@ bpress(XEvent *e)
|
|||
{
|
||||
struct timespec now;
|
||||
MouseShortcut *ms;
|
||||
MouseKey *mk;
|
||||
int snap;
|
||||
|
||||
if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) {
|
||||
|
@ -428,6 +429,14 @@ bpress(XEvent *e)
|
|||
}
|
||||
}
|
||||
|
||||
for (mk = mkeys; mk < mkeys + LEN(mkeys); mk++) {
|
||||
if (e->xbutton.button == mk->b
|
||||
&& match(mk->mask, e->xbutton.state)) {
|
||||
mk->func(&mk->arg);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (e->xbutton.button == Button1) {
|
||||
/*
|
||||
* If the user clicks below predefined timeouts specific
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue