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

How to disable automatically changing text color when I change foreground color in text layer?

Explorer ,
Dec 02, 2023 Dec 02, 2023

Hi, I can't English well 😞

 

In the past, even if you changed the color in the text layer, it was not immediately applied to the text.

It was applied to the text color only when I filled it.

 

but now, if I change a foreground color, it automatically applies to the text color.

It's fainful. so I'm looking for turn off option.

 

I cant' find that option, in type tool, preferences/general, type..

Is there any way to turn it off?

TOPICS
Windows
741
Translate
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

Explorer , Dec 11, 2023 Dec 11, 2023
function restoreTextColor(){
    var doc = app.activeDocument

    if (doc.activeLayer.kind == LayerKind.TEXT){
        var last = doc.historyStates.length - 1;

        if (doc.historyStates[last].name == "Set Character Style"){
            executeAction(charIDToTypeID('undo'), undefined, DialogModes.NO);
        }
    }
}

//EventHandler: Scripts/Script Events Manager...
try {
    if (arguments.length >= 2){
        var desc = arguments[0];
        var event = arguments[1];
  
        if (even
...
Translate
Adobe
Explorer ,
Dec 02, 2023 Dec 02, 2023

Oh.. It's painful.. not fainful.... haha

Translate
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
Community Expert ,
Dec 04, 2023 Dec 04, 2023

Could you please post screenshots taken at View > 100% with the pertinent Panels (Toolbar, Layers, Character, Options Bar, …) visible? 

Did you actually select the Text or just the Type Layer? 

Translate
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 ,
Dec 10, 2023 Dec 10, 2023

not select Text, just Type Layer

20231211_103115.png

Translate
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 ,
Dec 10, 2023 Dec 10, 2023

I don't want to set character style.

I just want to change foreground color in text layer.

 

Because I'm working with many layers and when I change a foreground color,

I don't want to care about which layer I chage the color on.

Translate
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
Community Expert ,
Dec 10, 2023 Dec 10, 2023

I cannot make out the cursor in the recording, how exactly are you changing the Foreground Color? 

If you do it via the Swatches Panel then the behaviour (setting the character style) was the same in Photoshop 2023. 

Translate
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 ,
Dec 11, 2023 Dec 11, 2023

I change foreground color just click in swatches.

and I've been using swatch along, before when I changed a color with swatch the text color didn't change.

The text color started changeing a few versions ago, but I can't remember when.

Translate
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
Community Expert ,
Dec 11, 2023 Dec 11, 2023

Well, that has apparently been the default behaviour for a while now. 

Do you remember a Photoshop version in which it was definitely different? 

 

You could post a Feature Request (»Idea«), but for now I see no option to avoid this and you may have to deselect the Type  Layer; which could probably be Scripted and the Script assigned a Keyboard Shortcut. 

A more complicated but fully automated approach might be involving the Script Events Manager to catch any setting of the Foreground Color. 

Translate
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 ,
Dec 11, 2023 Dec 11, 2023

Thanks for reply.

I need that option but it wasn't there.

I try scripting event manager 🙂

 

Wish me luck. thank you.

Translate
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 ,
Dec 11, 2023 Dec 11, 2023

yap, I made script. It works.

 

If you want to fix this problem. try this.

1. Save the script below as a jsx file.

function restoreTextColor(){
    if (app.activeDocument.activeLayer.kind == LayerKind.TEXT){
        executeAction(charIDToTypeID('undo'), undefined, DialogModes.NO);
    }
}

//EventHandler: Scripts/Script Events manager
try {
    if (arguments.length >= 2){
        var desc = arguments[0];
        var event = arguments[1];
  
        if (event == charIDToTypeID('setd')){
            var ref = desc.getReference(charIDToTypeID('null'));
            var cls = ref.getDesiredClass();
  
            if (cls == charIDToTypeID('Clr ')){
                var property = ref.getProperty();
  
                if(property == charIDToTypeID('FrgC')){
                    restoreTextColor();
                }
            }
        }
    }
}
catch(e){}

 2. Open Popup: Photoshop MainMenu/File/Scripts/Script Events Manager 

3. Check: Enable Events to Run Scripts/Actions 

4. Photoshop Event: Everything

5. Script: Browse...

6. Select that script file.

7. Add

 

then if you change foreground color in text layer.

Event handler get event, and undo Set Character Style.

 

Translate
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
Community Expert ,
Dec 11, 2023 Dec 11, 2023

Hmm … 

What happens if you change the Foreground Color not via Swatches Panel but via another methos, like clicking the swatch in the Toolbar? 

Translate
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 ,
Dec 11, 2023 Dec 11, 2023

The event handler code I used is here.

he was explain that the user changes the foregroundColor using the colorPicker or eyedropper.

Translate
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 ,
Dec 11, 2023 Dec 11, 2023

and Thanks to you, I found the bug.

Change foreground color in ColorPicker Popup, It's not adding auto Set Character Style.

It becames undo, which should not be done.

 

I'm studing script now, so I'll learn to history and fix it.

Translate
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 ,
Dec 11, 2023 Dec 11, 2023
LATEST

Thank you for helping me.

I was able to learn more about photoshop scripts and it was very enjoyable experience.

Translate
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 ,
Dec 11, 2023 Dec 11, 2023
function restoreTextColor(){
    var doc = app.activeDocument

    if (doc.activeLayer.kind == LayerKind.TEXT){
        var last = doc.historyStates.length - 1;

        if (doc.historyStates[last].name == "Set Character Style"){
            executeAction(charIDToTypeID('undo'), undefined, DialogModes.NO);
        }
    }
}

//EventHandler: Scripts/Script Events Manager...
try {
    if (arguments.length >= 2){
        var desc = arguments[0];
        var event = arguments[1];
  
        if (event == charIDToTypeID('setd')){
            var ref = desc.getReference(charIDToTypeID('null'));
            var cls = ref.getDesiredClass();
  
            if (cls == charIDToTypeID('Clr ')){
                var property = ref.getProperty();
  
                if(property == charIDToTypeID('FrgC')){
                    restoreTextColor();
                }
            }
        }
    }
}
catch(e){}
Translate
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