P: Ability to toggle pixel grid snapping on/off for vector tools using a keyboard shortcut

16 Votes
LEGEND ,
Jun 24, 2012 Jun 24, 2012

Copy link to clipboard

Copied

As a UI designer I toggle the Snap to pixelgrid option on and off many times per day. This feature requires a easy override shortcut instead of being hidden in preferences. Maybe by adding ctrl to the move shortcuts for example?

Idea No status
TOPICS
macOS , Windows

Views

111

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

LEGEND , Jun 24, 2012 Jun 24, 2012
Our UI designers insisted that nobody would ever want to turn it off. :-/ (seriously, it was a big argument to keep any switch for it) For the time being, you can record an action that will turn it on or off, and assign keys to those actions.

Votes

Translate

Translate
13 Comments
LEGEND ,
Jun 24, 2012 Jun 24, 2012

Copy link to clipboard

Copied

Our UI designers insisted that nobody would ever want to turn it off. :-/
(seriously, it was a big argument to keep any switch for it)

For the time being, you can record an action that will turn it on or off, and assign keys to those actions.

Votes

Translate

Translate

Report

Report
LEGEND ,
Jun 24, 2012 Jun 24, 2012

Copy link to clipboard

Copied

Hey chris, yeah. i had heard before of the designers saying that.. It seriously blew my mind.. I guess they never designed UI elements using vectors or slightly scaling a vector logo and then tweaking it to pixel-perfection (a very common use-case...) It's a real shame and hope this will be reconsidered for a .x update.

I do use an action right now but i'd be much more productive with a better solution.

Cheers!

Votes

Translate

Translate

Report

Report
LEGEND ,
Aug 01, 2012 Aug 01, 2012

Copy link to clipboard

Copied

I'm constantly turning vector tool snapping on and off, we need an easy way to access this. A check box in the top panel is needed.

Votes

Translate

Translate

Report

Report
Community Beginner ,
Oct 18, 2012 Oct 18, 2012

Copy link to clipboard

Copied

The new pixel snapping feature in CS6 is great and something I've waited for for about 15 years. So great that it's finally in the product! There is one problem with it though. There is no quick way to switch it on/off. Now you have to go into Preferences and tick the checkbox every time which is very time consuming when you work as a designer and use shape layers and need to move anchor points either by pixel snapping or freely.

I have a little trick that kind of solves the problem and that is that I have created two actions, one for turning pixel snapping on and one for turning it off and I have attached keyboard shortcuts to those actions so it's fairly quick to switch.

This is something you, as a designer, need to be able to turn on/off very often in your workflow. For example when you want to adjust an icon shape.
What I would expect was for example that I could hold down a keyboard key while dragging a point to move an anchor point freely, if I didn't it would snap to pixel. This doesn't seem to be the case though. You need to either turn it on or off in preferences which really slows down the workflow.

Votes

Translate

Translate

Report

Report
Enthusiast ,
Oct 18, 2012 Oct 18, 2012

Copy link to clipboard

Copied

Yes, 90% of the time, the new CS6 vector auto-pixel snap is great, but the other 10% it's very frustrating.

At least with the old way, you could do both - zoom waaay in and nudge vector points one screen pixel at a time for subpixel anti-aliasing but you could also keep vector points pixel snapped to whole pixels with enough accurate nudging,not to mention holding Shift to constrain to whole pixels if zoomed out enough.

The new default way, you can't do that. Whole pixel only. CTRL+K, click, OK. Repeat.

Votes

Translate

Translate

Report

Report
New Here ,
Sep 19, 2013 Sep 19, 2013

Copy link to clipboard

Copied

This dysfunctionality makes me crazy. I liked it better how it was.

Votes

Translate

Translate

Report

Report
LEGEND ,
Jul 01, 2014 Jul 01, 2014

Copy link to clipboard

Copied

I second this. over 2 years later, apparently.

Votes

Translate

Translate

Report

Report
Community Beginner ,
Jul 02, 2014 Jul 02, 2014

Copy link to clipboard

Copied

Recently I've been starting to use another application that was built for UI design. It's called "Sketch 3". It has a lot of the features that you would expect as a UI designer and isn't bloated with a bunch of Photo editing features that you rarely have any use of.

This application has made my workflow a lot faster and efficient. The pixel snapping is not a problem either which is very liberating. I have actually abandoned Photoshop and Illustrator almost completely, except for when I need to edit photos or copy some icons previously made in Illustrator and pasting them into my Sketch files.

Votes

Translate

