Skip to content

Instantly share code, notes, and snippets.

Created December 1, 2016 02:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/b59e1de584e8f923a2c4e29eeb6b8143 to your computer and use it in GitHub Desktop.
Save anonymous/b59e1de584e8f923a2c4e29eeb6b8143 to your computer and use it in GitHub Desktop.
function getSelectedLayersIdx() {
var selectedLayers = new Array();
var ref = new ActionReference();
ref.putEnumerated(
charIDToTypeID("Dcmn"),
charIDToTypeID("Ordn"),
charIDToTypeID("Trgt")
);
var desc = executeActionGet(ref);
if (desc.hasKey(stringIDToTypeID('targetLayers'))) {
desc = desc.getList(stringIDToTypeID('targetLayers'));
for (var i = 0; i < desc.count; i++) {
try {
activeDocument.backgroundLayer;
selectedLayers.push(desc.getReference(i).getIndex());
} catch(e) {
selectedLayers.push(desc.getReference(i).getIndex() + 1);
}
}
} else {
var ref = new ActionReference();
ref.putProperty(
charIDToTypeID("Prpr"),
charIDToTypeID("ItmI")
);
ref.putEnumerated(
charIDToTypeID("Lyr "),
charIDToTypeID("Ordn"),
charIDToTypeID("Trgt")
);
try {
activeDocument.backgroundLayer;
selectedLayers.push(
executeActionGet(ref).getInteger(charIDToTypeID("ItmI")) - 1
);
} catch(e) {
selectedLayers.push(
executeActionGet(ref).getInteger(charIDToTypeID("ItmI"))
);
}
var vis = app.activeDocument.activeLayer.visible;
if (vis == true) {
app.activeDocument.activeLayer.visible = false;
}
var desc9 = new ActionDescriptor();
var list9 = new ActionList();
var ref9 = new ActionReference();
ref9.putEnumerated(
charIDToTypeID('Lyr '),
charIDToTypeID('Ordn'),
charIDToTypeID('Trgt')
);
list9.putReference(ref9);
desc9.putList(charIDToTypeID('null'), list9);
executeAction(
charIDToTypeID('Shw '),
desc9,
DialogModes.NO
);
if (app.activeDocument.activeLayer.visible == false) {
selectedLayers.shift();
}
app.activeDocument.activeLayer.visible = vis;
}
return selectedLayers;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment