Stamps are a method for manually applying action code to the currently selected item(s) in the view pane of the front document. If multiple items are selected, every item in the selection discretely has the same action code run upon it.
Stamps are action code 'expressions', i.e. one or more complete action(s) to be effected by the code. The concept of a stamp allows easy (manual) application and re-use of such code. They enable the user to:
- set many attributes at once. For example, a stamp with two discrete expressions to set a colour ($Color) and, separately, a badge ($Badge):
- use conditions, shell scripts and macros for more complex tasks. For example, conditionally (an if() operation) set or clear a warning badge ($Badge) based on evaluating if a task's due date has passed ($DueDate):
Stamps are defined/edited via the Stamps tab of the Document Inspector. Stamps can be called by:
Stamps are essentially an entirely manual way to apply actions that might otherwise equally well be effected automatically via rules, edicts, OnAdd events, or agent actions. Stamps are thus useful for when a known change needs to be made to some attributes but the scope or timing of such a change cannot easily be predicted or automated and so manual application is the best method.
If stamps are just being used to easily apply a consistent look and layout to notes, consider using prototypes instead for the greater flexibility they offer when you subsequently need to make changes.
A document's stamps can be used in any action (AgentAction, Rule, Edict, DisplayExpression, OnAdd, HoverExpression, TableExpression and ^action()^).
The stamp is called as an expression containing only the name of the stamp. The name is case-sensitive. Do not enclose it in quotes or Tinderbox will read it as a literal string (i.e. actual text). It must be terminated with a semicolon is followed by another expression. However, it is a good idea in this particular case of always using s semi-colon to help indicate your intent to the app.
The stamp name may be enclosed in quotes; unquoted and quoted forms both work. For a stamp called 'A test', the action would be be:
The same stamp called, but now as one of 3 discrete expressions within an action:
From v8.2.1, the Stamps menu supports hierarchical organisation of stamps. To group stamps, include a colon in the stamps title:
This will cause the Stamps menu to add a group named 'Colour' and with submenu for the groups members, e.g. 'red border'. This method allows organising groupings of related stamps without creating unwieldy menus. Stamps cannot be nested more deeply than groups, i.e. 1 level of nesting. Group names are case-sensitive, so 'Colour Map:blue' and 'Colour map:green' would list in separate groups.