Best way to establish project wide bindable color directory

I’m creating a fairly small project. However, It will be one that will be repeated several times throughout the years. I’d like to learn a way to create a single color directory in which I can easily change the following:
running indication color
stopped indication color
alarm indication color
general equipment color
etc.

Every template that I’m creating will have those custom properties. However, right now I’m having to bind each of those to it’s parent window. That does the job, but I have to do that for each window. Is there a way to bind these properties to a master color directory that will span throughout all windows of a project?

Create client tags with the static colors you need, and bind your color properties to those tags. Client tags are part of the project, not the gateway, and will therefore be portable. And you could copy the project and change its colors without disturbing the other.
Static client tags create no runtime processing load once any given window is opened/cached.

Thank you for that suggestion. I created a client tag, however “color” is not an optional data type. Could you suggest a way that I could assign a color value to this tag?

You can create a string and use the RGBA format or hex format. So the value of a client tag will be something like: 172,172,0,217 or ACAC00D9 for a semi-transparent baby-poop yellow color. You can bind colors directly to strings in these formats.

So that’s the trick! I kept trying a similar approach, only using a double int instead of a string. Thanks so much!

This might clarify: toColor(). If you give Ignition a string when it expects a color, it implicitly casts the data type using its internal rules.

For global colors, I started doing something similar, but defining constants in global scripts vs. tags.