• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers

Toggle the Blend if visibility in 1 click

3 Votes
Engaged ,
Dec 16, 2022 Dec 16, 2022

Copy link to clipboard

Copied

If the Blend if is applied to a layer, we have to double click to open the Layer style window and turn off (uncheck) the Preview to see the layer without the effect.

IvanZayats_0-1671230938502.png

Firstly, it's 3 clicks (at least).

Secondly, the window is too big and partially overlaps the image.

Thirdly, if we changed (and applied) the sliders values more than once, the unchecked Preview shows the previous state. So, if we want to see the layer without the effect, we have to move the sliders back to their default position.

 

My suggestion is to toggle the visibility of the effect in 1 click by clicking its icon.

IvanZayats_1-1671231809286.png

IvanZayats_2-1671232131210.png

 

 

Idea No status
TOPICS
macOS , Windows

Views

154

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
8 Comments
Engaged ,
Dec 16, 2022 Dec 16, 2022

Copy link to clipboard

Copied

Now we have to double click to open the Layer style window, move the sliders back to their default position, click OK. That's 4-5 clicks. I suggest deleting the effect in 1 click, but the Adobe should assign a hotkey for that.

 

For instance, Ctrl+click or Shift+click or Alt+click.

IvanZayats_0-1671234218724.png

 

Yep, we can use the Clear layer style option (just in 2 clicks).

IvanZayats_0-1671234619049.png

BUT if there are also some effects, it removes all of them.

IvanZayats_1-1671234701002.png

 

Votes

Translate

Translate

Report

Report
Community Expert ,
Dec 16, 2022 Dec 16, 2022

Copy link to clipboard

Copied

Voted!

 

Removing the sliders can be performed via an action.

 

This can also be scripted which may be more flexible... I'll give it a look!

Votes

Translate

Translate

Report

Report
Engaged ,
Dec 16, 2022 Dec 16, 2022

Copy link to clipboard

Copied

That's not worth creating an action, it should be simplified by Adobe. IMHO 🙂

Votes

Translate

Translate

Report

Report
Community Expert ,
Dec 16, 2022 Dec 16, 2022

Copy link to clipboard

Copied

Here it is in a script to reset the blend if sliders. Once installed, the script can have a custom keyboard shortcut applied.

 

/*
Reset Blend If Sliders.jsx
https://community.adobe.com/t5/photoshop-ecosystem-ideas/toggle-the-blend-if-visibility-in-1-click/idi-p/13427036
v1.0, 17th December 2022, Stephen Marsh
*/

#target photoshop

if (activeDocument.mode === DocumentMode.GRAYSCALE || activeDocument.mode === DocumentMode.DUOTONE) {
	resetGRAYblendif(0, 0, 255, 255, 0, 0, 255, 255);
} else if (activeDocument.mode === DocumentMode.RGB) {
	resetRGBblendif(0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255);
} else if (activeDocument.mode === DocumentMode.LAB) {
	resetLABblendif(0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255);
} else (activeDocument.mode === DocumentMode.CMYK) {
	resetCMYKblendif(0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255);
}


/* Functions */

function resetGRAYblendif(srcBlackMin, srcBlackMax, srcWhiteMin, srcWhiteMax, destBlackMin, destBlackMax, destWhiteMin, desaturate) {
	function s2t(s) {
		return app.stringIDToTypeID(s);
	}
	var descriptor = new ActionDescriptor();
	var descriptor2 = new ActionDescriptor();
	var descriptor3 = new ActionDescriptor();
	var list = new ActionList();
	var reference = new ActionReference();
	var reference2 = new ActionReference();
	reference.putEnumerated( s2t( "layer" ), s2t( "ordinal" ), s2t( "targetEnum" ));
	descriptor.putReference( s2t( "null" ), reference );
	reference2.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "black" ));
	descriptor3.putReference( s2t( "channel" ), reference2 );
	descriptor3.putInteger( s2t( "srcBlackMin" ), srcBlackMin );
	descriptor3.putInteger( s2t( "srcBlackMax" ), srcBlackMax );
	descriptor3.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin );
	descriptor3.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax );
	descriptor3.putInteger( s2t( "destBlackMin" ), destBlackMin );
	descriptor3.putInteger( s2t( "destBlackMax" ), destBlackMax );
	descriptor3.putInteger( s2t( "destWhiteMin" ), destWhiteMin );
	descriptor3.putInteger( s2t( "desaturate" ), desaturate );
	list.putObject( s2t( "blendRange" ), descriptor3 );
	descriptor2.putList( s2t( "blendRange" ), list );
	descriptor.putObject( s2t( "to" ), s2t( "layer" ), descriptor2 );
	executeAction( s2t( "set" ), descriptor, DialogModes.NO );
}

