Improving the snapping to items

Previous topic - Next topic


this is a continuation of a thread started in,3084.msg14923.html#msg14923


- gibbz: Improve the snapping tool to snap to nearest object to the mouse
- ale: what do you think about the idea of "removing" the current "snap to item" mode and replace it with an "on demand" snapping?
- gibbz: The way I would like it to work is that it will only snap to the closest object under the mouse cursor.


corel draw is a drawing program, scribus a layout program: behaviors can sometimes differ.

one such case is imho the snapping to items: when you draw, you almost always only want to snap to the closest environment.

when you layout, you often want to snap to distant items. but, i agree, scribus should only snap to visible items.
i've now opened a ticket for it:

but i'm not sure that restricting the snapping to the item that is the closest to the mouse pointer is a good idea.

on the other hand, i still think that the snapping to items would be much more useful if it would be "on demand" instead of a modus.
in my experience, when layouting you want almost always snap to guides, but only in specific cases to items.

finally, let's dig a bit in the history of the snapping:

i've made a patch for the shift-snap... but it has been ignored until now...

there is also a ticket for removing the snap to items mode (and replacing it by the ad hoc snapping):

and i think that i'll enhance my shift-snap with the same feature for the guides...

there is also a request for getting the origin to snap, too:

as you see, all (or mostly) tickets of mine... i also mentored the GSOC project that introduced the snap to items... a pet topic of mine.
but those are not all ideas of mine (inclusive the starting idea of introducing the snapping to items). i often pick up topics suggested by other people (like your idea of only snapping to visible items) and fill a ticket...

now that you had to read all this... what are your thoughts?


Yeah looks good to me. Im not sure using a modifier key is the way to go here.... I think a shortcut would work better (Corel uses Alt+z to toggle snap on/off).

Yes corel draw is a drawing program, but we use it for page layout, and nothing ive used comes close to the snap tool in this one. Ill try and explain how it works:
Each object has a snap node, the corners (square), mid points (triangle) and center (diamond).
When selecting an object to move it, if the cursor is near one of these points, it will display a small snap shape (listed above) on that point to let the user know that is the source snap point.
Then the user can click + drag that object to snap it to another object's snap points.
This system can also snap to objects nodes of source and target objects if enabled.

Attached a screenshot

[attachment deleted by admin]


having seen the screenshot, i can say it: i really did not understand what you were describing : - )

it's for sure a clever way for reducing the number of snapping points.

but i have to think further, if it works well for layout work...

i did work a bit with item snapping enabled during the last few days and it was useful but i really think that i would have preferred to quickly enable it on demand rather than keeping on switching it on and of.