Photoshop event delay and UXP batchPlay

I’m making a plugin where if you select something with a marquee or lasso and move it, it will move that selection on all layers. I’m using a few event listeners and using batchPlay to perform actions when some events happen (cut, set and move events). This works fine but I noticed how Photoshop will only fires those after you click away. So if you move a selection on a layer it only gives the toolModalStateChanged and historyStateChanged which don’t contain any useful information about the selection’s movement and only fires the cut after clicking on something else like a different layer or tool.

My batchPlay actions always go off but they only work if I click away to a layer. If I click away to another tool after the move it looks like it fired how it was supposed to in the console but nothing happens. I’m wondering if there’s some way to force things to update and not need another click to go to the next action or some insight into why it’s only happening when I click on layers but not on tools as my next event.

I hope this makes sense, thanks in advance!

You need to listen to a different event that is more instant. If there is any. Or check state within quick timer interval. But it is good to disable that interval checking once it is no longer needed.

1 Like

you could try with transform event

1 Like