Translate

Report

Report
LEGEND ,
Jun 30, 2015 Jun 30, 2015

Copy link to clipboard

Copied



I toggle Snap Vector Tools and Transforms to Pixel Grid a lot while I am working on UI elements. It would really speed up design if I didn't have to go into Preferences every time and I could simply toggle between snapping/not snapping in Options for Direct Selection Tool.

Votes

Translate

Translate

Report

Report
LEGEND ,
Feb 16, 2016 Feb 16, 2016

Copy link to clipboard

Copied

The day that Photoshop can scale down a vector AND keep its points snapped to pixels is the day that the need to turn snap to pile on and off will disappear. In the meantime I'll add my voice to the others here.

Have you any idea how many sometimes odd (57x57 anyone?)  icon sizes are needed for iOS these days?!

Votes

Translate

Translate

Report

Report
LEGEND ,
Feb 16, 2016 Feb 16, 2016

Copy link to clipboard

Copied

I disagree Chris. I toggle pixel grid snapping on/off quite often. Just try adjust 16x16 px vector shapes/icons with snapping on.

Votes

Translate

Translate

Report

Report
LEGEND ,
May 08, 2016 May 08, 2016

Copy link to clipboard

Copied

why this doesn't works?  I can't get "transformsSnapToPixels" value. Did you moved property from "generalPreferences" into "toolsPreferences" where is not accessible anymore?
var ref = new ActionReference();
 ref.putProperty(cTID('Prpr'), sTID('toolsPreferences'));
 ref.putEnumerated(cTID('capp'), cTID('Ordn'), cTID('Trgt'));
 var desc = executeActionGet(ref);
Property changing from script listener

// CC 2015

var idsetd = charIDToTypeID( "setd" );
    var desc7 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref1 = new ActionReference();
        var idPrpr = charIDToTypeID( "Prpr" );
        var idtoolsPreferences = stringIDToTypeID( "toolsPreferences" ); // <- difference
        ref1.putProperty( idPrpr, idtoolsPreferences );
        var idcapp = charIDToTypeID( "capp" );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref1.putEnumerated( idcapp, idOrdn, idTrgt );
    desc7.putReference( idnull, ref1 );
    var idT = charIDToTypeID( "T   " );
        var desc8 = new ActionDescriptor();
        var idtransformsSnapToPixels = stringIDToTypeID( "transformsSnapToPixels" );
        desc8.putBoolean( idtransformsSnapToPixels, false );
        
        
    var idtoolsPreferences = stringIDToTypeID( "toolsPreferences" );
    desc7.putObject( idT, idtoolsPreferences, desc8 );
executeAction( idsetd, desc7, DialogModes.NO );



//CS6

var idsetd = charIDToTypeID( "setd" );
    var desc12 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref3 = new ActionReference();
        var idPrpr = charIDToTypeID( "Prpr" );
        var idGnrP = charIDToTypeID( "GnrP" ); // <-- difference
        ref3.putProperty( idPrpr, idGnrP );
        var idcapp = charIDToTypeID( "capp" );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref3.putEnumerated( idcapp, idOrdn, idTrgt );
    desc12.putReference( idnull, ref3 );
    var idT = charIDToTypeID( "T   " );
        var desc13 = new ActionDescriptor();
        var idtransformsSnapToPixels = stringIDToTypeID( "transformsSnapToPixels" );
        desc13.putBoolean( idtransformsSnapToPixels, false );
        var idlegacyPathDrag = stringIDToTypeID( "legacyPathDrag" );
        desc13.putBoolean( idlegacyPathDrag, true );
    var idGnrP = charIDToTypeID( "GnrP" );
    desc12.putObject( idT, idGnrP, desc13 );
executeAction( idsetd, desc12, DialogModes.NO );
I wan't do button in my panel for switching this property and I need get value.

Votes

Translate

Translate

Report

Report
New Here ,
Jul 04, 2017 Jul 04, 2017

Copy link to clipboard

Copied

LATEST
Count me too for this. When working on pixel icons I need to switch it on and off very often. Your UI designers should reconsider this.

At least put the option closer to the surface, like in the topbar. And let us decide if we sacrifice another shortcut to use with this, without having to define an action. This way you won't affect your UI designers.



And don't think we are the only ones, it took me years until I decided to post this, hoping that it's an obvious improvement and it will be here soon, especially with UI design exponentially growing in the last years. Many of us don't take the time to post or don't even know about posting.

Thanks.

Votes

Translate

Translate

Report

Report