function resetRGBblendif(srcBlackMin, srcBlackMax, srcWhiteMin, srcWhiteMax, destBlackMin, destBlackMax, destWhiteMin, desaturate, srcBlackMin2, srcBlackMax2, srcWhiteMin2, srcWhiteMax2, destBlackMin2, destBlackMax2, destWhiteMin2, desaturate2, srcBlackMin3, srcBlackMax3, srcWhiteMin3, srcWhiteMax3, destBlackMin3, destBlackMax3, destWhiteMin3, desaturate3, srcBlackMin4, srcBlackMax4, srcWhiteMin4, srcWhiteMax4, destBlackMin4, destBlackMax4, destWhiteMin4, desaturate4) {
	function s2t(s) {
		return app.stringIDToTypeID(s);
	}
	var descriptor = new ActionDescriptor();
	var descriptor2 = new ActionDescriptor();
	var descriptor3 = new ActionDescriptor();
	var descriptor4 = new ActionDescriptor();
	var descriptor5 = new ActionDescriptor();
	var descriptor6 = new ActionDescriptor();
	var list = new ActionList();
	var reference = new ActionReference();
	var reference2 = new ActionReference();
	var reference3 = new ActionReference();
	var reference4 = new ActionReference();
	var reference5 = new ActionReference();
	reference.putEnumerated( s2t( "layer" ), s2t( "ordinal" ), s2t( "targetEnum" ));
	descriptor.putReference( s2t( "null" ), reference );
	reference2.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "gray" ));
	descriptor3.putReference( s2t( "channel" ), reference2 );
	descriptor3.putInteger( s2t( "srcBlackMin" ), srcBlackMin );
	descriptor3.putInteger( s2t( "srcBlackMax" ), srcBlackMax );
	descriptor3.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin );
	descriptor3.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax );
	descriptor3.putInteger( s2t( "destBlackMin" ), destBlackMin );
	descriptor3.putInteger( s2t( "destBlackMax" ), destBlackMax );
	descriptor3.putInteger( s2t( "destWhiteMin" ), destWhiteMin );
	descriptor3.putInteger( s2t( "desaturate" ), desaturate );
	list.putObject( s2t( "blendRange" ), descriptor3 );
	reference3.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "red" ));
	descriptor4.putReference( s2t( "channel" ), reference3 );
	descriptor4.putInteger( s2t( "srcBlackMin" ), srcBlackMin2 );
	descriptor4.putInteger( s2t( "srcBlackMax" ), srcBlackMax2 );
	descriptor4.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin2 );
	descriptor4.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax2 );
	descriptor4.putInteger( s2t( "destBlackMin" ), destBlackMin2 );
	descriptor4.putInteger( s2t( "destBlackMax" ), destBlackMax2 );
	descriptor4.putInteger( s2t( "destWhiteMin" ), destWhiteMin2 );
	descriptor4.putInteger( s2t( "desaturate" ), desaturate2 );
	list.putObject( s2t( "blendRange" ), descriptor4 );
	reference4.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "grain" ));
	descriptor5.putReference( s2t( "channel" ), reference4 );
	descriptor5.putInteger( s2t( "srcBlackMin" ), srcBlackMin3 );
	descriptor5.putInteger( s2t( "srcBlackMax" ), srcBlackMax3 );
	descriptor5.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin3 );
	descriptor5.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax3 );
	descriptor5.putInteger( s2t( "destBlackMin" ), destBlackMin3 );
	descriptor5.putInteger( s2t( "destBlackMax" ), destBlackMax3 );
	descriptor5.putInteger( s2t( "destWhiteMin" ), destWhiteMin3 );
	descriptor5.putInteger( s2t( "desaturate" ), desaturate3 );
	list.putObject( s2t( "blendRange" ), descriptor5 );
	reference5.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "blue" ));
	descriptor6.putReference( s2t( "channel" ), reference5 );
	descriptor6.putInteger( s2t( "srcBlackMin" ), srcBlackMin4 );
	descriptor6.putInteger( s2t( "srcBlackMax" ), srcBlackMax4 );
	descriptor6.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin4 );
	descriptor6.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax4 );
	descriptor6.putInteger( s2t( "destBlackMin" ), destBlackMin4 );
	descriptor6.putInteger( s2t( "destBlackMax" ), destBlackMax4 );
	descriptor6.putInteger( s2t( "destWhiteMin" ), destWhiteMin4 );
	descriptor6.putInteger( s2t( "desaturate" ), desaturate4 );
	list.putObject( s2t( "blendRange" ), descriptor6 );
	descriptor2.putList( s2t( "blendRange" ), list );
	descriptor.putObject( s2t( "to" ), s2t( "layer" ), descriptor2 );
	executeAction( s2t( "set" ), descriptor, DialogModes.NO );
}

