Documentation about toolbars

I was browsing the docs, reached the https://tiddlywiki.com/#Editor%20toolbar , went down the rabbit hole and learned more about toolbars. Below are my written findings, which I’m posting here for the following reasons:

  1. I get a free backup of my private offline note

  2. There are a few things I expected to find in the docs, but I didn’t.

  3. I want to fact check what I learned, to make sure I didn’t get anything wrong.

  4. Even if this info passes stage 3, I can’t submit a formal GitHub pull request for docs (for multiple reasons).

After reading [[Editor toolbar]] , I ran a search and found that there’s no [[Toolbar]] (or [[Toolbars]]) documentation tiddler. below is an attempt to write such a tiddler:

[[Toolbars]]

--- snip ---

Toolbars are GUI widgets consisting of visual elements.

There are multiple toolbars in TiddlyWiki, their "building blocks" can be static, like icons, or full-featured clickable buttons that can perform actions.

Toolbars are built dynamically, so they are customisable. The general idea is to have a tiddler containing the toolbar element (either the icon or the button) and attach a special tag to it, so TiddlyWiki will treat it like a part of a particular toolbar. A particular case of creating a button (particular, because it focuses on a certain toolbar) is documented in [[Creating new toolbar buttons]] (see Note 1.)

Toolbars can be customised from `$:/ControlPanel -> Appearance -> Toolbars`. Each toolbar has its own tab, where its elements are listed. There's a checkbox for each element, which allows toggling its visibility. Elements can be reordered by dragging them around in the list.

According to `$:/ControlPanel -> Appearance -> Toolbars`, there are the following toolbars in TiddlyWiki:

# [[Page toolbar]]
# [[View toolbar]]
# [[Edit toolbar]]
# [[Editor toolbar]]

(see Note 2.)

--- /snip ---

[[Page toolbar]]

--- snip ---

According to https://groups.google.com/g/tiddlywiki/c/IqDGCE1d594/m/SRf3dKg6BAAJ , the "Page Controls" buttons at the top of the Sidebar, just above the Search field, form the Page toolbar. Unlike other toolbars, the Page toolbar is not bound to a particular tiddler - it performs "global" wiki actions like creating a new tiddler, saving the whole wiki etc.

The buttons of the Page toolbar are tagged with the `$:/tags/PageControls` tag. (see Note 3.)

--- /snip ---

[[View toolbar]]

--- snip ---

Tiddlers in  [[Story River]] have two states: they can be opened in "read-only", view mode, or in edit mode, where their content can be modified (then the changes can be saved). The View toolbar is placed in the right upper corner of a tiddler opened in view mode. The buttons of the View toolbar are tagged with the  `$:/tags/ViewToolbar` tag.

--- /snip ---

[[Edit toolbar]]

--- snip ---

The Edit toolbar is similar to [[View toolbar]]. It has the same placement (upper right corner) for tiddlers opened in edit mode. The buttons of the Edit toolbar are tagged with the  `$:/tags/EditToolbar` tag.

--- /snip ---

[[Editor toolbar]]

--- snip ---

When a tiddler is opened in edit mode, it contains a text area that allows modifying its `text` field. That text area has ''its own'' toolbar - the Editor toolbar. The buttons of the Editor toolbar are tagged with the  `$:/tags/EditorToolbar` tag. (see Note 5.)

--- /snip ---

Notes:

1. [[Creating new toolbar buttons]] mentions [[ViewToolbar]], which does not exist. [[EditToolbar]] does not exist either. [[EditorToolbar]] (which is not the same as [[EditToolbar]] ) does not exist as well. Yet [[Editor toolbar]] exists, but its name is not consistent with the `$:/tags/EditorToolbar` tag. Perhaps [[Creating new toolbar buttons]] should link to [[View toolbar]] instead, and those missing tiddlers should be named [[View toolbar]] and [[Edit toolbar]], so they could be consistent with the already existing [[Editor toolbar]]?

2. The order of toolbars was deliberately changed compared to Control Panel (where they seem to be ordered by name), to achieve a more structurally logical introduction of them.

3. `$:/tags/PageControls` looks like a naming inconsistency. Compare it with other toolbar tags: `$:/tags/ViewToolbar`, `$:/tags/EditToolbar`, `$:/tags/EditorToolbar`.

4. It is not clear if the end user should be referenced here to the "Draft" naming convention and the subtleties of tiddler editing mechanism.

5. The appearance of the [[SystemTag: $:/tags/EditorToolbar]] tiddler is not consistent with the [[SystemTag: $:/tags/ViewToolbar]] and [[SystemTag: $:/tags/EditToolbar]] tiddlers - unlike those, the `caption` table column is missing button icons and only contains the text caption.
1 Like

Good catch!

I actually suspect that some earlier documentation got dropped along the way. See how there’s a missing link to ViewToolbar here…?

https://tiddlywiki.com/#Creating%20new%20toolbar%20buttons

I agree that an overview of toolbars — including what they have in common, how to modify them, and how they harness transclusion — would be a great addition to documentation.

Could it be that these missing links are all CamelCase automatic links? At least it’s the case for ViewToolbar on https://tiddlywiki.com/#Creating%20new%20toolbar%20buttons

Fred

Good point! Since I always disable camel-case linking, I easily forget.

I think missing links are distracting and/or disconcerting to anyone looking through documentation, so it would be ideal to go through and create tiddlers for things like ViewToolbar, or give it the ~ treatment if it needs to be there, camel-casey, but without pointing to anything…