diff options
| -rw-r--r-- | config.def.h | 14 | ||||
| -rw-r--r-- | x.c | 12 | 
2 files changed, 13 insertions, 13 deletions
| diff --git a/config.def.h b/config.def.h index 36ff6ce..a0a0d2d 100644 --- a/config.def.h +++ b/config.def.h @@ -151,6 +151,13 @@ static unsigned int mousebg = 0;  static unsigned int defaultattr = 11;  /* + * Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set). + * Note that if you want to use ShiftMask with selmasks, set this to an other + * modifier, set to 0 to not use it. + */ +static uint forcemousemod = ShiftMask; + +/*   * Internal mouse shortcuts.   * Beware that overloading Button1 will disable the selection.   */ @@ -214,13 +221,6 @@ static KeySym mappedkeys[] = { -1 };  static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;  /* - * Override mouse-select while mask is active (when MODE_MOUSE is set). - * Note that if you want to use ShiftMask with selmasks, set this to an other - * modifier, set to 0 to not use it. - */ -static uint forceselmod = ShiftMask; - -/*   * This is the huge key array which defines all compatibility to the Linux   * world. Please decide about changes wisely.   */ @@ -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;  	} | 
