code: func Grab(xu *xgbutil.XUtil, win xproto.Window, mods uint16,
  	button xproto.Button, sync bool) {
  
  	var pSync byte = xproto.GrabModeAsync
  	if sync {
  		pSync = xproto.GrabModeSync
  	}
  
  	for _, m := range xevent.IgnoreMods {
  		xproto.GrabButton(xu.Conn(), true, win, pointerMasks, pSync,
  			xproto.GrabModeAsync, 0, 0, byte(button), mods|m)
  	}
  }
docs: // Grab grabs a button with mods on a particular window.
  // Will also grab all combinations of modifiers found in xevent.IgnoreMods
  // If 'sync' is True, then no further events can be processed until the
  // grabbing client allows them to be. (Which is done via AllowEvents. Thus,
  // if sync is True, you *must* make some call to AllowEvents at some
  // point, or else your client will lock.)