Welcome Dialog

Welcome to the Community!

We have a brand new look! Take a tour with us and explore the latest updates on Adobe Support Community.


Rename history state by script in Photoshop

Explorer ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

Already posted this over on Photoshop Family, but maybe here's the better place?

 

I have the issue that when I double click the name of a history state, it becomes editable for a split second and then I can't type a new name. I don't know where this comes from and decided to write a little script that does this for me. But the script doesn't change the name either.

 

Maybe somebody can point me in the right direction here.

 

Here's the script:

#target photoshop 

var myDoc = app.activeDocument.name;
var currentHistoryStepName = app.activeDocument.activeHistoryState;
// alert( currentHistoryStepName );
var historyStateNameOnly = currentHistoryStepName.name.replace("HistoryState ", "");
// alert( historyStateNameOnly );
var pmt = prompt ('Type a new history state name', historyStateNameOnly, 'Rename History State');
alert( pmt );
app.activeDocument.activeHistoryState.name = pmt;

 

It all works well, I get the right name as an alert but the last line does not change the history step name. Maybe someone could quickly test this on a setup where they can rename the history state name by double clicking. Then I know it's because of my base problem that renaming it this way does not work for me.

TOPICS
Actions and scripting

Views

172

Likes

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

Adobe Community Professional , Jul 19, 2021 Jul 19, 2021
A side effect you have I'm experiencing only when I have launched ExtendScript Toolkit with targeted Photoshop. To do by scripting that you want create new document and run this code: sTT = stringIDToTypeID; (ref1 = new ActionReference()).putClass(sTT('snapshotClass')); (dsc = new ActionDescriptor()).putReference(sTT('null'), ref1); (ref2 = new ActionReference()).putProperty(sTT('historyState'), sTT('currentHistoryState')) dsc.putReference(sTT('from'), ref2), dsc.putString(sTT('name'), nO = '...

Likes

Translate

Translate
Adobe Community Professional ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

Next time composing the post please use </> block when pasting the code 😉

Once assigned history state is unchangeable. Why did you think you can do it?

Slightly visible editable history state must be a bug? Rename history state by script

Likes

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
Explorer ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

Thanks and sorry for not posting code correctly!

 

I don't really follow what you mean.

 

When in the UI you can click the snapshot button in the history panel. Once that snapshot is created, normally you can double click it's name and rename it. For some reason this doesn;t work on my setup. Same for layer names. The name becomes editable for a split second and the goes back to fixed.

 

I want to do this because I am retouching photos using the history brush and therefore I run the Camera Raw Filter, for instance, to make the sky more blue by changing the temperature globally. Then I create a snapshot of that, go one step back and gradually paint the bluer sky in using the history brush.

 

Therefore I want to name the snapshots so I can remember which snapshot does what.

 

Attached a small video showing the issue in the UI.

 

Thanks!

Likes

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
Adobe Community Professional ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

A side effect you have I'm experiencing only when I have launched ExtendScript Toolkit with targeted Photoshop. To do by scripting that you want create new document and run this code:

 

sTT = stringIDToTypeID;

(ref1 = new ActionReference()).putClass(sTT('snapshotClass'));
(dsc = new ActionDescriptor()).putReference(sTT('null'), ref1);
(ref2 = new ActionReference()).putProperty(sTT('historyState'), sTT('currentHistoryState'))
dsc.putReference(sTT('from'), ref2), dsc.putString(sTT('name'), nO = 'newOne')
dsc.putEnumerated(sTT('using'), sTT('historyState'), sTT('fullDocument'))
executeAction(sTT('make'), dsc);

(ref = new ActionReference()).putName(sTT('snapshotClass'), nO);
(dsc = new ActionDescriptor()).putReference(sTT('null'), ref), executeAction(sTT('select'), dsc);

(ref1 = new ActionReference()).putProperty(sTT('historyState'), sTT('historyBrushSource'));
(dsc = new ActionDescriptor()).putReference(sTT('null'), ref1);
(ref2 = new ActionReference()).putProperty(sTT('historyState'), sTT('currentHistoryState'))
dsc.putReference(sTT('to'), ref2), executeAction(sTT('set'), dsc)

 

Likes

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
Explorer ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

Wow! Thank you! I can't even write a response as fast you you coded that up. Or did you record it and dumped the action as a script?

 

I get this problem with the renaming all the time. Tried running with no plugins and all the other sing and dances (except reinstalling...).

 

I added a prompt that asks for the initial name and - done! I am getting some older fashion prompt then when running your script without my dialog somehow. But that's a minor thing.

 

Mine: 

alexfurer_0-1626723841098.png

Your's (when running he script for a 2nd time):

alexfurer_1-1626724088792.png

 

Thank you!

Likes

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
Adobe Community Professional ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

You may create easily that code on your own (however is raw version), just use ScriptListener you find in Downloadable plug-ins & content | Photoshop

 

The reason you can't rename snapshot name (maybe also names from other pnales) can be caused by some plugin you use that disturbes your manual actions.

 

If you think my solution is correct, mark it so 😉

Likes

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
Explorer ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

Done! Thank you!

Likes

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
Adobe Community Professional ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

quote

I added a prompt that asks for the initial name and - done! I am getting some older fashion prompt then when running your script without my dialog somehow. But that's a minor thing.

 

Mine: 

alexfurer_0-1626723841098.png

Your's (when running he script for a 2nd time):

alexfurer_1-1626724088792.png

 

Thank you!


By @alex.furer

 

Prompt uses the native operating system windowing, so you get what you get on different versions of the same OS and between Mac and Win OS.

 

Using script UI one can achieve a more consistent GUI.

Likes

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
Explorer ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

LATEST

True. I will eventually put that all in a larger script with more options like blending modes to be selected for the snapshot brushing, or launching ACR to do adjustments and maybe even incorporate luminosity mask to be triggered etc. etc. That's why I started going the scripting direction. Not only becaus e I have this UI bug.

 

Thanks to you all for helping me with this!

Likes

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
Adobe Community Professional ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

Just in case it wasn't obvious, the alternative is to hold down opt/alt when creating the history snapshot so that it is named as you wish when you create it.

Likes

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
Explorer ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

I am running this as part of an action that creates a copy of the layer, rasterizes it and then set's up the initial snapshot and I don't think I can include the alt key in the action.

 

But this is a very usefull tip for every subsequent snapshot I create.

 

Thasnk you!

 

Likes

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
Adobe Community Professional ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

quote

I am running this as part of an action that creates a copy of the layer, rasterizes it and then set's up the initial snapshot and I don't think I can include the alt key in the action.

 

But this is a very usefull tip for every subsequent snapshot I create.

 

Thasnk you!

 


By @alex.furer

 

No, but if an interactive step is required, simply activate the modal control to the left of the action step. BTW I'm talking about history snapshots, not steps so I might have misunderstood. Anyway, Kukurykus has you sorted.

Likes

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
Explorer ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

Tried that. Did not pop a dialog. But as you say, all sorted. But thanks for chiming in!

Likes

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
Adobe Community Professional ,
Jul 19, 2021 Jul 19, 2021

Copy link to clipboard

Copied

That's right. I changed code to shorter version.

Likes

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