diff options
Diffstat (limited to 'x.c')
-rw-r--r-- | x.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -34,6 +34,7 @@ typedef struct { | |||
34 | void (*func)(const Arg *); | 34 | void (*func)(const Arg *); |
35 | const Arg arg; | 35 | const Arg arg; |
36 | uint release; | 36 | uint release; |
37 | int altscrn; /* 0: don't care, -1: not alt screen, 1: alt screen */ | ||
37 | } MouseShortcut; | 38 | } MouseShortcut; |
38 | 39 | ||
39 | typedef struct { | 40 | typedef struct { |
@@ -434,6 +435,7 @@ mouseaction(XEvent *e, uint release) | |||
434 | for (ms = mshortcuts; ms < mshortcuts + LEN(mshortcuts); ms++) { | 435 | for (ms = mshortcuts; ms < mshortcuts + LEN(mshortcuts); ms++) { |
435 | if (ms->release == release && | 436 | if (ms->release == release && |
436 | ms->button == e->xbutton.button && | 437 | ms->button == e->xbutton.button && |
438 | (!ms->altscrn || (ms->altscrn == (tisaltscr() ? 1 : -1))) && | ||
437 | (match(ms->mod, e->xbutton.state) || /* exact or forced */ | 439 | (match(ms->mod, e->xbutton.state) || /* exact or forced */ |
438 | match(ms->mod, e->xbutton.state & ~forcemousemod))) { | 440 | match(ms->mod, e->xbutton.state & ~forcemousemod))) { |
439 | ms->func(&(ms->arg)); | 441 | ms->func(&(ms->arg)); |