applied Frederik Ternerot's grabbuttons patch with slight modifications 9bb0f205
Anselm R Garbe · 2008-07-01 19:26 1 file(s) · +8 −9
dwm.c +8 −9
723 723
724 724
void
725 725
grabbuttons(Client *c, Bool focused) {
726 -
	int i, j;
727 -
	uint buttons[]   = { Button1, Button2, Button3 };
728 -
	uint modifiers[] = { MODKEY, MODKEY|LockMask, MODKEY|numlockmask, MODKEY|numlockmask|LockMask };
726 +
	uint i, j;
727 +
	uint modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
729 728
730 729
	XUngrabButton(dpy, AnyButton, AnyModifier, c->win);
731 -
	if(focused)
730 +
	if(focused) {
732 731
		for(i = 0; i < LENGTH(buttons); i++)
733 -
			for(j = 0; j < LENGTH(modifiers); j++)
734 -
				XGrabButton(dpy, buttons[i], modifiers[j], c->win, False,
735 -
					BUTTONMASK, GrabModeAsync, GrabModeSync, None, None);
736 -
	else
732 +
			if(buttons[i].click == ClkClientWin)
733 +
				for(j = 0; j < LENGTH(modifiers); j++)
734 +
					XGrabButton(dpy, buttons[i].button, buttons[i].mask | modifiers[j], c->win, False, BUTTONMASK, GrabModeAsync, GrabModeSync, None, None);
735 +
        } else
737 736
		XGrabButton(dpy, AnyButton, AnyModifier, c->win, False,
738 -
			BUTTONMASK, GrabModeAsync, GrabModeSync, None, None);
737 +
		            BUTTONMASK, GrabModeAsync, GrabModeSync, None, None);
739 738
}
740 739
741 740
void