function resetLABblendif(srcBlackMin, srcBlackMax, srcWhiteMin, srcWhiteMax, destBlackMin, destBlackMax, destWhiteMin, desaturate, srcBlackMin2, srcBlackMax2, srcWhiteMin2, srcWhiteMax2, destBlackMin2, destBlackMax2, destWhiteMin2, desaturate2, srcBlackMin3, srcBlackMax3, srcWhiteMin3, srcWhiteMax3, destBlackMin3, destBlackMax3, destWhiteMin3, desaturate3) {
	function s2t(s) {
		return app.stringIDToTypeID(s);
	}
	var descriptor = new ActionDescriptor();
	var descriptor2 = new ActionDescriptor();
	var descriptor3 = new ActionDescriptor();
	var descriptor4 = new ActionDescriptor();
	var descriptor5 = new ActionDescriptor();
	var list = new ActionList();
	var reference = new ActionReference();
	var reference2 = new ActionReference();
	var reference3 = new ActionReference();
	var reference4 = new ActionReference();
	reference.putEnumerated( s2t( "layer" ), s2t( "ordinal" ), s2t( "targetEnum" ));
	descriptor.putReference( s2t( "null" ), reference );
	reference2.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "lightness" ));
	descriptor3.putReference( s2t( "channel" ), reference2 );
	descriptor3.putInteger( s2t( "srcBlackMin" ), srcBlackMin );
	descriptor3.putInteger( s2t( "srcBlackMax" ), srcBlackMax );
	descriptor3.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin );
	descriptor3.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax );
	descriptor3.putInteger( s2t( "destBlackMin" ), destBlackMin );
	descriptor3.putInteger( s2t( "destBlackMax" ), destBlackMax );
	descriptor3.putInteger( s2t( "destWhiteMin" ), destWhiteMin );
	descriptor3.putInteger( s2t( "desaturate" ), desaturate );
	list.putObject( s2t( "blendRange" ), descriptor3 );
	reference3.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "a" ));
	descriptor4.putReference( s2t( "channel" ), reference3 );
	descriptor4.putInteger( s2t( "srcBlackMin" ), srcBlackMin2 );
	descriptor4.putInteger( s2t( "srcBlackMax" ), srcBlackMax2 );
	descriptor4.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin2 );
	descriptor4.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax2 );
	descriptor4.putInteger( s2t( "destBlackMin" ), destBlackMin2 );
	descriptor4.putInteger( s2t( "destBlackMax" ), destBlackMax2 );
	descriptor4.putInteger( s2t( "destWhiteMin" ), destWhiteMin2 );
	descriptor4.putInteger( s2t( "desaturate" ), desaturate2 );
	list.putObject( s2t( "blendRange" ), descriptor4 );
	reference4.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "b" ));
	descriptor5.putReference( s2t( "channel" ), reference4 );
	descriptor5.putInteger( s2t( "srcBlackMin" ), srcBlackMin3 );
	descriptor5.putInteger( s2t( "srcBlackMax" ), srcBlackMax3 );
	descriptor5.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin3 );
	descriptor5.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax3 );
	descriptor5.putInteger( s2t( "destBlackMin" ), destBlackMin3 );
	descriptor5.putInteger( s2t( "destBlackMax" ), destBlackMax3 );
	descriptor5.putInteger( s2t( "destWhiteMin" ), destWhiteMin3 );
	descriptor5.putInteger( s2t( "desaturate" ), desaturate3 );
	list.putObject( s2t( "blendRange" ), descriptor5 );
	descriptor2.putList( s2t( "blendRange" ), list );
	descriptor.putObject( s2t( "to" ), s2t( "layer" ), descriptor2 );
	executeAction( s2t( "set" ), descriptor, DialogModes.NO );
}

