diff options
author | Avi Halachmi (:avih) <avihpit@yahoo.com> | 2019-10-10 23:42:30 +0300 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2019-10-13 21:46:31 +0200 |
commit | b6d280de6df30167ce9cf30fadefc362e77729e7 (patch) | |
tree | 7e1ab2ec0b42e2149a41f3a6f8165ba11f54f088 /x.c | |
parent | ba7f4d69af62d20e13fea78a408095e017410651 (diff) | |
download | st-b6d280de6df30167ce9cf30fadefc362e77729e7.tar.gz st-b6d280de6df30167ce9cf30fadefc362e77729e7.tar.bz2 st-b6d280de6df30167ce9cf30fadefc362e77729e7.zip |
mouse shortcuts: allow override for all shortcuts
Allow forceselmod to override all mouse shortcuts rather than only
selection, and rename it to forcemousemod as it's now more appropriate.
This will affect mouse shortcuts which use mask other than XK_ANY_MOD.
This does not affect the default behavior because the default mouse
shortcuts (wheel) use XK_ANY_MOD, where forceselmod already activated
the override also before this change.
Previously, if a mouse shortcut was configured with a specific mod and
forceselmod was held, then the shortcut did not execute unless the
configured mod included forceselmod.
Diffstat (limited to 'x.c')
-rw-r--r-- | x.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -340,7 +340,7 @@ void mousesel(XEvent *e, int done) { int type, seltype = SEL_REGULAR; - uint state = e->xbutton.state & ~(Button1Mask | forceselmod); + uint state = e->xbutton.state & ~(Button1Mask | forcemousemod); for (type = 1; type < LEN(selmasks); ++type) { if (match(selmasks[type], state)) { @@ -423,14 +423,14 @@ bpress(XEvent *e) MouseShortcut *ms; int snap; - if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { + if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forcemousemod)) { mousereport(e); return; } for (ms = mshortcuts; ms < mshortcuts + LEN(mshortcuts); ms++) { - if (e->xbutton.button == ms->button - && match(ms->mod, e->xbutton.state)) { + if (e->xbutton.button == ms->button && + match(ms->mod, e->xbutton.state & ~forcemousemod)) { ms->func(&(ms->arg)); return; } @@ -650,7 +650,7 @@ xsetsel(char *str) void brelease(XEvent *e) { - if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { + if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forcemousemod)) { mousereport(e); return; } @@ -664,7 +664,7 @@ brelease(XEvent *e) void bmotion(XEvent *e) { - if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { + if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forcemousemod)) { mousereport(e); return; } |