Is the parent of the layer using ActionManager

Is it possible to get the layer using ActionManager parent? There is a simple way to layer.parent, but this seems to be rather slow, I would appreciate a quick access, but could not get an idea how to do it.

The descriptor of the layer is not a key "parent". There is no key with the stringID of 'layerSection '.

Action of eating a layerSet is really two layers. It has the value "layerSectionStart" in the key 'layerSection '. This is the layer that you can see in the interface of Photoshop. It marks the top of a layerSet. The background to the layerSet is a hidden layer with the value of "layerSectionEnd" in the "layerSection" key You can't do this active hidden layer and some of the key have different values as the "high" corresponding. For example if the visible layerSet in Photoshop is 'Group 1' is the name for the end of the layerSet ".

I think you might find the parent of a layer by using the Action Manager, if you got the index of the layer in question. Then a loop backwards using the index and the search for the key "layerSection" to "layerSectionStart". If you encounter a "layerSectionEnd" before finding the beginning you must keep track of that to be sure, you will find the good 'start '. Something like that on my list of things to do, I just have not had him yet.

Even if a loop by index in action Manager is much faster that the loop in the DOM, I have a not sure that find the parent with the Action of eating would be faster doing the active layer and using the DOM to find the parent.

Tags: Photoshop

Similar Questions

  • How to replace the image on the layer using after effect API

    Hello everyone,

    I have a big problem, I need to replace the image on the layer using after effect API.

    Create a new film with my new image:

    AEGP_FootageH footageH = NULL;

    ERR (suites. FootageSuite5()-> AEGP_NewFootage (S_my_id,

    psd_path,

    & key1,

    NULL,

    FAKE,

    NULL,

    (& footageH));

    AEGP_ItemH layer_itemH = NULL;

    ERR (suites. FootageSuite5()-> AEGP_AddFootageToProject (footageH, new_folderH and layer_itemH));

    Then I have a film footageH Manager

    and Manager of my layer to the old image.

    AEGP_ItemH itemH.


    Please

    How to replace image on my layer exists?

    I have founded not nothing in Google, Documentation and examples.

    Hi mikhailv6888620 https://forums.adobe.com/people/mikhailv6888620>!

    Welcome to the forum!

    as I know there is no C API function for this.

    You can get the ID of the layer comp element and use AEGP_ExecuteScript() to find

    This point and change the source of the layer with the javascript API. (I do it

    as follows in one of my plug-ins)

    the text of this script is entirely internal in your plug-in. the user

    does not know that a call to java is involved... (if that matters to you)

  • Check if the layer is visible and run a function according to the answer

    Hey guys,.

    I have a question that has been racking my brain these days.

    If I want to run a script when I press a button that will check if a specific layer is visible. If so, it performs another function that shows additional layers. If the specific layer is not visible, it checks the next layer to see if it is visible. This continues until it checks all the necessary layers and is a visible layer.

    Here's the script in question:

    #target photoshop

    //

    clthTopTt.jsx

    //

    cTID = function (s) {return app.charIDToTypeID (s) ;};}

    sTID = function (s) {return app.stringIDToTypeID (s) ;};}

    //

    //==================== actnStd ==============

    //

    function checkactnStd() {}

    Select

    function step 1 (enabled, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    var ref1 = new ActionReference();

    Ref1.putName (cTID ("'Lyr"), "actnStd");

    DESC1.putReference (cTID ('null'), ref1);

    DESC1.putBoolean (cTID ('MkVs'), false);

    var list1 = new ActionList();

    List1.putInteger (17011);

    DESC1.putList (list1, cTID ('LyrI'));

    executeAction (desc1 cTID ('slct'), dialogMode);

    };

    If

    step2 function (activated, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    DESC1.putEnumerated (cTID ('null'), ('Cndt') cTID, cTID ('Ahsvs'));

    var ref1 = new ActionReference();

    Ref1.putName (cTID ('Actn'), 'select actnStd');     <-if the actnStd layer is visible, rather than performing this action, it runs the function selectactnStd().

    Ref1.putName (cTID ('ASet'), 'clthTopTt');

    DESC1.putReference (cTID ('then'), ref1);

    ref2 var = new ActionReference();

    ref2.putName (cTID ('Actn'), "check actnWlk");  <-if the actnStd layer is NOT visible, it executes the next layer checks (via the function checkactnWlk(). )

    ref2.putName (cTID ('ASet'), 'clthTopTt');

    DESC1.putReference (cTID ('else'), ref2);

    executeAction (desc1 sTID ('conditional'), dialogMode);

    };

    Step1();      Select

    Step2();      If

    };

    function selectactnStd() {}

    Show

    function step 1 (enabled, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    var list1 = new ActionList();

    var ref1 = new ActionReference();

    Ref1.putName (cTID ("'Lyr"), "topStdTt");

    Ref1.putName (cTID ("'Lyr"), "topMskStd");

    List1.putReference (Ref1);

    DESC1.putList (list1, cTID ('null'));

    executeAction (cTID ("'Shw"), desc1, dialogMode);

    };

    Hide

    step2 function (activated, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    var list1 = new ActionList();

    var ref1 = new ActionReference();

    Ref1.putName (cTID ("'Lyr"), "topWlkTt");

    Ref1.putName (cTID ("'Lyr"), "topMskWlk");

    Ref1.putName (cTID ("'Lyr"), "topRunTt");

    Ref1.putName (cTID ("'Lyr"), "topMskRun");

    List1.putReference (Ref1);

    DESC1.putList (list1, cTID ('null'));

    executeAction (desc1 cTID ("Hd"), dialogMode);

    };

    Step1();      Show

    Step2();      Hide

    };

    //

    //==================== actnWlk ==============

    //

    function checkactnWlk() {}

    Select

    function step 1 (enabled, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    var ref1 = new ActionReference();

    Ref1.putName (cTID ("'Lyr"), "actnWlk");

    DESC1.putReference (cTID ('null'), ref1);

    DESC1.putBoolean (cTID ('MkVs'), false);

    var list1 = new ActionList();

    List1.putInteger (17012);

    DESC1.putList (list1, cTID ('LyrI'));

    executeAction (desc1 cTID ('slct'), dialogMode);

    };

    If

    step2 function (activated, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    DESC1.putEnumerated (cTID ('null'), ('Cndt') cTID, cTID ('Ahsvs'));

    var ref1 = new ActionReference();

    Ref1.putName (cTID ('Actn'), 'select actnWlk');

    Ref1.putName (cTID ('ASet'), 'clthTopTt');

    DESC1.putReference (cTID ('then'), ref1);

    ref2 var = new ActionReference();

    ref2.putName (cTID ('Actn'), "check actnRun");

    ref2.putName (cTID ('ASet'), 'clthTopTt');

    DESC1.putReference (cTID ('else'), ref2);

    executeAction (desc1 sTID ('conditional'), dialogMode);

    };

    Step1();      Select

    Step2();      If

    };

    function selectactnWlk() {}

    Show

    function step 1 (enabled, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    var list1 = new ActionList();

    var ref1 = new ActionReference();

    Ref1.putName (cTID ("'Lyr"), "topWlkTt");

    Ref1.putName (cTID ("'Lyr"), "topMskWlk");

    List1.putReference (Ref1);

    DESC1.putList (list1, cTID ('null'));

    executeAction (cTID ("'Shw"), desc1, dialogMode);

    };

    Hide

    step2 function (activated, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    var list1 = new ActionList();

    var ref1 = new ActionReference();

    Ref1.putName (cTID ("'Lyr"), "topStdTt");

    Ref1.putName (cTID ("'Lyr"), "topMskStd");

    Ref1.putName (cTID ("'Lyr"), "topRunTt");

    Ref1.putName (cTID ("'Lyr"), "topMskRun");

    List1.putReference (Ref1);

    DESC1.putList (list1, cTID ('null'));

    executeAction (desc1 cTID ("Hd"), dialogMode);

    };

    Step1();      Show

    Step2();      Hide

    };

    //

    //==================== actnRun ==============

    //

    function checkactnRun() {}

    Select

    function step 1 (enabled, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    var ref1 = new ActionReference();

    Ref1.putName (cTID ("'Lyr"), "actnRun");

    DESC1.putReference (cTID ('null'), ref1);

    DESC1.putBoolean (cTID ('MkVs'), false);

    var list1 = new ActionList();

    List1.putInteger (17013);

    DESC1.putList (list1, cTID ('LyrI'));

    executeAction (desc1 cTID ('slct'), dialogMode);

    };

    If

    step2 function (activated, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    DESC1.putEnumerated (cTID ('null'), ('Cndt') cTID, cTID ('Ahsvs'));

    var ref1 = new ActionReference();

    Ref1.putName (cTID ('Actn'), 'select actnRun');

    Ref1.putName (cTID ('ASet'), 'clthTopTt');

    DESC1.putReference (cTID ('then'), ref1);

    ref2 var = new ActionReference();

    ref2.putName (cTID ('Actn'), "check actnAc");

    ref2.putName (cTID ('ASet'), 'clthTopTt');

    DESC1.putReference (cTID ('else'), ref2);

    executeAction (desc1 sTID ('conditional'), dialogMode);

    };

    Step1();      Select

    Step2();      If

    };

    function selectactnRun() {}

    Show

    function step 1 (enabled, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    var list1 = new ActionList();

    var ref1 = new ActionReference();

    Ref1.putName (cTID ("'Lyr"), "topRunTt");

    Ref1.putName (cTID ("'Lyr"), "topMskRun");

    List1.putReference (Ref1);

    DESC1.putList (list1, cTID ('null'));

    executeAction (cTID ("'Shw"), desc1, dialogMode);

    };

    Hide

    step2 function (activated, withDialog) {}

    If (enabled! = undefined & &! activated)

    return;

    var dialogMode = (withDialog? DialogModes.ALL: DialogModes.NO);

    var desc1 = new ActionDescriptor();

    var list1 = new ActionList();

    var ref1 = new ActionReference();

    Ref1.putName (cTID ("'Lyr"), "topStdTt");

    Ref1.putName (cTID ("'Lyr"), "topMskStd");

    Ref1.putName (cTID ("'Lyr"), "topWlkTt");

    Ref1.putName (cTID ("'Lyr"), "topMskWlk");

    List1.putReference (Ref1);

    DESC1.putList (list1, cTID ('null'));

    executeAction (desc1 cTID ("Hd"), dialogMode);

    };

    Step1();      Show

    Step2();      Hide

    };

    After he checks the last layer, then end the script.

    'clthTopTtLoop.jsx '.

    EXPRESSIONS OF FOLKLORE

    Any help is appreciated seriously. Thank you guys!

    Hey guys, I promised that I would update this post to help others if I got the answer, so here:

    Firstly, the developer has created a function to automatically get the layer. I had problems to find ways to select layers, especially because the layers were nested in groups inside groups. This helped solve that. The function was this:

    function selectLayer(name) {
      var desc = new ActionDescriptor();
      var ref = new ActionReference();
      ref.putName( charIDToTypeID('Lyr '), name );
      desc.putReference( charIDToTypeID('null'), ref );
      desc.putBoolean( charIDToTypeID('MkVs'), false );
      executeAction( charIDToTypeID('slct'), desc, DialogModes.NO );
      return
    };
    

    Then call the layer using layer real name (assuming that your layer names are unique. If they aren't, you'll find yourself only to select the first layer with the same specific name) throughout your script file.

    IE. In my case, selectLayer ("actnStd"); or selectLayer ("actnWlk");

    You then set the visibility by using the following code:

    // show
    app.activeDocument.activeLayer.visible = true;
    // hide
    app.activeDocument.activeLayer.visible = false;
    

    Then use a function to check whether a layer is visible. If the layer is visible, you run the function show/hide layers respective:

    function CheckactnWlk() {
      selectLayer("actnWlk");
      if  (app.activeDocument.activeLayer.visible == true) {
      SelectactnWlk()
      }
      else  {
      CheckactnRun();
      }
    };
    

    So in the end, the final script looks like this:

    #target photoshop
    
    app.bringToFront();
    CheckactnStd();
    
    function CheckactnStd() {
      selectLayer("actnStd");
      if  (app.activeDocument.activeLayer.visible == true) {
      SelectactnStd()
      }
      else  {
      CheckactnWlk();
      }
    };
    
    function SelectactnStd() {
      selectLayer("topMskStd");
      app.activeDocument.activeLayer.visible = true;
    
      selectLayer("topStdTt");
      app.activeDocument.activeLayer.visible = true;
    
      selectLayer("topWlkTt");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topMskWlk");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topRunTt");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topMskRun");
      app.activeDocument.activeLayer.visible = false;
    }; 
    
    function CheckactnWlk() {
      selectLayer("actnWlk");
      if  (app.activeDocument.activeLayer.visible == true) {
      SelectactnWlk()
      }
      else  {
      CheckactnRun();
      }
    };   
    
    function SelectactnWlk() {
      selectLayer("topMskStd");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topStdTt");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topWlkTt");
      app.activeDocument.activeLayer.visible = true;
    
      selectLayer("topMskWlk");
      app.activeDocument.activeLayer.visible = true;
    
      selectLayer("topRunTt");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topMskRun");
      app.activeDocument.activeLayer.visible = false;
    
    };
    
    function CheckactnRun() {
      selectLayer("actnRun");
      if  (app.activeDocument.activeLayer.visible == true) {
      SelectactnRun()
      }
      else  {
      alert ('There is no Selected Layer', 'Please select a layer', 0);
      }
    };
    
    function SelectactnRun() {
      selectLayer("topMskStd");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topStdTt");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topWlkTt");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topMskWlk");
      app.activeDocument.activeLayer.visible = false;
    
      selectLayer("topRunTt");
      app.activeDocument.activeLayer.visible = true;
    
      selectLayer("topMskRun");
      app.activeDocument.activeLayer.visible = true;
    
    };
    
    function selectLayer(name) {
            var desc = new ActionDescriptor();
            var ref = new ActionReference();
            ref.putName( charIDToTypeID('Lyr '), name );
           desc.putReference( charIDToTypeID('null'), ref );
           desc.putBoolean( charIDToTypeID('MkVs'), false );
           executeAction( charIDToTypeID('slct'), desc, DialogModes.NO );
           return
    };
    
    app.preferences.rulerUnits = rUnit;
    app.preferences.typeUnits = tUnit;
    
    selectLayer("actnStd");
    

    Guys good luck! Now to find how to select random layers via the script.

  • How to connect to the start and the layer effect.

    I want to when I changed the start of the keyframe of layer settles with the layer using script

    I would say from here: Scripting in After Effects

    After going through here, if you have any questions, it would be better to ask the after effects Scripting forum

  • How to get the relative position of the layer in the largest precomp.

    The installation program:

    COMP 1 is 2000 x 3000 pixels. COMP 1 contains X positioned layer in the 1750,1250. (or other)

    I shoot 1 Comp in Comp 2, which is 800 x 600. I have the scale and move Comp 1 inside 2 Comp by an arbitrary amount.

    How can I determine the x position of the layer using the coordinate space of Comp 2?

    Something like this:

    L1 is comp("Comp_1").layer ("layer X");.
    P1 = L1.toWorld (L1.anchorPoint);
    L2 = thisComp.layer ("Comp 1");
    L2.toWorld (P1)

    Dan

  • JS CS4: Create the variable for the active layer, and then select the layer at the end of a script

    I'm come white with the verbiage and spin my wheels with OMV guide and script.

    var myOriginalLayer = app.activeDocument.layers.item (0);
    Alert (myOriginalLayer)

    Returns "layer object" and not the name of the layer.

    var myOriginalLayer = app.activeDocument.layers.lastItem () .name;

    Returns the name of the layer I want but not by choice.

    I am challenged on how to select the layer.

    Hi John,.

    The difference lies in that the [Object Layer] is the real object, and the 'name' is a property - like color.

    You can use one of these two approaches:

    var myOriginalLayer = app.activeDocument.layers.item (0);
    Alert (myOriginalLayer.Name);

    hosts the original layer object, and you can see the name if necessary :-)

    For re - select the layer, use

    app.activeDocument.activeLayer = myOriginalLayer;

    You can also select name goes like

    var myOriginalLayerNAME = app.activeDocument.layers.lastItem () .name;

    ...

    app.activeDocument.activeLayer = app.activeDocument.layers.item (myOriginalLayerNAME);

    I also noted the following:

    app.activeDocument.layers.item (0) points to the first layer of your document; not the 'active'. Similarly, app.activeDocument.layers.lastItem () points only to the very last. I don't know if the order of the activeDocument.layers array mimicks the order as shown in the tags palette, but I hope for it :-)

    To get/set the active layer, use app.activeDocument.activeLayer as shown above.

  • Rename the layer by using the name of the supplied object

    I'm trying to draw a map of the world that includes the provinces and provinces (counties).  I'll be it animation in AE. AE sees that the upper layers is essential which is the name of the top layer of the correct province. All provinces are unfortunately not layers. They are objects. I can use the "Release to layers" command to get all items nested in layers of high level. But the layers of high level generic names (Layer 1, Layer2, Layer 3). Objects nested within these layers have the correct name.

    Y at - it a script that will rename the top-level layer using the name given to the object nested within this layer? If this isn't the case, could sombody would be willing to help create a.

    Here is a link to one of the files: world_all_provinces_Senegal divisions. Level 1_area.zip

    layer_naming_problem.png

    Opps, I'm too slow.

    I could not open your file to test it, but during a quick test, it seems to work also.

    var doc = app.activeDocument;
    var n, p;
    for (var i = 0, l = doc.pageItems.length; i < l; i++) {
        p = doc.pageItems[i];
        n = p.name;
        p.parent.name = n;
    }
    

    But again maybe it is specific (not tested with your file or other) and so will not work in your case or other. Worth I guess that if.

  • Error 1430 to copy in Untitled 1. Possible reasons: LabVIEW: the path is empty or a parent. You must use an absolute path.

    I wrote a code to copy a file to a folder IE C:\Folder1:\Hello.txt to another folder C:\Folder2. But it shows an error in the copy. Is to show that 1430 error to copy in Untitled 1. Possible reasons: LabVIEW: the path is empty or a parent. You must use an absolute path.  Can someone help me please how to fix this problem. I've also attached the VI. Thanking you.

    Hello

    Change while loop to loop For!

    Kind regards

  • Can I remove Logical columns that I will not use in the layer of presentation as the id or foreign key columns?

    Hello

    Can I remove Logical columns at the level of the business layer that I'm not going to use the layer of presentation as the ID or foreign key columns? It will not affect the relations to the business layer?

    Kind regards

    Nestor

    Hi Nestor,.

    It won't unless they are used as keys, columns sort order, the ID column or the likes. But you can leave them in the MDB layer and expose just in the presentation layer - just in case you need it later. It is not use all the resources or generate overhead. More: Developer of the RPD should be used to work with loads of columns

  • Can you align child layers to their parents in the timeline using scripts?

    OK, so I'm very new to scripting. Right now I'm looking for a way to align layers in the scenario with the other.

    So, if, for example - if 3 NULL values were related to a model like this:

    CompQ1.PNG

    I want to be able to line the children up to their parent, to look like this:

    CompQ2.PNG

    So far I tried to find the time when the Solid Black comp begins within Comp 1, but I only managed to find the values of the model Solid Black inPoint which are always relative to the model itself, and not when it is actually active in Comp 1. When I look at the script guide, it does not resemble the Ae allows you to access the timeline like this.

    Any ideas?

    Is it still possible?

    Play with this:

    var app.project.activeItem = myComp;

    for (var i = 1; i)<= mycomp.numlayers;="">

    If (myComp.layer (i) .parent! = null) {}

    myComp.layer (i) .startTime += myComp.layer (i).parent.inPoint - myComp.layer (i) .inPoint;

    }

    }

    Dan

  • I am a beginner using photoshop and I hid the layer tool and can not find a way to get it back... Please help

    I am a beginner using photoshop and I hid the layer tool and can not find a way to get it back... Please help

  • Using the layer mask in Photoshop CC 2015?

    Hello!

    I'm trying to iron out some unsightly underarm in Photoshop CC 2015.

    I duplicated the layer and applied Surface blur.

    I clicked on the layer of the dup, while pressing option (using a Mac) to create a layer mask where I could brush the blur in but nothing happens. What I'm missing here?

    Thank you!

    Confirm:

    The blurred version is on a layer above the background image

    The version hazy layer has a black mask

    You paint the mask in white with the brush opacity Normal and 100% value

    The Brush tool is not too much to feathers. (To check, use brush hard edge as a test)

  • Color change of layer using the dropper

    Hello

    Almost never used PSE before so bear with me!

    I have a picture of a car I want to change the color, on what I would do is to use the color of a car of a different image.

    I found this guide: http://photography.tutsplus.com/tutorials/manipulating-the-color-of-an-automobile-in-photo shop - photo-965

    I followed to create a separate layer that gives me the area of the car that I want to change the color, but I am struggling to actually get the color to change.

    In step 3, it says 'on the layers palette, click on the color chart. " This will bring up the color palette, but also offers a color picker eyedropper." "

    I can't find how upward in PSE, I appreciate it can be different in photoshop full package vs PSE but I can't find how to bring it to the top.

    I found the option: improve-> adjust colors-> color replace but I could not do work (i.e. to change a color) and it let you use the pipette to pick a new color.

    Any help will be appreciated!

    ulcolds,

    This is a tutorial that I could follow to post-secondary studies. I see where the problem to step #3.

    Double click on the thumbnail of the layer of the color fill adjustment layer to bring up the color picker. When you do this, you will see a pipette in the work area. So, if you have photos of cars that a & B open cascade, you can click on B to change the color to a.

    Take a look at my screen printing. The car is red, but once I taste the Green bushes behind the car, the car turns green. The reason for which the entire image is not turning green, it's in the previous stages, the mask was created in order to prevent this.

  • How to use just 1 click away with the move (v command) tool to select the layer in the Group?

    I'm on Snow Leopard 10.6.8 Photoshop CS3 10.0.

    Is it possible to click only once with "V command" to select a layer in a group?

    I used to be able to do and on my laptop I can do now (same OS and Photoshop), but the mac that I use for my design work won't... I must also, right-click and select the layer highlighted. I have a document a lot of multilayer Photoshop with many groups, and it is an extra step of your time.

    Is there a preference I can turn on? Or some other simple typo?

    Thank you very much!

    Select the tool move and set the options of the control bar. By default, it took to select a group, simply change layer.

  • How to separate the layer in the palette layers using the color?

    How can I separate the layer in the layers palette using color to increase the visualbility like the image below?

    layer palette.JPG

    You could right click on the eye in the thumbnail of the layer

    or in the layer Panel dialog box, select layer/group properties.

    MTSTUNER

Maybe you are looking for