This version is out of date, covering development from v9.5.0 to v9.7.3. It is maintained here only for inbound reference links from elsewhere. It is no longer actively updated.

Jump to the current version of aTbRef

Tinderbox v9 Icon

Pattern: bar(30)

Pattern: bar(30)

Note that this pattern cannot be set via the Interior Inspector, use the Plot Inspector. The pattern requires configuration via its arguments. This pattern can be used in shaped notes.


This draws as a horizontal 'progress bar', using $Color and $AccentColor. The 'progress' block is drawn in $AccentColor. These colours are set via the Interior Inspector.

The arguments work this way:

  • value. If used alone it is a percentage, otherwise it is a value between min and max with the bar being set using value as a percentage of max-min (which must thus be specified). Thus bar(25) is the same as bar(37.5,25,75).
  • min & max. Numerical minimum and maximum values for computing the degree of 'progress' represented in $AccentColor by value. Both arguments may be negative numbers; if min is not supplied, a value of 0 is assumed and negative attribute values are plotted as if zero.
  • target. The target represents a nominal or desired result. For example, if normally writing between 0 and 4000 words on any given day, it might be useful to set a target at 1500 words/day. If setting a target, a min and max must also be set. The target line is drawn in a dashed link alternating $PlotColor and either $Color or $AccentColor) whichever is the current background colour in the position of the target line.

The arguments in the brackets may be numbers or expressions that can be evaluated as numbers. As $Pattern is a string argument, remember to enclose the statement in quotes so the program coerces the output to a string. If a note's $Width is 3.0, then


is the same as writing


Note that if the value to be use is an action code variable, a slightly different encoding is needed to ensure the value and not the name of the variable is used. Here, our progress percentage is in a variable 'vPercent':


or more accurately:


… though both forms seem to work - use which ever feels more intuitive.

If the pattern is written without arguments or brackets, it evaluates as if at 50%, e.g. bar() and bar are the same as bar(50).

The same pattern can be rendered on a vertical access using the vbar() pattern.

Use in Note flags

From v9.5.2, this pattern expression can also be using in $Flags to make progress bar note flags in Map and Outline views.