Copy link to clipboard
Copied
Hi,
I am constantly changing between select same layer and select all layers, when using the Brush tool that is not efficient. Firstly why is this option not just there by default with the Brush Tool and secondly is there a way I can set it there so I can just click same layer or layers below etc.? Having to change to the eye dropper tool is so frustrating. I'm either choosing a bad workflow or Photoshop needs a fix and everyone is having this issue. Any help?
Thanks
Copy link to clipboard
Copied
Please post meaningful screenshots including all pertinent Panels to illustrate your worklow.
Firstly why is this option not just there by default with the Brush Tool
Because the Brush Tool is not the Eyedropper Tool.
But feel free to post a Feature Request.
Selecting the Eyedropper Tool, switching between »Current« and »Current and Below«, selecting the Brush Tool seems Script-able and therefore keyboard shortcut-able.
Edit:
// select eyedropper tool, change sample, select brush tool;
// 2023, use it at your own risk;
// =======================================================
var desc221 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( stringIDToTypeID( "eyedropperTool" ) );
desc221.putReference( stringIDToTypeID( "null" ), ref1 );
executeAction( stringIDToTypeID( "select" ), desc221, DialogModes.NO );
switchCTO();
// =======================================================
var desc224 = new ActionDescriptor();
var ref3 = new ActionReference();
ref3.putClass( stringIDToTypeID( "paintbrushTool" ) );
desc224.putReference( stringIDToTypeID( "null" ), ref3 );
executeAction( stringIDToTypeID( "select" ), desc224, DialogModes.NO );
// https://community.adobe.com/t5/photoshop-ecosystem-discussions/here-is-a-script-that-switches-toggles-sample-mode-option-for-tools-that-support-it/m-p/12399984#M585302
// by oleos
/*
<javascriptresource>
<name>Switch Sample Mode</name>
<enableinfo>true</enableinfo>
<category>Hirlin Scripts</category>
</javascriptresource>
// Oleksii Hirlin 2021
*/
var includeAllOptions = false; // should be either true or false
// if set to false will switch between 'Current' and 'Current &below' or just switch on / off
// if seet to true will switch between all avaliable variants as well as on / off
// getting currentToolOptions property
function checkCTOoption(charString, isIdTypeString){
var ref = new ActionReference();
ref.putProperty(stringIDToTypeID("property"), stringIDToTypeID("currentToolOptions"));
ref.putEnumerated(stringIDToTypeID("application"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
if (charString=="eyeDropperSampleSheet"){
return executeActionGet(ref).getObjectValue(stringIDToTypeID("currentToolOptions")).getInteger(stringIDToTypeID(charString));
}
if (isIdTypeString==true){
return executeActionGet(ref).getObjectValue(stringIDToTypeID("currentToolOptions")).getBoolean(stringIDToTypeID(charString));
} else {
return executeActionGet(ref).getObjectValue(stringIDToTypeID("currentToolOptions")).getBoolean(charIDToTypeID(charString));
}
}
// get current tool options object
function getCTO(){
var ref = new ActionReference();
ref.putProperty(stringIDToTypeID("property"), stringIDToTypeID("currentToolOptions"));
ref.putEnumerated(stringIDToTypeID("application"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
return executeActionGet(ref).getObjectValue(stringIDToTypeID("currentToolOptions"));
}
// setting currentToolOptions with options array
function setCTO( options, isIdTypeString ){
var desc = new ActionDescriptor();
var ref = new ActionReference();
ref.putClass( stringIDToTypeID( app.currentTool ) );
desc.putReference( stringIDToTypeID( "target" ), ref );
// getting current tool options so that they do not get reset
var ctoObj = getCTO();
// check if we are setting the eyedropper tool
if ( app.currentTool=="eyedropperTool" ){
ctoObj.putInteger( stringIDToTypeID( options[0][0] ), options[0][1] );
} else {
// iteration through options array and putting booleans into cto descriptor
for (var i=0; i < options.length; i++){
if (isIdTypeString==true){
ctoObj.putBoolean( stringIDToTypeID( options[i][0] ), options[i][1] );
} else {
ctoObj.putBoolean( charIDToTypeID( options[i][0] ), options[i][1] );
}
}
}
desc.putObject( stringIDToTypeID( "to" ), stringIDToTypeID( "currentToolOptions" ), ctoObj );
executeAction( stringIDToTypeID( "set" ), desc, DialogModes.NO );
}
// switching currentToolOptions if it's one of the tools, ignoring otherwise
function switchCTO (){
if ( app.currentTool=="magicStampTool" || app.currentTool=="cloneStampTool" ){
if ( checkCTOoption("StmA")==true && checkCTOoption("StmB")==false && checkCTOoption("StmS")==false ){
// if 'Current' set to 'Current and below'
setCTO( [ ["StmA",true], ["StmB",true], ["StmS",true] ] );
}
else if ( checkCTOoption("StmA")==true && checkCTOoption("StmB")==true && checkCTOoption("StmS")==true && includeAllOptions==true ){
// if 'current & below' set to 'all layers'
setCTO( [ ["StmA",true], ["StmB",false], ["StmS",true] ] );
}
else {
// otherwise set it to 'Current'
setCTO( [ ["StmA",true], ["StmB",false], ["StmS",false] ] );
}
}
else if ( app.currentTool=="magicLassoTool" || app.currentTool=="wetBrushTool" || app.currentTool=="recomposeSelection" ){
if ( checkCTOoption("sampleAllLayers", true)==false ){
setCTO( [ ["sampleAllLayers", true] ], true );
} else {
setCTO( [ ["sampleAllLayers", false] ], true );
}
}
else if ( app.currentTool=="quickSelectTool" ){
if ( checkCTOoption("quickSelectSampleAllLayers", true)==false ){
setCTO( [ ["quickSelectSampleAllLayers", true] ], true );
} else {
setCTO( [ ["quickSelectSampleAllLayers", false] ], true );
}
}
else if ( app.currentTool=="magicWandTool" ){
if ( checkCTOoption("windowsSystem", true)==false ){
setCTO( [ ["windowsSystem", true] ], true );
} else {
setCTO( [ ["windowsSystem", false] ], true );
}
}
else if ( app.currentTool=="spotHealingBrushTool" ){
if (checkCTOoption("StmS")==true){
setCTO( [ ["StmS",false] ] );
} else {
setCTO( [ ["StmS",true] ] );
}
}
else if ( app.currentTool=="patchSelection" && checkCTOoption("contentAware", true)==true ){
if ( checkCTOoption("sampleAllLayers", true)==false ){
setCTO( [ ["sampleAllLayers", true] ], true );
} else {
setCTO( [ ["sampleAllLayers", false] ], true );
}
}
else if ( app.currentTool=="eyedropperTool" ){
/*
current layer = 1
cur & below = 3
all layers = 0
all layers no adj = 6
cur & below no adj = 8
*/
if ( checkCTOoption("eyeDropperSampleSheet")==1 ) {
setCTO( [ ["eyeDropperSampleSheet", 3] ] );
} else if ( checkCTOoption("eyeDropperSampleSheet")==3 ) {
if ( includeAllOptions==true ){
setCTO( [ ["eyeDropperSampleSheet", 0] ] );
} else {
setCTO( [ ["eyeDropperSampleSheet", 1] ] );
}
} else if ( checkCTOoption("eyeDropperSampleSheet")==0 ) {
if ( includeAllOptions==true ){
setCTO( [ ["eyeDropperSampleSheet", 6] ] );
} else {
setCTO( [ ["eyeDropperSampleSheet", 1] ] );
}
} else if ( checkCTOoption("eyeDropperSampleSheet")==6 ) {
if ( includeAllOptions==true ){
setCTO( [ ["eyeDropperSampleSheet", 8] ] );
} else {
setCTO( [ ["eyeDropperSampleSheet", 1] ] );
}
} else if ( checkCTOoption("eyeDropperSampleSheet")==8 ) {
setCTO( [ ["eyeDropperSampleSheet", 1] ] );
} else {
setCTO( [ ["eyeDropperSampleSheet", 1] ] );
}
}
else if ( app.currentTool=="bucketTool" || app.currentTool=="magicEraserTool"){
if (checkCTOoption("BckS")==true){
setCTO( [ ["BckS",false] ] );
} else {
setCTO( [ ["BckS",true] ] );
}
}
else if ( app.currentTool=="blurTool" || app.currentTool=="sharpenTool" ){
if (checkCTOoption("BlrS")==true){
setCTO( [ ["BlrS",false] ] );
} else {
setCTO( [ ["BlrS",true] ] );
}
}
else if ( app.currentTool=="smudgeTool" ){
if ( checkCTOoption("smudgeStick", true)==false ){
setCTO( [ ["smudgeStick", true] ], true );
} else {
setCTO( [ ["smudgeStick", false] ], true );
}
}
else {
// if other tools, do nothing
}
};
Copy link to clipboard
Copied
The Brush tool doesn't have an option for same / all layers - what exactly are you doing / workflow?? Do you mean when you are using the brush tool you want to sample a color on a different layer but you can't and have to switch to select it in the options bar in the eye dropper tool??? If you set your eye dropper to sample from all layers it should stay that way - options are sticky for all tools in Photosohp. If you have it set to all layers why would need to change it to current layer only??
Copy link to clipboard
Copied
I'll give this the answer I think it should have had.
Sorry Jim, Adobe, hasn't realised after 33 years that 2D artists use the Brush tool more than any other tool. Adobe introduced Blending Modes which are great but, doesn't understand that 2D artists will want to take advantage of those Blending Modes when painting, I mean, if you want to select from the Blending Modes rather than guess the colour from the colour palette it would make sense to have that option within the tool you're using. Adobe understands how useful that is in the Stamp tool, Quick Selection tool, Mixer Brush, History Brush, Eraser Tool, Gradient Tool, Blur Tool, Smudge Tool, Sharpen Tool, even introduced this option into the new features of the Healing Brush Tools and I should mention the Eye Dropper tool, I mean it's only an Adobe convention to have that option in Eye Dropper Tool. Adobe could have decided to make selection options a tool in itself that affected everything. There's no reason not to if you aren't going to have it in the Brush tool. I'm really not sure why Adobe doesn't see why having to select the Eye Dropper tool, change the selection mode and then switch back to the Brush tool is a bit frustrating especially if you've found yourself locked in the brush search box and shortcuts are just typing away and doing nothing so you have to hit another key to get yourself out of that box. I probably only use the Eye Dropper tool 99.9% of the time for changing between how the Brush Tool selects. Yeah, the Eye Dropper tool has some useful functions, it's just the one of which that I use the most to change how the Brush tool selects. I can understand why you wouldn't want to waste your time submitting a feature request to Adobe for this, I mean if they haven't listened to how people use Photoshop features in 33 years they probably aren't going to listen to you now. People like me and you that use the Brush tool in Photoshop, you know, for painting, making art, and take advantage of Blending Modes are obviously the tiny minority. Probably not surprising though since having to switch to the Eye Dropper Tool, change the selection mode and back to the Brush tool can get pretty annoying. Ironic though since the word 'phtoshopped' kind of meant airbrushed for a long time to the 'lay' community.
Copy link to clipboard
Copied
Why would Adobe waste resources on something that can be automated with existing Photoshop features?
Photoshop’s automation and customization features have existed a long time, whether you use them or not is your decision.
If you want Adobe to »listen« to you then post a Feature Request (which shouldn’t have been much more work than typing that paragraph), but venting here would not seem to achieve anything meaningful.
Copy link to clipboard
Copied
yeah, why waste effort on people that haven't got programming skills. You know the majority of artists. It might surprise you to know that people that developed as creative, free thinking artists don't spend a lot of time learning about rigid scripting languages. You are an expert at trying to put people down rather than genuinely trying to help. Not everyone has that rigid, narrow thinking of of mathematics and scripting where meaning has to be pinned down to one thing and one thing only. Some of use artists where possibilities for new and surprising things are at your fingertips all day everyday. We don't want to be put into a tiny box where X has to equal Y+n for ever and a day, where Y has a strict definition that isn't free to change and evolve. Some of us would rather spend our time creating rather than putting others in their place. I didn't reply to you because I thought you weren't very kind of understanding of the issue I had. I din't reply to you because you basically said, it isn't because it isn't. Why bother. I didn't reply to your edit because as surprising as it obviously is to you I didn't learning scripting because I'm an artist, I only use photoshop now because the oil pants I used to use made too much mess and the fumes damaged my health. I'm sorry this makes me a lesser person in your eyes but, your unkind were not worth a reply. I really don't know why my question made you so angry. You didn't have to reply. Maybe if you focused more an actually helping people rather than improving your rank at Adobe you'd have more appreciation.
Copy link to clipboard
Copied
In case you need instructions on how to use a Photoshop Script:
Save the code as a txt-file from a text editor like TextEdit, change the extension to .jsx and copy it into Photoshop’s Presets/Scripts-Folder (/Applications/Adobe Photoshop 2023/Presets/Scripts); after restarting Photoshop it should be available under File > Scripts and can be assigned a Shortcut or used in an Action.
Copy link to clipboard
Copied
sorry for the typos, Adobe has tarred everyone with the same brush, not pun intended, ie. assumed everyone is corrupt and blocked the edit function for anyone except the 'sepcial' few deamed worthy enough. God forbid they should deal with those individuals that have 'abused' the function and maybe addressed the reasons why people feel they need to 'abuse' the function. No, people get treated like cattle as usual. Yes, 'cattle' meaning property, something just to be used an exploited. The users of these apps are the ones that pay the wages of Adobe staff afterall, god forbid you should treat them accordingly.
Copy link to clipboard
Copied
You need not use Adobe applications if they don’t meet your requirements, but by venting here you are not helping your case.
You want your request to register with Adobe? Post a Feature Request. Or a Bug Report if it’s about a Bug.
Otherwise you seem to be venting at Photoshop users who are trying to help other Photoshop users …
Have you tried the Script?
Copy link to clipboard
Copied
You really are the inflamatry one aren't you. Why have I annoyed you so much you feel you have to attack me? I'm just a random person that felt frustrated with the tools I've been using for 23 years with no improvement to the one feature I use all the time. You know creative people outside of computing can just make the tools they need. I know I don't have to use Adobe. I'd have thought this 'well sod off' attitude wouldn't be the kind of help people can expect from someone ranked as an expert. You are expert at not being understanding and actually helpful for use. You are an expert at taking everything personally. You are an expert at inflaming people that are simply wanting to give feedback to the people whose software I've been paying for for 23 yeears. Is this really all I can expect for 23 years of paying for a service? Abuse and 'if you don't like it sod off'? Charming. Very worthy of your expert ranking. You know, I can't say my 'r's so for an English person my use of 'ranking' has a very apt sound meaning for someone so spiteful and aggressive. As a small business owner I actually appreciate the feedback my customers give me especially when it's a criticism. It's by listening to my customers complaints that has made me a better business owner. If I just told all my customers to go away if you don't like it, you don't have to come to me if you don't like it, I wouldn't be in business at all. Somehow I don't think you are deserving of the status you obviously give yourself. You are certainly not helpful. You are certainly not understaning. You are certainly not appreciated or wanted by this questioner. You have done nothing but cause me a headache. Please, stop replying. You are NOT helping.
Copy link to clipboard
Copied
Why have I annoyed you so much you feel you have to attack me?
Which line/s from my posts do you construe to be »attack«-s exactly?
Copy link to clipboard
Copied
Have you been able to test the Script?
Copy link to clipboard
Copied
You have been offered two possible solutions.
1. Install and use the script that c.pfaffenbichler, as a fellow Photoshop user, has taken the time to write for you.
2. Raise a change request as an 'idea' in this forum, stating clearly how you want this to work and the benefits it will bring. Then get as many users as you can to upvote that change request so that it will be raised in priority with Adobe's developers.
Your recent posts break the forum guidelines by personally attacking a community user that has tried to help you. This thread is now locked.
Dave