Changing color of a button?

Is it doable that the button of a floating menu changes color every time it is clicked? So, the button is green, I click, it turns red, click, it turns green....

Ah, I need this to indicate if the item in a drop down menu is on/off. The click triggers the macro for on/off.

image

The cleanest way currently is to use a little script like this:

  let itemUUID = "DDB37019-4673-4313-9386-E583A9DF0127";

  let variableName = "buttonShouldBeGreen";
  let isGreen = await callBTT("get_number_variable", {
    variable_name: variableName,
  });

  if (isGreen == 1) {
    callBTT("set_number_variable", { variable_name: variableName, to: 0 });

    await callBTT("update_menu_item", {
      item_uuid: itemUUID,
      json: JSON.stringify({ BTTMenuItemBackgroundColor: "200, 0, 0, 170" }),
    });

    returnToBTT("changed to red");
  } else {
    callBTT("set_number_variable", { variable_name: variableName, to: 1 });

    await callBTT("update_menu_item", {
      item_uuid: itemUUID,
      json: JSON.stringify({
        BTTMenuItemBackgroundColor: "110, 190, 100, 200",
      }),
    });

    returnToBTT("changed to green");
  }
})();


You would just need to change the item uuid on top of the script.

However most likely you want to change the color depending on some external state?

Thank you, I'll be happy to try. :slightly_smiling_face:

Not sure I understand. What I want is, If "Nur Mappenauswahl suchen" has a check mark, the button should be red, otherwise green. I can't see the status because this is in a hidden menu.

Then it should probably query the checkmark status of that menu item to decide which color the floating menu button should be (at least initially), right?

I have not yet thought about that in such detail.

But yes, when I see a green button, there should be no tick. And when I click the button the macro that sets the checkmark starts and the button should turn red. Does that make sense?

Yes I think it's clear. Which app is this menu from?

Scrivener, it is a drop down menu by which you can make certain settings for the search. It opens when you click on the magnifying glass.

unfortunately for such drop downs I don't think it's possible to query the "checked" state (without opening it) ;-(
This is not available through the menubar menu?

No, unfortunately not.

I tried your script anyway. First the action that activates/deactivates the menu item and then your script. I use the uuid of my button.

Shouldn't the button change color anyway? But unfortunately it does not.

Are you on dark or light mode? (The script currently just changes the light mode colors). Rename BTTMenuItemBackgroundColor to BTTMenuItemBackgroundColorDark for dark mode support

I never work in dark mode. :wink:

What color should the button be when it is put on? I just selected the default color.

image

Should alternate between this

and this

when clicking the button (possibly only after moving the mouse out of the button again)

Yes, but I have to create the button before I can click on it. What color should it be, green? Does it have to be a particular green?

This doesn't matter for the test, the script uses these Red, Green, Blue, Alpha values:
110, 190, 100, 200

The original color should be overridden once the button is clicked and the script has run. If it doesn't there is some issue.

Maybe try changing the text of the menu too to see whether that changes:

(async () => {
let itemUUID = "DDB37019-4673-4313-9386-E583A9DF0127";


let variableName = 'buttonShouldBeGreen';
 let isGreen = await callBTT("get_number_variable", {variable_name: variableName});
 
 if(isGreen == 1) {
 		callBTT("set_number_variable", {variable_name: variableName, to: 0});
		
		 const updateDescription = {"BTTMenuItemBackgroundColor" : "200, 0, 0, 170", "BTTMenuItemText": "Red"};
   		await callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})

		
 	returnToBTT( 'changed to red');
 
 } else {
 	callBTT("set_number_variable", {variable_name: variableName, to: 1});

 	 const updateDescription = {"BTTMenuItemBackgroundColor" : "110, 190, 100, 200", "BTTMenuItemText": "Green"};
   		await callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})

		
 	returnToBTT( 'changed to green');
 }
})()

Here is a full example JSON for such a button:

[
  {
    "BTTLastUpdatedAt" : 1691743992.448612,
    "BTTTriggerType" : 773,
    "BTTTriggerTypeDescription" : "Standard Item",
    "BTTTriggerClass" : "BTTTriggerTypeFloatingMenu",
    "BTTPredefinedActionType" : 281,
    "BTTPredefinedActionName" : "Run Real JavaScript",
    "BTTAdditionalActionData" : {
      "BTTScriptType" : 3,
      "BTTAppleScriptRunInBackground" : false,
      "BTTTouchBarAppleScriptString" : "(async () => {\nlet itemUUID = \"DDB37019-4673-4313-9386-E583A9DF0127\";\n\n\nlet variableName = 'buttonShouldBeGreen';\n let isGreen = await callBTT(\"get_number_variable\", {variable_name: variableName});\n \n if(isGreen == 1) {\n \t\tcallBTT(\"set_number_variable\", {variable_name: variableName, to: 0});\n\t\t\n\t\t const updateDescription = {\"BTTMenuItemBackgroundColor\" : \"200, 0, 0, 170\", \"BTTMenuItemText\": \"Red\"};\n   \t\tawait callBTT('update_menu_item', {\"item_uuid\": itemUUID, \"json\": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to red');\n \n } else {\n \tcallBTT(\"set_number_variable\", {variable_name: variableName, to: 1});\n\n \t const updateDescription = {\"BTTMenuItemBackgroundColor\" : \"110, 190, 100, 200\", \"BTTMenuItemText\": \"Green\"};\n   \t\tawait callBTT('update_menu_item', {\"item_uuid\": itemUUID, \"json\": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to green');\n }\n})()",
      "BTTTouchBarAppleScriptUsePath" : false
    },
    "BTTGenericActionConfig" : "(async () => {\nlet itemUUID = \"DDB37019-4673-4313-9386-E583A9DF0127\";\n\n\nlet variableName = 'buttonShouldBeGreen';\n let isGreen = await callBTT(\"get_number_variable\", {variable_name: variableName});\n \n if(isGreen == 1) {\n \t\tcallBTT(\"set_number_variable\", {variable_name: variableName, to: 0});\n\t\t\n\t\t const updateDescription = {\"BTTMenuItemBackgroundColor\" : \"200, 0, 0, 170\", \"BTTMenuItemText\": \"Red\"};\n   \t\tawait callBTT('update_menu_item', {\"item_uuid\": itemUUID, \"json\": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to red');\n \n } else {\n \tcallBTT(\"set_number_variable\", {variable_name: variableName, to: 1});\n\n \t const updateDescription = {\"BTTMenuItemBackgroundColor\" : \"110, 190, 100, 200\", \"BTTMenuItemText\": \"Green\"};\n   \t\tawait callBTT('update_menu_item', {\"item_uuid\": itemUUID, \"json\": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to green');\n }\n})()",
    "BTTGenericActionConfig2" : "",
    "BTTRealJavaScriptString" : "(async () => {\nlet itemUUID = \"DDB37019-4673-4313-9386-E583A9DF0127\";\n\n\nlet variableName = 'buttonShouldBeGreen';\n let isGreen = await callBTT(\"get_number_variable\", {variable_name: variableName});\n \n if(isGreen == 1) {\n \t\tcallBTT(\"set_number_variable\", {variable_name: variableName, to: 0});\n\t\t\n\t\t const updateDescription = {\"BTTMenuItemBackgroundColor\" : \"200, 0, 0, 170\", \"BTTMenuItemText\": \"Red\"};\n   \t\tawait callBTT('update_menu_item', {\"item_uuid\": itemUUID, \"json\": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to red');\n \n } else {\n \tcallBTT(\"set_number_variable\", {variable_name: variableName, to: 1});\n\n \t const updateDescription = {\"BTTMenuItemBackgroundColor\" : \"110, 190, 100, 200\", \"BTTMenuItemText\": \"Green\"};\n   \t\tawait callBTT('update_menu_item', {\"item_uuid\": itemUUID, \"json\": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to green');\n }\n})()",
    "BTTUUID" : "DDB37019-4673-4313-9386-E583A9DF0127",
    "BTTEnabled" : 1,
    "BTTTriggerName" : "Menu Item: no-name-DDB3701",
    "BTTMenuConfig" : {
      "BTTMenuItemMaxHeight" : 50,
      "BTTMenuItemMinWidth" : 100,
      "BTTMenuAlwaysUseLightMode" : 1,
      "BTTMenuItemBackgroundColorDark" : "108.442, 96.000, 190.435, 166.991",
      "BTTMenuElementIdentifier" : "no-name-DDB3701",
      "BTTMenuItemBorderColorHover" : "255.000000, 255.000000, 255.000000, 255.000000",
      "BTTMenuItemVisibleWhileInactive" : 1,
      "BTTMenuCategoryBackground" : 1,
      "BTTMenuItemDisplayOrder" : 0,
      "BTTMenuItemBackgroundTypeDark" : 4,
      "BTTLastChangeUUID" : "63FD82F1-1AB5-4D7C-BC11-5CF56585921D",
      "BTTMenuItemBackgroundType" : 4,
      "BTTMenuItemBackgroundColorHoverDark" : "90, 90.000, 180, 166.991",
      "BTTMenuItemBorderColorHoverDark" : "255.000000, 255.000000, 255.000000, 255.000000",
      "BTTMenuCategoryItemSizing" : 1,
      "BTTMenuItemBackgroundColor" : "201.916073, 0.000000, 0.000000, 166.990997",
      "BTTMenuItemBackgroundColorHover" : "110.000000, 193.000000, 56.000000, 200.650222",
      "BTTMenuItemMinHeight" : 50,
      "BTTMenuItemBorderColorDark" : "255.000000, 255.000000, 255.000000, 255.000000",
      "BTTMenuHoverEndAnimationDuration" : 0.14999999999999999,
      "BTTMenuItemBorderColor" : "255.000000, 255.000000, 255.000000, 255.000000",
      "BTTMenuAttributedText" : "[\"Change Color\",{\"NSColor\":\"YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHyAnVSRudWxs1Q0ODxAREhMUFRZXTlNXaGl0ZVxOU0NvbXBvbmVudHNcTlNDb2xvclNwYWNlXxASTlNDdXN0b21Db2xvclNwYWNlViRjbGFzc0IxAEMxIDEQA4ACgAXUGBkaERscHR5UTlNJRFVOU0lDQ1dOU01vZGVsEAmAAxAAgARPERGcAAARnGFwcGwCAAAAbW50ckdSQVlYWVogB9wACAAXAA8ALgAPYWNzcEFQUEwAAAAAbm9uZQAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZGVzYwAAAMAAAAB5ZHNjbQAAATwAAAgaY3BydAAACVgAAAAjd3RwdAAACXwAAAAUa1RSQwAACZAAAAgMZGVzYwAAAAAAAAAfR2VuZXJpYyBHcmF5IEdhbW1hIDIuMiBQcm9maWxlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAHwAAAAxza1NLAAAALgAAAYRkYURLAAAAOgAAAbJjYUVTAAAAOAAAAex2aVZOAAAAQAAAAiRwdEJSAAAASgAAAmR1a1VBAAAALAAAAq5mckZVAAAAPgAAAtpodUhVAAAANAAAAxh6aFRXAAAAGgAAA0xrb0tSAAAAIgAAA2ZuYk5PAAAAOgAAA4hjc0NaAAAAKAAAA8JoZUlMAAAAJAAAA+pyb1JPAAAAKgAABA5kZURFAAAATgAABDhpdElUAAAATgAABIZzdlNFAAAAOAAABNR6aENOAAAAGgAABQxqYUpQAAAAJgAABSZlbEdSAAAAKgAABUxwdFBPAAAAUgAABXZubE5MAAAAQAAABchlc0VTAAAATAAABgh0aFRIAAAAMgAABlR0clRSAAAAJAAABoZmaUZJAAAARgAABqpockhSAAAAPgAABvBwbFBMAAAASgAABy5hckVHAAAALAAAB3hydVJVAAAAOgAAB6RlblVTAAAAPAAAB94AVgFhAGUAbwBiAGUAYwBuAOEAIABzAGkAdgDhACAAZwBhAG0AYQAgADIALAAyAEcAZQBuAGUAcgBpAHMAawAgAGcAcgDlACAAMgAsADIAIABnAGEAbQBtAGEALQBwAHIAbwBmAGkAbABHAGEAbQBtAGEAIABkAGUAIABnAHIAaQBzAG8AcwAgAGcAZQBuAOgAcgBpAGMAYQAgADIALgAyAEMepQB1ACAAaADsAG4AaAAgAE0A4AB1ACAAeADhAG0AIABDAGgAdQBuAGcAIABHAGEAbQBtAGEAIAAyAC4AMgBQAGUAcgBmAGkAbAAgAEcAZQBuAOkAcgBpAGMAbwAgAGQAYQAgAEcAYQBtAGEAIABkAGUAIABDAGkAbgB6AGEAcwAgADIALAAyBBcEMAQzBDAEOwRMBD0EMAAgAEcAcgBhAHkALQQzBDAEPAQwACAAMgAuADIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAGcAcgBpAHMAIABnAGEAbQBtAGEAIAAyACwAMgDBAGwAdABhAGwA4QBuAG8AcwAgAHMAegD8AHIAawBlACAAZwBhAG0AbQBhACAAMgAuADKQGnUocHCWjlFJXqYAMgAuADKCcl9pY8+P8Md8vBgAINaMwMkAIKwQucgAIAAyAC4AMgAg1QS4XNMMx3wARwBlAG4AZQByAGkAcwBrACAAZwByAOUAIABnAGEAbQBtAGEAIAAyACwAMgAtAHAAcgBvAGYAaQBsAE8AYgBlAGMAbgDhACABYQBlAGQA4QAgAGcAYQBtAGEAIAAyAC4AMgXSBdAF3gXUACAF0AXkBdUF6AAgBdsF3AXcBdkAIAAyAC4AMgBHAGEAbQBhACAAZwByAGkAIABnAGUAbgBlAHIAaQBjAQMAIAAyACwAMgBBAGwAbABnAGUAbQBlAGkAbgBlAHMAIABHAHIAYQB1AHMAdAB1AGYAZQBuAC0AUAByAG8AZgBpAGwAIABHAGEAbQBtAGEAIAAyACwAMgBQAHIAbwBmAGkAbABvACAAZwByAGkAZwBpAG8AIABnAGUAbgBlAHIAaQBjAG8AIABkAGUAbABsAGEAIABnAGEAbQBtAGEAIAAyACwAMgBHAGUAbgBlAHIAaQBzAGsAIABnAHIA5QAgADIALAAyACAAZwBhAG0AbQBhAHAAcgBvAGYAaQBsZm6QGnBwXqZ8+2VwADIALgAyY8+P8GWHTvZOAIIsMLAw7DCkMKww8zDeACAAMgAuADIAIDDXMO0w1TChMKQw6wOTA7UDvQO5A7oDzAAgA5MDugPBA7kAIAOTA6wDvAO8A7EAIAAyAC4AMgBQAGUAcgBmAGkAbAAgAGcAZQBuAOkAcgBpAGMAbwAgAGQAZQAgAGMAaQBuAHoAZQBuAHQAbwBzACAAZABhACAARwBhAG0AbQBhACAAMgAsADIAQQBsAGcAZQBtAGUAZQBuACAAZwByAGkAagBzACAAZwBhAG0AbQBhACAAMgAsADIALQBwAHIAbwBmAGkAZQBsAFAAZQByAGYAaQBsACAAZwBlAG4A6QByAGkAYwBvACAAZABlACAAZwBhAG0AbQBhACAAZABlACAAZwByAGkAcwBlAHMAIAAyACwAMg4jDjEOBw4qDjUOQQ4BDiEOIQ4yDkAOAQ4jDiIOTA4XDjEOSA4nDkQOGwAgADIALgAyAEcAZQBuAGUAbAAgAEcAcgBpACAARwBhAG0AYQAgADIALAAyAFkAbABlAGkAbgBlAG4AIABoAGEAcgBtAGEAYQBuACAAZwBhAG0AbQBhACAAMgAsADIAIAAtAHAAcgBvAGYAaQBpAGwAaQBHAGUAbgBlAHIAaQENAGsAaQAgAEcAcgBhAHkAIABHAGEAbQBtAGEAIAAyAC4AMgAgAHAAcgBvAGYAaQBsAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAcwB6AGEAcgBvAVsAYwBpACAAZwBhAG0AbQBhACAAMgAsADIGOgYnBkUGJwAgADIALgAyACAGRAZIBkYAIAYxBkUGJwYvBkoAIAY5BicGRQQeBDEESQQwBE8AIARBBDUEQAQwBE8AIAQzBDAEPAQ8BDAAIAAyACwAMgAtBD8EQAQ+BEQEOAQ7BEwARwBlAG4AZQByAGkAYwAgAEcAcgBhAHkAIABHAGEAbQBtAGEAIAAyAC4AMgAgAFAAcgBvAGYAaQBsAGUAAHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTIAAFhZWiAAAAAAAADzUQABAAAAARbMY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB\\\/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI\\\/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg\\\/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv\\\/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN\\\/M7gz8TQrNGU0njTYNRM1TTWHNcI1\\\/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE\\\/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0\\\/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg\\\/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg\\\/aJZo7GlDaZpp8WpIap9q92tPa6dr\\\/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN\\\/hH\\\/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ\\\/opkisqLMIuWi\\\/yMY4zKjTGNmI3\\\/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ\\\/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln\\\/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum\\\/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7\\\/v3q\\\/9cBwwOzBZ8Hjwl\\\/C28NYw9TEUcTOxUvFyMZGxsPHQce\\\/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI\\\/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x\\\/nqegy6LzpRunQ6lvq5etw6\\\/vshu0R7ZzuKO6070DvzPBY8OXxcvH\\\/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x\\\/pX+uf7d\\\/wH\\\/Jj9Kf26\\\/kv+3P9t\\\/\\\/\\\/SISIjJFokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JTcGFjZaIlJlxOU0NvbG9yU3BhY2VYTlNPYmplY3TSISIoKVdOU0NvbG9yoigmAAgAEQAaACQAKQAyADcASQBMAFEAUwBaAGAAawBzAIAAjQCiAKkArACwALIAtAC2AL8AxADKANIA1ADWANgA2hJ6En8SihKTEqASoxKwErkSvhLGAAAAAAAAAgEAAAAAAAAAKgAAAAAAAAAAAAAAAAAAEsk=\",\"NSParagraphStyle\":\"YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwVVSRudWxs1A0ODxAREhMUWk5TVGFiU3RvcHNbTlNBbGlnbm1lbnRfEB9OU0FsbG93c1RpZ2h0ZW5pbmdGb3JUcnVuY2F0aW9uViRjbGFzc4AAEAIQAYAC0hYXGBlaJGNsYXNzbmFtZVgkY2xhc3Nlc18QF05TTXV0YWJsZVBhcmFncmFwaFN0eWxloxgaG18QEE5TUGFyYWdyYXBoU3R5bGVYTlNPYmplY3QACAARABoAJAApADIANwBJAEwAUQBTAFcAXQBmAHEAfQCfAKYAqACqAKwArgCzAL4AxwDhAOUA+AAAAAAAAAIBAAAAAAAAABwAAAAAAAAAAAAAAAAAAAEB\",\"NSFont\":\"YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGkCwwVFlUkbnVsbNQNDg8QERITFFZOU1NpemVYTlNmRmxhZ3NWTlNOYW1lViRjbGFzcyNAOQAAAAAAABAQgAKAA11TRlByby1SZWd1bGFy0hcYGRpaJGNsYXNzbmFtZVgkY2xhc3Nlc1ZOU0ZvbnSiGRtYTlNPYmplY3QIERokKTI3SUxRU1heZ253foWOkJKUoqeyu8LFAAAAAAAAAQEAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAM4=\"}]",
      "BTTMenuHoverStartAnimationDuration" : 0.14999999999999999,
      "BTTMenuItemMaxWidth" : 200,
      "BTTMenuItemVisibleWhileActive" : 1,
      "BTTMenuItemIconColor1" : "255.000000, 255.000000, 255.000000, 255.000000"
    }
  }
]