function resetCMYKblendif(srcBlackMin, srcBlackMax, srcWhiteMin, srcWhiteMax, destBlackMin, destBlackMax, destWhiteMin, desaturate, srcBlackMin2, srcBlackMax2, srcWhiteMin2, srcWhiteMax2, destBlackMin2, destBlackMax2, destWhiteMin2, desaturate2, srcBlackMin3, srcBlackMax3, srcWhiteMin3, srcWhiteMax3, destBlackMin3, destBlackMax3, destWhiteMin3, desaturate3, srcBlackMin4, srcBlackMax4, srcWhiteMin4, srcWhiteMax4, destBlackMin4, destBlackMax4, destWhiteMin4, desaturate4, srcBlackMin5, srcBlackMax5, srcWhiteMin5, srcWhiteMax5, destBlackMin5, destBlackMax5, destWhiteMin5, desaturate5) {
	var s2t = function (s) {
		return app.stringIDToTypeID(s);
	};
	var descriptor = new ActionDescriptor();
	var descriptor2 = new ActionDescriptor();
	var descriptor3 = new ActionDescriptor();
	var descriptor4 = new ActionDescriptor();
	var descriptor5 = new ActionDescriptor();
	var descriptor6 = new ActionDescriptor();
	var descriptor7 = new ActionDescriptor();
	var list = new ActionList();
	var reference = new ActionReference();
	var reference2 = new ActionReference();
	var reference3 = new ActionReference();
	var reference4 = new ActionReference();
	var reference5 = new ActionReference();
	var reference6 = new ActionReference();
	reference.putEnumerated( s2t( "layer" ), s2t( "ordinal" ), s2t( "targetEnum" ));
	descriptor.putReference( s2t( "null" ), reference );
	reference2.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "gray" ));
	descriptor3.putReference( s2t( "channel" ), reference2 );
	descriptor3.putInteger( s2t( "srcBlackMin" ), srcBlackMin );
	descriptor3.putInteger( s2t( "srcBlackMax" ), srcBlackMax );
	descriptor3.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin );
	descriptor3.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax );
	descriptor3.putInteger( s2t( "destBlackMin" ), destBlackMin );
	descriptor3.putInteger( s2t( "destBlackMax" ), destBlackMax );
	descriptor3.putInteger( s2t( "destWhiteMin" ), destWhiteMin );
	descriptor3.putInteger( s2t( "desaturate" ), desaturate );
	list.putObject( s2t( "blendRange" ), descriptor3 );
	reference3.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "cyan" ));
	descriptor4.putReference( s2t( "channel" ), reference3 );
	descriptor4.putInteger( s2t( "srcBlackMin" ), srcBlackMin2 );
	descriptor4.putInteger( s2t( "srcBlackMax" ), srcBlackMax2 );
	descriptor4.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin2 );
	descriptor4.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax2 );
	descriptor4.putInteger( s2t( "destBlackMin" ), destBlackMin2 );
	descriptor4.putInteger( s2t( "destBlackMax" ), destBlackMax2 );
	descriptor4.putInteger( s2t( "destWhiteMin" ), destWhiteMin2 );
	descriptor4.putInteger( s2t( "desaturate" ), desaturate2 );
	list.putObject( s2t( "blendRange" ), descriptor4 );
	reference4.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "magenta" ));
	descriptor5.putReference( s2t( "channel" ), reference4 );
	descriptor5.putInteger( s2t( "srcBlackMin" ), srcBlackMin3 );
	descriptor5.putInteger( s2t( "srcBlackMax" ), srcBlackMax3 );
	descriptor5.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin3 );
	descriptor5.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax3 );
	descriptor5.putInteger( s2t( "destBlackMin" ), destBlackMin3 );
	descriptor5.putInteger( s2t( "destBlackMax" ), destBlackMax3 );
	descriptor5.putInteger( s2t( "destWhiteMin" ), destWhiteMin3 );
	descriptor5.putInteger( s2t( "desaturate" ), desaturate3 );
	list.putObject( s2t( "blendRange" ), descriptor5 );
	reference5.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "yellow" ));
	descriptor6.putReference( s2t( "channel" ), reference5 );
	descriptor6.putInteger( s2t( "srcBlackMin" ), srcBlackMin4 );
	descriptor6.putInteger( s2t( "srcBlackMax" ), srcBlackMax4 );
	descriptor6.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin4 );
	descriptor6.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax4 );
	descriptor6.putInteger( s2t( "destBlackMin" ), destBlackMin4 );
	descriptor6.putInteger( s2t( "destBlackMax" ), destBlackMax4 );
	descriptor6.putInteger( s2t( "destWhiteMin" ), destWhiteMin4 );
	descriptor6.putInteger( s2t( "desaturate" ), desaturate4 );
	list.putObject( s2t( "blendRange" ), descriptor6 );
	reference6.putEnumerated( s2t( "channel" ), s2t( "channel" ), s2t( "black" ));
	descriptor7.putReference( s2t( "channel" ), reference6 );
	descriptor7.putInteger( s2t( "srcBlackMin" ), srcBlackMin5 );
	descriptor7.putInteger( s2t( "srcBlackMax" ), srcBlackMax5 );
	descriptor7.putInteger( s2t( "srcWhiteMin" ), srcWhiteMin5 );
	descriptor7.putInteger( s2t( "srcWhiteMax" ), srcWhiteMax5 );
	descriptor7.putInteger( s2t( "destBlackMin" ), destBlackMin5 );
	descriptor7.putInteger( s2t( "destBlackMax" ), destBlackMax5 );
	descriptor7.putInteger( s2t( "destWhiteMin" ), destWhiteMin5 );
	descriptor7.putInteger( s2t( "desaturate" ), desaturate5 );
	list.putObject( s2t( "blendRange" ), descriptor7 );
	descriptor2.putList( s2t( "blendRange" ), list );
	descriptor.putObject( s2t( "to" ), s2t( "layer" ), descriptor2 );
	executeAction( s2t( "set" ), descriptor, DialogModes.NO );
}

 

