# 6.2.0

HIGHLIGHTS

- Import and Export are simpler, yet also provide more flexibility. A variety of new Export tools let you export your work to familiar formats instantly, while the flexible template-based approach remains for demanding export needs.
- Map performance has been substantially improved.
- A new feature, Edicts, allows you to establish low-priority rules for automatic housekeeping.
- Badges can be larger, and can be emoji or other characters.
- Text can contain lists and tables.

This release is recommended for all Tinderbox Six users.

Actions

The designator child[-1] designates a note’s youngest child. child[-2] designates the elder sibling of the youngest child. (1292)

runCommand passed MacRoman to the command line arguments, not utf8 (1301)

In agents, that is now bound to the examined note both when the query is evaluated and also when the action is performed. Previously, that was not bound for the action.

A new attribute $ImageCount in the Textual category reflects the number of images in the note’s text.

Date formats: new format code U formats the data in Unix style (seconds since January 1, 1970) (1319)

Explode: the explode popover adds an Action field which lets you enter an action to be applied to each exploded note.

Added a new attribute group, Sandbox, to hold several attributes useful for testing and experimentation: MyString, MyNumber, MyList, MySet, MyBoolean, MyColor, and MyDate.(1331)

The attribute $Bend replaces the former attribute $LeafBend. The former attribute continues to work as before but the old name is deprecated. (1355)

Convenience

In outlines and other views, ctrl-Return creates a new note as the elder sibling of the selected note.

Tinderbox now recognizes additional abbreviations of days of the week. For example, in English the four-letter abbreviation “Thur” is now recognized for “Thursday.” (1238)

During long exports, both ⌘-period and Esc cancel the operation. MapItemController has been intercepting the cancellation. (1326,1327)

The tooltip for the text pane note title field is the full path to the note. If the note is an alias, the tool tip shows both the path to the alias and the path to the original note. (1350)

Better behavior for page-up/down (fn-up-arrow and fn-down-arrow) in outlines. (1306)

Support for home/end keys ( ⇧-fn-up-arrow and ⇧-fn-down-arrow) in outlines.

Edicts

A new action attribute, Edict, lets you specify housekeeping actions that do not need to be updated frequently. Edicts are performed soon after a document is opened, and then are updated at intervals of approximately one hour. Edicts are especially useful for chores like archiving obsolete notes which only need to be performed occasionally. (1214)

A new intrinsic Boolean attribute, EdictDisabled, allows you to disable Edicts associated with a note. Often, EdictDisabled will be used when a prototype has an edict to be inherited by its instances, but you don’t want the edict to apply to the prototype itself.

A new pane in the Action Inspector permits you to view, edit, and enable edicts.

The Agents and Rules pane of the Tinderbox Inspector now reports the edict count and the interval since the most recent edict update. (1393)

Export

Export has been extensively revised to provide simpler access to common export formats.

Export Templates: a folder “templates” is now created in the Application Support folder to hold export templates that are to be shared among files. Shared templates are stored as text files in this folder, and may be added to any document by selecting the file from File ▸ Built-In Templates. If a template with that name already exists, the template’s text is replaced with the text of the template file. (1300)

Extensive changes to export, which may now be a bit faster. Export is now performed in the background; in principle, you can continue working during export.

Backed out changes to make export more massively parallel, because the export context (including binding of this) is shared by the hypertext and so isn’’t thread safe. Added an issue to explore this.

Export now uses a progress indicator built into the main window. Enjoy this; it was a bear.

Export commands moved to a submenu of the file menu.

Export ▸ As OPML exports the entire document as an OPML file, adding the built-in OPML templates if necessary.

Export ▸ As Outline exports the entire document to a text file, presenting the display name of each note in a tab-indented outline.

Export ▸ As Rich Text exports the entire document as an rtf file, including titles (treated as headings) and the text of each exported note (exported as styled text).

Export ▸ As Rich Text (no titles) omits note titles.

Export ▸ As .doc File exports the entire document in Microsoft Word format, including (treated as headings) and the text of each exported note (exported as styled text).

HTML Export can be cancelled (at last!) by pressing ⌘-period or Esc while the keyboard focus is in the map pane.

Export Selected Note has been rewritten to use the standard save dialog.

A new export method Export ▸ Attribute Browser exports each attribute browser category and the notes it contains.

$HTMLFileNameLowerCase now defaults to false; in previous Tinderbox Six releases it defaulted to true.

Export commands for .doc export are now enabled from the text pane as well as the view pane. (1318)

RTF/Word Export: changed titles from 24pt to 18pt.

Added an option sheet for export, permitting us to consolidate RTF, doc, and text export into a single menu choice.

The new option sheet for Export now allows you to choose to export the entire document or only the selected notes. (1317)

Export: OPML export is now an option in the Text export sheet, rather than its own menu choice.

Export: added an option to export plain text.

Export: added an option to export to Scrivener.

Export: title size is adjustable.

The standard Save panel displayed by the HTML Inspector’s Export To button can now create folders.

The label of the Export To button is now correctly placed.

Fixed links in Tinderbox Help:Export

HTML Export: conditional evaluation of the existence of notes ( …. ) always returned true; it now returns false if the designated note doesn’t exist.

HTML Export: conditional evaluation of the existence of notes will now work with designators. will be true if this note has a nextSibling, false otherwise.

Single note export now sets the initial export location to the note’s expected export folder. Formerly, the export location was set only of the file already existed.(1325)

Smart Dashes and Smart Quotes are both implicitly disabled (again) in templates.

Import

Tinderbox now imports .webarchive files. On import, the $URL of the imported note is set to the URL of the archive’s main resource, and Tinderbox takes a rough stab at extracting the styled text to the imported note. (1307)

XML-parseable text files, such as many html page templates, failed to import because they are mistaken for malformed OPML. Now, files with text or txt extensions will never be checked for parseability. (1303)

AutoFetch now imports styled text extracted from the target URL, rather than importing raw HTML.

If Tinderbox is asked to parse an invalid OPML file, it leaves an error notice in the text of the imported note. (1302)

.md, .mmd, and .markdown files are now imported as text.

Tinderbox now accepts file drops of .tsv files (tab-separated values) (1332)

When Tinderbox supports tab-separated tables (including drags from spreadsheets), cell values that are surrounded by straight quotes have the quotes trimmed. (1332)

Inspectors

Quickstamp: the search field now offers autocompletion (1377) and updates the current value on selection when a completion is chosen (1243).

Applying a Quickstamp immediately updates the key attributes table, allowing faster feedback. (1254)

In the User Attributes pane of the Document Inspector, if you try to name or rename an attribute with a name beginning with ‘$’, the ‘$’ is ignored. Previously, this was treated as an error. (1298)

The Tinderbox Inspector’s Agents and Rules pane now indicates that automatic agent updates have been disabled.(1321)

The System Attribute pane of the Document Inspector now indicates when the selected attribute is intrinsic. (1357)

Name and Caption inspector: alignment terms are no longer capitalized. (1373)

The missing “font” type now appears in its place in the User attribute type list. It is disabled, as only system attributes can usefully hold fonts. (1369)

Closing a document no longer closes the Inspector if some other document remains open. (1367)

The Text Inspector’s Text panel now correctly reflects the note’s paragraph spacing; formerly, it was off by one. (1371)

Maps

Substantial improvements in scrolling speed, both for mouseWheel scrolling and grabby hand scrolling. Links in complex maps are automatically hidden during scrolling to improve performance.

The tendency of the map view to “jump” after creating new notes in sparsely-populated views has been reduced.

Breadcrumb bar appearance and removal is animated, breadcrumb titles are positioned more neatly.

Link labels were truncated at scales after increasing the magnification of the map, because the cached link widths were note cleared.

Labels for curved links were placed as if the links were linear; the new label placements should be somewhat better.

Agents now have a summary table widget at all times, even if they have no children. Formerly, agents with no children did not display the table widget. (1256)

Emoji and other unicode characters may now be used as badges. In place of the badge name, set $Badge to the unicode character to be displayed in the badge area. Best results will generally be obtained with $BadgeSize of 32 or greater.

Shrink To Fit was far too conservative in using the available width and height of the note. (1330)

If a smart adornment has a subtitle, the layout algorithm now allows space so the subtitle will not be completely obscured.

Better selection of link pads when note edges nearly overlaps, especially when large notes are closely spaced.

Somewhat better map printing.

Smart adornments allow a little extra space beneath the title so that notes do not crowd title descenders.

Maps: when clicking in the interior of containers, Tinderbox failed to make proper allowance for the Title bar, which displaced the click target for the note from the note’s image. (927)

Outlines

In outlines, ⇧-PageUp (⇧-fn-upArrow) moves to the first item and ⇧-PageDown (⇧-fn-downArrow) moves to the last item.

Double-clicking in the background beneath an outline adds a new note as the youngest child of the parent, not the eldest.

Improved drawing of agent icon in outlines. (1375)

Text Pane

Added Table… and List… commands to the Format ▸ Text menu, providing panels to insert tables and lists in the text pane.(1379)

Using Check Spelling While Typing in the text pane should now update both $NoSpelling and the current text behavior immediately. (1281)

Tinderbox text panes now save and respect line spacing, paragraph spacing, list styles and tabs set in the ruler. (1245, 1271)

When $ParagraphSpacing is used, half of the spacing is now applied before the paragraph and half is applied after the paragraph. Previously, the entire spacing was applied after the paragraph. (1251)

Text: Tinderbox 5 documents opened with a fixed right margin, which is unhelpful in Tinderbox 6.

The text pane’s contextual menu displayed inappropriate link-editing options when right-clicking on a text link. These options no longer appear, and are replaced by Browse Links. (1362)

Text again observes $LineSpacing and $ParagraphSpacing throughout the text, overriding local changes from the ruler.

Scrolling the text pane and then activating it with a click no longer scrolls the text pane to the start. (This was a side-effect of the ruler update workaround.)

Miscellaneous

(Internal) DirectoryList, which is used by the badge picker, built-in templates and built-in prototypes, now automatically skips all files with the .xml extension. The special file manifest.xml is read, parsed, and may be used to provide configuration information about the directory.

(Internal) The optional manifest.xml file may be added to user badge directories as well as built-in badge directories. It has the form:

1 0

If monochromatic is not zero, choosing a badge from this family will set $BadgeMonochrome to true and the badge will be drawn differently against a dark background color. If oversize is not zero, $BadgeSize will be set to its value.

HTML Pane: If a note has no template, and the HTML pane is visible but the divider is dragged to hide it, the divider width formerly popped back to reveal the pulldown menu that allows the user to select a template. The layout had been coaxed to permit the pane to remain completely hidden. (1257)

In some cases, deleting all the text of a note, deselecting, and then reselecting the note left the text pane typing attributes set for Helvetica 12. The typing attributes in this case are now restored to the note’s default text font. (1304)

A specific note – originally imported from email – crashed when attempting to render it into HTML. (1308)

Console messages “CoreAnimation: warning, deleted thread with uncommitted CATransaction…” were traced to attempting to mark the document as edited from a secondary threat. TbxDocument’s setModified now uses the main thread.

TbxDocument’s setModified: no longer launches an asynchronous task if the task won’t change the then-current value of isDocumentEdited.

When importing an OPML file that isn’t valid OPML, Tinderbox now identifies the line where the parser failed in the text of the imported note.

Avoid crashing when a selecting a malformed color scheme in Document Settings:Colors.

Rewrote tbxMapValet’s restoreItemOrder for more efficiency, allowing us to maintain the z-ordering of items even during scrolling.

When stamps are applied to a large number of notes, a progress indicator appears.

Views: when editing a view title, pressing ESC cancels the editing session. If the note was previously untitled, it is deleted; otherwise, the note’s title returns to its previous title.

Get Info should again be available in Mavericks when an item is selected and the item has the focus. (1329)

Corrected right margin handling when saving.

Browse Links: when examining links from an alias, Browse Links now list text links from the original note, since aliases share that original’s text and text links. (1328)

In Document Settings ▸ Maps, the Interior Scale slider displays its current value, and updates that value as it is moved. (738)

The subtle gradients of the bezel border are suppressed when printing and copying images, since Quartz renders translucent gradients incorrectly when drawing offscreen.

Format ▸ Style ▸ Black (^⌘-5) now restores the color to the note’s text color if the text color is not black.

Outline text heights were measured incorrectly for notes where $OutlineTextSize was not 100% (1294)

Clarified what “Link to Selected Text” does by setting its title to reflect the selected text. If the text selection is “Arkansas” and the note Arkansas exists, the menu title becomes Link to “Arkansas”.

Legacy documents with a border bevel of “normal” are now treated as having a border bevel of “automatic” in the Appearance inspector.

Links are refreshed after drag-scrolling a map view, since they may have been suppressed during drag-scrolling for better performance.

Fixed a distracting animation artifact in maps when snapping a note to a guide changed both the mapView bounds and the position of the dragged note.

New compiler and SDK release, requiring various updates to remove deprecated idioms.

Corrected layout of Get Info URL pane. (1374)

If, after editing the name of a note in outline, you click into the text pane to close the edit session and begin revising the text, the text pane’s title field was not updated to reflect the changed name. (1370)

Roadmap: shortcut changed to ⌘⌥⇧-R

Adjusted background color appearance in roadmap tables.

Corrected a problem when creating macros, in which the newly-named macro would not be selected for editing (1372)

Menu item: Window ▸ Toggle Full Screen (1364)

Agent with a cleanup action of “none” or “” retain their map layout. Previously, the layout lost when the file was reloaded. (1378)

Revise mouseUp in expand widget to ensure that the scrollable viewport grows after the expand. We failed to cancel the potential drag before updating the view frame, causing scrolling to sometimes appear “sticky”. (1381)

Browse links: links to aliases are now italicized. (1382)

Badge picker: Extra “blank” items arising from system files hidden from the finder are no longer displayed. (1383)

Edit ▸ Make Alias creates an alias as the sibling of the selected note. Previously, the alias was created as a child of the parent note of the view. (1389)

The HintView’s illustrative tab arrow has been moved leftward to avoid hitting the splitter bar. (1392)

Explode has been revised to reliably delete delimiters. (1394)

Browse Links handles multiline text link anchors more gracefully. (1397)