Mmm, I have tried both scripts. Unfortunately nothing happens.

The action is set up like this. First the named trigger that activates/deactivates the menu item (that always works), then the button change (doesn't work).

Could you copy paste the whole trigger here?

Sure, with which script? I paste this :slightly_smiling_face:

[
{
"BTTLastUpdatedAt" : 1691742406.5179191,
"BTTTriggerType" : 773,
"BTTTriggerTypeDescription" : "Standard Item",
"BTTTriggerClass" : "BTTTriggerTypeFloatingMenu",
"BTTPredefinedActionType" : 248,
"BTTPredefinedActionName" : "Named Trigger ausführen (Siehe "Andere Trigger" Sektion)",
"BTTGenericActionConfig" : "......Scrivener Suche "Mappe ein/aus"........",
"BTTNamedTriggerToTrigger" : "......Scrivener Suche "Mappe ein/aus"........",
"BTTUUID" : "7137F4E8-604C-477B-94C4-21681EBD9524",
"BTTEnabled" : 1,
"BTTOrder" : 6,
"BTTDisplayOrder" : 12,
"BTTTriggerName" : "Menu Item: no-name-7137F4E",
"BTTMenuItemActions" : [
{
"BTTLastUpdatedAt" : 1691744352.3550858,
"BTTTriggerType" : -1,
"BTTTriggerClass" : "BTTTriggerTypeFloatingMenu",
"BTTPredefinedActionType" : 281,
"BTTPredefinedActionName" : "Echtes JavaScript ausführen",
"BTTAdditionalActionData" : {
"BTTScriptType" : 3,
"BTTAppleScriptRunInBackground" : false,
"BTTTouchBarAppleScriptString" : "let variableName = 'buttonShouldBeGreen';\n let isGreen = await callBTT("get_number_variable", {variable_name: variableName});\n \n if(isGreen == 1) {\n \t\tcallBTT("set_number_variable", {variable_name: variableName, to: 0});\n\t\t\n\t\t const updateDescription = {"BTTMenuItemBackgroundColor" : "200, 0, 0, 170", "BTTMenuItemText": "Red"};\n \t\tawait callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to red');\n \n } else {\n \tcallBTT("set_number_variable", {variable_name: variableName, to: 1});\n\n \t const updateDescription = {"BTTMenuItemBackgroundColor" : "110, 190, 100, 200", "BTTMenuItemText": "Green"};\n \t\tawait callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to green');\n }\n})()\n",
"BTTTouchBarAppleScriptUsePath" : false
},
"BTTGenericActionConfig" : "let variableName = 'buttonShouldBeGreen';\n let isGreen = await callBTT("get_number_variable", {variable_name: variableName});\n \n if(isGreen == 1) {\n \t\tcallBTT("set_number_variable", {variable_name: variableName, to: 0});\n\t\t\n\t\t const updateDescription = {"BTTMenuItemBackgroundColor" : "200, 0, 0, 170", "BTTMenuItemText": "Red"};\n \t\tawait callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to red');\n \n } else {\n \tcallBTT("set_number_variable", {variable_name: variableName, to: 1});\n\n \t const updateDescription = {"BTTMenuItemBackgroundColor" : "110, 190, 100, 200", "BTTMenuItemText": "Green"};\n \t\tawait callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to green');\n }\n})()\n",
"BTTRealJavaScriptString" : "let variableName = 'buttonShouldBeGreen';\n let isGreen = await callBTT("get_number_variable", {variable_name: variableName});\n \n if(isGreen == 1) {\n \t\tcallBTT("set_number_variable", {variable_name: variableName, to: 0});\n\t\t\n\t\t const updateDescription = {"BTTMenuItemBackgroundColor" : "200, 0, 0, 170", "BTTMenuItemText": "Red"};\n \t\tawait callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to red');\n \n } else {\n \tcallBTT("set_number_variable", {variable_name: variableName, to: 1});\n\n \t const updateDescription = {"BTTMenuItemBackgroundColor" : "110, 190, 100, 200", "BTTMenuItemText": "Green"};\n \t\tawait callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})\n\n\t\t\n \treturnToBTT( 'changed to green');\n }\n})()\n",
"BTTUUID" : "42CC0779-0052-4F2F-B6EC-D9F7EF6553DE",
"BTTEnabled" : 1,
"BTTOrder" : 1120
}
],
"BTTMenuConfig" : {
"BTTMenuItemVisibleWhileActive" : 1,
"BTTMenuCategoryBackground" : 1,
"BTTMenuItemMaxHeight" : 26,
"BTTMenuItemBackgroundColor" : "108.442, 96.000, 190.435, 166.991",
"BTTMenuItemVisibleWhileInactive" : 1,
"BTTMenuItemBackgroundType" : 4,
"BTTLastChangeUUID" : "BFC968FF-6AC1-4527-B2C7-46BBD544E9C4",
"BTTMenuCategoryItemSizing" : 1,
"BTTMenuItemMinHeight" : 26,
"BTTMenuAttributedText" : "["Mappe ein\/aus",{"NSColor":"YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHyAnVSRudWxs1Q0ODxAREhMUFRZXTlNXaGl0ZVxOU0NvbXBvbmVudHNcTlNDb2xvclNwYWNlXxASTlNDdXN0b21Db2xvclNwYWNlViRjbGFzc0IxAEMxIDEQA4ACgAXUGBkaERscHR5UTlNJRFVOU0lDQ1dOU01vZGVsEAmAAxAAgARPERGcAAARnGFwcGwCAAAAbW50ckdSQVlYWVogB9wACAAXAA8ALgAPYWNzcEFQUEwAAAAAbm9uZQAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZGVzYwAAAMAAAAB5ZHNjbQAAATwAAAgaY3BydAAACVgAAAAjd3RwdAAACXwAAAAUa1RSQwAACZAAAAgMZGVzYwAAAAAAAAAfR2VuZXJpYyBHcmF5IEdhbW1hIDIuMiBQcm9maWxlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAAHwAAAAxza1NLAAAALgAAAYRkYURLAAAAOgAAAbJjYUVTAAAAOAAAAex2aVZOAAAAQAAAAiRwdEJSAAAASgAAAmR1a1VBAAAALAAAAq5mckZVAAAAPgAAAtpodUhVAAAANAAAAxh6aFRXAAAAGgAAA0xrb0tSAAAAIgAAA2ZuYk5PAAAAOgAAA4hjc0NaAAAAKAAAA8JoZUlMAAAAJAAAA+pyb1JPAAAAKgAABA5kZURFAAAATgAABDhpdElUAAAATgAABIZzdlNFAAAAOAAABNR6aENOAAAAGgAABQxqYUpQAAAAJgAABSZlbEdSAAAAKgAABUxwdFBPAAAAUgAABXZubE5MAAAAQAAABchlc0VTAAAATAAABgh0aFRIAAAAMgAABlR0clRSAAAAJAAABoZmaUZJAAAARgAABqpockhSAAAAPgAABvBwbFBMAAAASgAABy5hckVHAAAALAAAB3hydVJVAAAAOgAAB6RlblVTAAAAPAAAB94AVgFhAGUAbwBiAGUAYwBuAOEAIABzAGkAdgDhACAAZwBhAG0AYQAgADIALAAyAEcAZQBuAGUAcgBpAHMAawAgAGcAcgDlACAAMgAsADIAIABnAGEAbQBtAGEALQBwAHIAbwBmAGkAbABHAGEAbQBtAGEAIABkAGUAIABnAHIAaQBzAG8AcwAgAGcAZQBuAOgAcgBpAGMAYQAgADIALgAyAEMepQB1ACAAaADsAG4AaAAgAE0A4AB1ACAAeADhAG0AIABDAGgAdQBuAGcAIABHAGEAbQBtAGEAIAAyAC4AMgBQAGUAcgBmAGkAbAAgAEcAZQBuAOkAcgBpAGMAbwAgAGQAYQAgAEcAYQBtAGEAIABkAGUAIABDAGkAbgB6AGEAcwAgADIALAAyBBcEMAQzBDAEOwRMBD0EMAAgAEcAcgBhAHkALQQzBDAEPAQwACAAMgAuADIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAGcAcgBpAHMAIABnAGEAbQBtAGEAIAAyACwAMgDBAGwAdABhAGwA4QBuAG8AcwAgAHMAegD8AHIAawBlACAAZwBhAG0AbQBhACAAMgAuADKQGnUocHCWjlFJXqYAMgAuADKCcl9pY8+P8Md8vBgAINaMwMkAIKwQucgAIAAyAC4AMgAg1QS4XNMMx3wARwBlAG4AZQByAGkAcwBrACAAZwByAOUAIABnAGEAbQBtAGEAIAAyACwAMgAtAHAAcgBvAGYAaQBsAE8AYgBlAGMAbgDhACABYQBlAGQA4QAgAGcAYQBtAGEAIAAyAC4AMgXSBdAF3gXUACAF0AXkBdUF6AAgBdsF3AXcBdkAIAAyAC4AMgBHAGEAbQBhACAAZwByAGkAIABnAGUAbgBlAHIAaQBjAQMAIAAyACwAMgBBAGwAbABnAGUAbQBlAGkAbgBlAHMAIABHAHIAYQB1AHMAdAB1AGYAZQBuAC0AUAByAG8AZgBpAGwAIABHAGEAbQBtAGEAIAAyACwAMgBQAHIAbwBmAGkAbABvACAAZwByAGkAZwBpAG8AIABnAGUAbgBlAHIAaQBjAG8AIABkAGUAbABsAGEAIABnAGEAbQBtAGEAIAAyACwAMgBHAGUAbgBlAHIAaQBzAGsAIABnAHIA5QAgADIALAAyACAAZwBhAG0AbQBhAHAAcgBvAGYAaQBsZm6QGnBwXqZ8+2VwADIALgAyY8+P8GWHTvZOAIIsMLAw7DCkMKww8zDeACAAMgAuADIAIDDXMO0w1TChMKQw6wOTA7UDvQO5A7oDzAAgA5MDugPBA7kAIAOTA6wDvAO8A7EAIAAyAC4AMgBQAGUAcgBmAGkAbAAgAGcAZQBuAOkAcgBpAGMAbwAgAGQAZQAgAGMAaQBuAHoAZQBuAHQAbwBzACAAZABhACAARwBhAG0AbQBhACAAMgAsADIAQQBsAGcAZQBtAGUAZQBuACAAZwByAGkAagBzACAAZwBhAG0AbQBhACAAMgAsADIALQBwAHIAbwBmAGkAZQBsAFAAZQByAGYAaQBsACAAZwBlAG4A6QByAGkAYwBvACAAZABlACAAZwBhAG0AbQBhACAAZABlACAAZwByAGkAcwBlAHMAIAAyACwAMg4jDjEOBw4qDjUOQQ4BDiEOIQ4yDkAOAQ4jDiIOTA4XDjEOSA4nDkQOGwAgADIALgAyAEcAZQBuAGUAbAAgAEcAcgBpACAARwBhAG0AYQAgADIALAAyAFkAbABlAGkAbgBlAG4AIABoAGEAcgBtAGEAYQBuACAAZwBhAG0AbQBhACAAMgAsADIAIAAtAHAAcgBvAGYAaQBpAGwAaQBHAGUAbgBlAHIAaQENAGsAaQAgAEcAcgBhAHkAIABHAGEAbQBtAGEAIAAyAC4AMgAgAHAAcgBvAGYAaQBsAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAcwB6AGEAcgBvAVsAYwBpACAAZwBhAG0AbQBhACAAMgAsADIGOgYnBkUGJwAgADIALgAyACAGRAZIBkYAIAYxBkUGJwYvBkoAIAY5BicGRQQeBDEESQQwBE8AIARBBDUEQAQwBE8AIAQzBDAEPAQ8BDAAIAAyACwAMgAtBD8EQAQ+BEQEOAQ7BEwARwBlAG4AZQByAGkAYwAgAEcAcgBhAHkAIABHAGEAbQBtAGEAIAAyAC4AMgAgAFAAcgBvAGYAaQBsAGUAAHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTIAAFhZWiAAAAAAAADzUQABAAAAARbMY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB\/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI\/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg\/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv\/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN\/M7gz8TQrNGU0njTYNRM1TTWHNcI1\/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE\/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0\/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg\/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg\/aJZo7GlDaZpp8WpIap9q92tPa6dr\/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN\/hH\/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ\/opkisqLMIuWi\/yMY4zKjTGNmI3\/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ\/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln\/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum\/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7\/v3q\/9cBwwOzBZ8Hjwl\/C28NYw9TEUcTOxUvFyMZGxsPHQce\/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI\/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x\/nqegy6LzpRunQ6lvq5etw6\/vshu0R7ZzuKO6070DvzPBY8OXxcvH\/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x\/pX+uf7d\/wH\/Jj9Kf26\/kv+3P9t\/\/\/SISIjJFokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29sb3JTcGFjZaIlJlxOU0NvbG9yU3BhY2VYTlNPYmplY3TSISIoKVdOU0NvbG9yoigmAAgAEQAaACQAKQAyADcASQBMAFEAUwBaAGAAawBzAIAAjQCiAKkArACwALIAtAC2AL8AxADKANIA1ADWANgA2hJ6En8SihKTEqASoxKwErkSvhLGAAAAAAAAAgEAAAAAAAAAKgAAAAAAAAAAAAAAAAAAEsk=","NSParagraphStyle":"YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwVVSRudWxs1A0ODxAREhMUWk5TVGFiU3RvcHNbTlNBbGlnbm1lbnRfEB9OU0FsbG93c1RpZ2h0ZW5pbmdGb3JUcnVuY2F0aW9uViRjbGFzc4AAEAIQAYAC0hYXGBlaJGNsYXNzbmFtZVgkY2xhc3Nlc18QF05TTXV0YWJsZVBhcmFncmFwaFN0eWxloxgaG18QEE5TUGFyYWdyYXBoU3R5bGVYTlNPYmplY3QACAARABoAJAApADIANwBJAEwAUQBTAFcAXQBmAHEAfQCfAKYAqACqAKwArgCzAL4AxwDhAOUA+AAAAAAAAAIBAAAAAAAAABwAAAAAAAAAAAAAAAAAAAEB","NSFont":"YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGkCwwVFlUkbnVsbNQNDg8QERITFFZOU1NpemVYTlNmRmxhZ3NWTlNOYW1lViRjbGFzcyNAKgAAAAAAABEEEIACgANfEBIuQXBwbGVTeXN0ZW1VSUZvbnTSFxgZGlokY2xhc3NuYW1lWCRjbGFzc2VzVk5TRm9udKIZG1hOU09iamVjdAgRGiQpMjdJTFFTWF5nbnd+hY6Rk5Wqr7rDys0AAAAAAAABAQAAAAAAAAAcAAAAAAAAAAAAAAAAAAAA1g=="}]",
"BTTMenuItemIconColor1" : "255.000000, 255.000000, 255.000000, 255.000000",
"BTTMenuItemMinWidth" : 100,
"BTTMenuItemMaxWidth" : 120,
"BTTMenuItemDisplayOrder" : 12,
"BTTMenuElementIdentifier" : "no-name-7137F4E"
}
}
]

Try to replace your script with this:

(async () => {
let itemUUID = "7137F4E8-604C-477B-94C4-21681EBD9524";


let variableName = 'buttonShouldBeGreen';
 let isGreen = await callBTT("get_number_variable", {variable_name: variableName});
 
 if(isGreen == 1) {
 		callBTT("set_number_variable", {variable_name: variableName, to: 0});
		
		 const updateDescription = {"BTTMenuItemBackgroundColor" : "200, 0, 0, 170", "BTTMenuItemText": "Red"};
   		await callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})

		
 	returnToBTT( 'changed to red');
 
 } else {
 	callBTT("set_number_variable", {variable_name: variableName, to: 1});

 	 const updateDescription = {"BTTMenuItemBackgroundColor" : "110, 190, 100, 200", "BTTMenuItemText": "Green"};
   		await callBTT('update_menu_item', {"item_uuid": itemUUID, "json": JSON.stringify(updateDescription)})

		
 	returnToBTT( 'changed to green');
 }
})()

Thank you, Andreas! That works ... with a small error.

The text changes immediately after clicking. But the color changes only when I move the mouse over the button again, without clicking. Can this be adjusted? :pray: