I've been wanting for years an action to make a new layer containing the parts of a second layer that differ from a third layer (use case: make a background copy, use dodge and other tools that alter the layer locally, when done apply this action to extract the pixels that changed, then delete the background copy. The result is being able to apply the "lossless editing" paradigm even to tools that insist on altering pixels on the layer). Well, I finally figured out how to write one (I was trying to be too clever before, in a stupid sort of way; it's easy if you just do subtract in each channel, apply threshold at level one to each result, and then add up the results). However, now I'm wondering about a bunch of cleanup issues. For example, right now it's hardcoded to use layers "background" and "background copy". Is there some way to get it to prompt me for layers, or use the current layer and prompt me for another layer, or use the current layer plus background (on consideration, that last is the best choice for my workflow)? Also, it creates new channels (in image calculations), and there's no chance to name them. They come up as alpha1, alpha2, and so forth. What if I have a channel by one of those names already in existence? (I know, I could experiment and see what happens, and eventually I will; but it seems to me there should be ways in recording actions to handle these problems, which will be common for non-trivial actions.) Anybody an expert, or have a good reference work to point me to, or something? -- David Dyer-Bennet, dd-b@xxxxxxxx; http://dd-b.net/ Snapshots: http://dd-b.net/dd-b/SnapshotAlbum/data/ Photos: http://dd-b.net/photography/gallery/ Dragaera: http://dragaera.info