Votes

Translate

Translate

Report

Report
Community Expert ,
Dec 16, 2022 Dec 16, 2022

Copy link to clipboard

Copied

quote

That's not worth creating an action, it should be simplified by Adobe. IMHO 🙂


By @Ivan Zayats

 

I voted. I agree. It would be nice to have a native feature to reset the sliders. I am not disagreeing with the idea/request. That being said, I am pragmatic.

 

It is worth it if you don't want to wait for it to be possibly included in Photoshop (if ever?). It is worth it if you need to do this more than once and it is a PITA to do this manually.

 

Actions can only use F-Key shortcuts. Scripts allow more flexible keyboard shortcuts.

 

Votes

Translate

Translate

Report

Report
Engaged ,
Dec 16, 2022 Dec 16, 2022

Copy link to clipboard

Copied

@Stephen_A_Marsh are you a moderator here? somebody has combined 2 my ideas in 1 topic, I don't like that... Although they are about the same filter, toggling on/off and deleting are different functions with different solutions.

There's a clear RULE: ONE request per thread.

Votes

Translate

Translate

Report

Report
Community Expert ,
Dec 16, 2022 Dec 16, 2022

Copy link to clipboard

Copied

No, I'm not a mod. The topic was merged as I was writing the script to reset the blend if sliders. My reply failed as the topic no longer existed. I then had to go searching for it. When I was replying I didn't even know about the other idea/request to toggle visibility.

Votes

Translate

Translate

Report

Report
Engaged ,
Dec 17, 2022 Dec 17, 2022

Copy link to clipboard

Copied

LATEST

My second comment was a separate topic, because it's another idea for another function.

Any adequate moderators here? why are my topics merged?

 

upd. I've created a separate topic again. Hopefully, the moderators will be more attentive to the community rules and wouldn't merge the topics with different requests.

Votes

Translate

Translate

Report

Report