Excuse me if the previous comment was meant to be directed towards someone specifically, but since it sounds general I'll attempt to answer it.
When an icon is dragged and dropped, the first thing that needs to be checked is whether or not the cursor was directly over another icon. If it was, the icon on which the file was released should be launched using the dragged file, exactly like it already does in GNOME. Secondly, which square on the grid the icon was released must be calculated. This means that there shouldn't be 1 pixel boundaries forming a grid, but rather every pixel must be part of one block in the grid. Thirdly, if no icon already occupies the square onto which the dragged icon was dropped, the dragged icon will simply be moved from its original square to the new one. However, if an icon already exists at that location, the dragged icon will be placed at that location and the icon that was already there will be bumped down one square in its column. Once the "bumping" of icons reaches the bottom of a column, it should move over to the top of the next column.
Note: It would be nice to provide options for switching between the old and new desktop schemes (because otherwise someone will no doubt complain) and options for things like stacking icons in rows instead of columns and making the far right column the initial column (for people who are used to languages like Hebrew or Arabic).
Excuse me if the previous comment was meant to be directed towards someone specifically, but since it sounds general I'll attempt to answer it.
When an icon is dragged and dropped, the first thing that needs to be checked is whether or not the cursor was directly over another icon. If it was, the icon on which the file was released should be launched using the dragged file, exactly like it already does in GNOME. Secondly, which square on the grid the icon was released must be calculated. This means that there shouldn't be 1 pixel boundaries forming a grid, but rather every pixel must be part of one block in the grid. Thirdly, if no icon already occupies the square onto which the dragged icon was dropped, the dragged icon will simply be moved from its original square to the new one. However, if an icon already exists at that location, the dragged icon will be placed at that location and the icon that was already there will be bumped down one square in its column. Once the "bumping" of icons reaches the bottom of a column, it should move over to the top of the next column.
Note: It would be nice to provide options for switching between the old and new desktop schemes (because otherwise someone will no doubt complain) and options for things like stacking icons in rows instead of columns and making the far right column the initial column (for people who are used to languages like Hebrew or Arabic).