Stacks API

Come build with us.
Stacks API v11 for Stacks 4.0


Popup Menu — select

This content is open source. You can edit it and submit a pull request on GitHub.
This page is generated from this file.

© . YourHead Software all rights reserved.

Popup Menu — select

Available: Stacks API v3

A popup menu for selecting a single item from a short list. Popup menus are a good way to choose from a short list of items. If there are only two items in the list a checkbox is probably more appropriate. If the list of items is long (more than 15 or so) then it may be more appropriate to just ask the user to type in the value in a Text Input field.

Menu Items

The menu items to be displayed. These are specified in an array of menu item dictionaries. Each dictionary contains a Title/Value pair. The title will be what the user sees. The value is what gets used in templates.

Default Value

When the stack is placed onto the page the default value will be used. If no default is provided, the first menu item will be selected.

The default value for a menu should correspond to one of the Value properties from the Menu Items array (not the Title property).

Clear Value

When all the content is cleared out of a text input area (the user deletes all the text), the control will automatically fill with this value. This is useful for applications where a non-empty string is required.


The ID for this control. This ID must be unique within this stack. The ID is used to refer to control’s property. IDs should be alpha-numeric (dashes and underscores are allowed), but should not contain special characters.


The title displayed next to the control. Long titles will be truncated, so keep it short.


Hide or show the control based on the value of another property.

Enables allow a stack to show only the controls needed by the user to achieve a specific task.

The enable dictionary defines the ID of another control and the value that other control must equal. When the other control’s value is not equal to the provided value, this control is hidden.

Enable Dictionary

Enable Operations

Warning: creating infinite loops in enable dependencies has undefined behavior. It will likely result in a RapidWeaver crash.

NB: macOS does not specify the wildcard characters available or how they function. * and ? clearly work as they do in a UNIX shell. you’ll just have to guess at the rest.

Tool Tip

The tooltip value is used to display hints for the user on the use of each control. If the function of the control is obvious, then a tooltip should be avoided. Simply re-displaying redundant information like the title has no value to the user.


Subtitles are displayed under the control. Subtitles are unique for each item in a control array. You should provide one for each item in the control array. In the plist the subtitles should be an array of Subtitle strings. Note that some controls have very little space, so only very short subtitles can be used.



The scope of a property can be set to bind to the page instead of each stack. Binding a property to the page-scope means that the values set by this control will be shared between all stack-instances on the page.



Inheritance allows one stack to pull in the controls and properties of another stack. All of the controls from the specified stack are pulled in to the current stack. The inherited controls will be ordered as if they were they were first in the plist customItems array. The value should be the ID of the stack to inherit from.

© . YourHead Software all rights reserved.