This menu for String, Number, List and Set displayed attributes allows you to pick any already-used string [sic] attribute value from a list when that attribute is displayed as a Displayed Attribute in a text pane or window. The list is created dynamically and is only shown for String, Set and List data type attributes (unless they are (system) read-only fields).
What is in the list?
For a the selected attributes, the list shows all the values in use in the document, i.e. a de-duplicated list of all the unique (case-sensitive) values used for the attribute across the whole document. This means used values of "ant", "Ant", and "ANT" will all have discrete entries in the list.
For List and Set type attributes, the list shows all discrete values not just the lists of values. Thus if a note has a value "ant;dog" the value list will show "ant" and 'Dog" as separate list items.
For all types, the sort order is case-sensitive lexical sort (locale dependent). The list is sorted so as to assist rapidly finding the correct item in the list.
Note that in the case of List-type only the pop-up is list is sorted and this does not affect actual attribute values which retain their es-entered sort order and allow duplicate values
Selecting from the list
For a String, the clicked value replaces the existing value. For Sets and Lists only, clicking a listed value toggles it. The value is added unless the attribute note's already has that value, in which case it is deleted.
The 'normal' value listed separately at the top of the menu resets the default value for that attribute (or set).
Ticks in lists for Set-type attributes
Set-type attributes, and only Set-type, show a tick against all values in the list that occur in that attribute's value for the current note.
Using the list to find wrong-cased or misspelt values
As attribute values are stored case-sensitively, use an agent to help hunt down notes with incorrect spelling/case for values. Use the == equality operator for the query as this is inherently case-sensitive. Using .contains() you need to explicitly set case sensitivity although it is 'on' by default, or use .icontains().
Length of values in the list
Individual listed values are truncated at 31 characters. Values longer than that must be entered manually. Value listings can be as long as 255 characters ($Text is an exception)
Size of the list
There is a limit to the number of values for which a list will be created; the current default is 999. Where this value is exceeded, the pop-up shows the first 999 values (assumed to computed from reading notes in $OutlineOrder).
The section below was relevant back when the list maximum size was originally set to 99. The current 999 size means a further higher setting is unrealistic, but a mechanism exists so to do.
Legacy. In the rare context, such as very large projects, constrained by the default list size limit, it is possible to set a higher limit by using a custom config.xml with a new
value. If doing this and setting very high limits do watch for adverse performance affects and be prepared to reduce the custom limit if so.