Why snapping is in document properties

Bug #246028 reported by sasha1024
4
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Wishlist
Diederik van Lierop

Bug Description

Why snapping preferences are in "Document properties"?
They should be in "Inkscape prerences" -- like all other preferences.
At least, the "snap distance" option.

"Grab sensitivity", "Mouse wheel scrolls by", "Arrow keys move by" -- all they are in "Inkscape prerences", and snap distance also must be there.

P.S.: May be it would have some sense to have snap distance in "Document properties" if snap distance is measured in document units (not in screen pixels). But measuring of snap distance not-in-screen-pixels is bad idea by itself. Imho, much better is to have the document-independent (i.e. in general preferences) zoom-independent (i.e. in screen pixels) snap distance that could be temporary disabled when some key is hold (e.g. Alt) [yes, I know about the % key, but to toggle when click a key, and to temporarily disable it while holding a key are not the same things].

P.P.S.: Anyway, thanks for a wonderful software. Keep up the good work

sasha1024 (sasha1024)
description: updated
nightrow (jb-benoit)
Changed in inkscape:
importance: Undecided → Wishlist
Revision history for this message
Joshua Blocher (verbalshadow) wrote :

What you are not understanding is all the settings you listed("Grab sensitivity", "Mouse wheel scrolls by", "Arrow keys move by") are global Inkscape settings.
Snapping is a per document setting. The means if you have six different projects open they can all have their own snap settings.

Document Independent snapping seems like a step backwards to me.
Zoom Independent might be possible you will have to ask a dev, seem like it would be a PITA to me.

Revision history for this message
sasha1024 (sasha1024) wrote :

To Joshua Blocher
> What you are not understanding is all the settings you listed are global Inkscape settings. Snapping is a per document setting.
:)) I do understand what global settings and per-document settings are :)

What I'm talking about is that - snapping must NOT be a per-document setting. There is no reason for snapping to be per-document.

1. That creates problems for users. Instead of choosing values I want once in global preferences, I have to patch each template in /usr/share/inkscape/templates (or to configure every created document, which is even worse).

2. That's simply illogical. And I've listed some settings ("Grab sensitivity", "Mouse wheel scrolls by", "Arrow keys move by") that are very similar (also define mouse/keyboard behavoiur and are also measured in screen pixels) but are in global preferences -- to illustrate how illogical that is.

Revision history for this message
sasha1024 (sasha1024) wrote :

P.S.: Don't understand me incorrectly. Of course, I'm not against per-document settings in general (some values are really the characteristics of the document - e.g. page size). And I even understand that it's sometimes handy to have per-document snapping settings (as it is sometimes handy to have per-document grab sensitivity or per-document mouse wheel settings).
But, never-the-less, "sometimes handy" doesn't mean that preferences should be organized illogically (and non-intuitively). There always is a way to organize both handy and logically at the same time.

For example, I'll be nice to make all-the-settings-that-logically-should-be-global actually global, but make them also present in document properties through a "Override global snapping settings" checkbox. (Although personally I don't need it, however good for backward compatibity.)

Revision history for this message
Diederik van Lierop (mail-diedenrezi) wrote :

Hi Sasha,

We can have it either way: make the snap sensitivity settings global or per-document. But whether we snap to nodes or to paths, to grid or to guidelines, etc. really differs from document to document. In one document I will be using very strict snapping to grids, whereas in another I will not be using any snapping at all. Therefore any setting other than the snap-sensitivity should therefore always be in the document-properties dialog, we cannot make that global. So IMHO the question is: should we move only the sensitivity to the global preferences? Or should we keep all snapping related settings together as they are now?

Regards,

Diederik

Revision history for this message
sasha1024 (sasha1024) wrote :

Well, I though about it... I had several another propositions, but your idea (about splitting of snapping related settings) could be a solution.

Snap sensitivity (i.e. snap distances) could be global.

Snap rules (i.e. "snap-to-what?") could be per-document.
That'll be even better to make them not as checkboxes in doc-properties, but as toolbar buttons (and menu items) to allow toggle them quickly -- but still to save them per-document.

A "snap to grid" rule could be implemented with two buttons:
- one button is "snap to grid" ("on" or "off");
- another button (enabled only when "snap to grid" is "on") "strict grid snapping" ("on" or "off") determines whether snap-to-grid is performed using general snapping distance or "strictly".

Revision history for this message
Diederik van Lierop (mail-diedenrezi) wrote :

Recent builds have some snapping settings already in the preferences. We might move more of them there, if deemed logical. We could move the snap sensitivity there as you suggested, but this parameter is closely related to the "always snap" option in the document properties as you can see. When one really wants everything exactly on grid, then one would use the "always snap" button. But I guess no one would use that for each and every document, so this must be document specific. And that's why the sensitivity must also be document specific ("always snap" basically is just a sensitivity of 10000 px). Well, at least that's the current situation, we could decouple the "always snap" from the sensitivity. It would only require some effort, it's not like it cannot be done or that it would be very hard.

With respect to your last paragraph: currently you will find your first button in the tab with the grid properties, where you can toggle the snapping per grid (you can have multiple grids these days). Your second button is our current "always snap" button, but only named differently. So this would basically boil down to moving the sensitivity sliders to the preferences, which brings me back to what I've described above.

Admittedly, the more I think of it, the more I tend to favour your idea.....

The toolbar buttons are still on my to-do list. So far I've been mainly working on the snapping internals, but the UI will be next. Looking forward to that :-)

Changed in inkscape:
assignee: nobody → mail-diedenrezi
Revision history for this message
Guillermo Espertino (Gez) (gespertino-gmail) wrote :

In my opinion, the current state of the snapping features (UI-wise) is just fine.
Some time ago I also thought that the snapping values should be global, but now I understand the idea behind the templates, I tend to prefer the snapping distance as a per-document setting.

I think the current UI distribution of the snapping features makes a lot of sense and it shouldn't be changed.
What we need to do is making more obvious that templates are there and how to manage them.

Revision history for this message
ScislaC (scislac) wrote :

sascha1024,

Would you be willing to try out a nightly build / svn copy to see what you think of the ui and preference changes made for snapping?

Revision history for this message
Diederik van Lierop (mail-diedenrezi) wrote :

Both options (global vs per document snap preferences) have their merits, I don't see a clear winner. That's why I'd suggest leaving things as they are, as that will require the least effort ;-). If it ain't broken, then lets not try fixing it!

Revision history for this message
Guillermo Espertino (Gez) (gespertino-gmail) wrote :

I'm marking this as fixed. As Diederik pointed out, both options have their merits and the current distribution is very reasonable. Feel free to re-open if you disagree.

Changed in inkscape:
status: New → Fix Released
su_v (suv-lp)
tags: added: preferences snapping
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.