Color Picker¶
Color Picker fields allow your user to choose a color value. For example, you might provide a method for a user to select a color for an RGB LED device. When the user clicks the color button, Indigo will open the standard macOS color selector dialog.

Attributes
| Attribute | Required | API Version | Notes |
|---|---|---|---|
alwaysUseInDialogHeightCalc |
No | 1.0 | For dialogs that contain hidden controls (see visibleBindingId and visibleBindingValue below), setting this attribute to true will force Indigo to take hidden controls into account when initially sizing the dialog box. This is useful when hidden controls become visible based on user input. |
enabledBindingId |
No | 1.0 (1.9) | If you want to conditionally enable/disable this field based on the value of a checkbox, set this value to the id of that field. API v1.9: You can also bind to a list field and this field will only be enabled if something is selected in the list. |
enabledBindingNegate |
No | 1.9 | Set this to "true" to negate the binding. So if the target binding field’s value is true then the binding will be false. |
id |
Yes | 1.0 | This is a unique identifier for this Field within the context of this ConfigUI element. |
type |
Yes | 2.0 | This must be colorpicker. |
visibleBindingId |
No | 1.0 | If you want to conditionally show/hide this field based on the value of another field, set this value to the id of another field. If you set this, you must also include a visibleBindingValue |
visibleBindingValue |
No | 1.0 | If you specify a visibleBindingId, you must specify the value(s) here. For instance, if you are binding to a checkbox, setting this to false will mean the menu field is visible only when the checkbox is unchecked, and a true means the opposite. To make the field dependent on another list or menu, set this value to a comma separated list of option values (item1, item2). You can even bind it to the value in a text field, but that’s probably of limited use. Note: the string comparison is a contains - so if any option contains the specified string it will match. This offers some extra flexibility in defining dependency groups. |
<Field id="exampleColorPicker" type="colorpicker" tooltip="Click this button to select a color.">
<Label>Color:</Label>
<CallbackMethod>ColorPickerPressed</CallbackMethod>
</Field>

After the user selects a color, the color’s value will be passed back to your plugin as a values_dict value when the user executes/closes the configuration dialog. Note that the value provided is a standard RGB value as a space-delimited string. You are responsible for converting that value into the format you need like #8000FF.
Aside from the standard Label element, the colorPicker field also contains one other required element--the CallbackMethod element--which contains the name of a Python method in your code that’s called when the user executes your configuration dialog.