Plugin: Whereabouts - Always show the current notebook next to the note title

Joplin shows the notebook a note belongs to only in search, tag and "All notes" views. I wanted it on every note, so I wrote Whereabouts.

It adds a small chip with the notebook name (or the full path, "Lab / Joplin") next to the title. Four placements: its own row under the title, that row with the title-bar icons moved down so the title gets the full width, inline right of the title, or first item of the editor toolbar. Left-click selects the notebook and keeps the note open, double-click reveals the note in the list, right-click opens the move-to-notebook picker. It can hide Joplin's own "In: …" pill so nothing appears twice.

Limitations, honestly: desktop only, and it needs the Markdown editor mounted (split and viewer-only layouts work, the Rich Text editor does not), because the title bar is not reachable through the official plugin API. Joplin 3.7 or newer; tested on 3.7.14.

It is on npm as joplin-plugin-whereabouts and should appear in the plugin list soon. Until then the .jpl is on the releases page: GitHub - pmslava/joplin-plugin-whereabouts: Joplin plugin: always shows the current notebook next to the note title; click to filter, double-click to reveal, right-click to move · GitHub

Feedback and issues welcome :slightly_smiling_face:

I see one of the options is including the notebook in the editor bar. For that option is it not possible to include in the Rich Text Editor?

Thanks for this, it addresses an OCD annoyance that I have where I want an always visible notebook indicator, I already use the Note Tabs plugin which has a breadcrumb option, but couldn't stand the fact that it can waste vertical space showing a breadcrumb and also the blue notebook indicator on search results :laughing:

Not with what plugins can do today, unfortunately. The chip in the editor toolbar is not a toolbar button; it is an element the plugin inserts itself, and the only place plugin code runs inside the main window is a CodeMirror content script. When the Rich Text editor is active there is no CodeMirror instance, so nothing of the plugin runs in that window at all. The Rich Text toolbar is right there in the DOM, but there is no content script type for TinyMCE to reach it from.

The official route, joplin.views.toolbarButtons.create, does put a button into the Rich Text toolbar too, but it is icon-only with a static label, so there is no way to show text that changes per note. That is the real gap. If toolbar buttons could carry a dynamic label (the way core shows the spell-checker language next to its icon), or if there were a small API to render a status element in the note title bar, this plugin would work in every editor without touching the DOM at all. Happy to help test something like that.

And thanks for the revealInNotebook PR; the plugin already feature-detects it and will switch to it once it lands.

Your plugin is excellent, thanks!

For my main usage and I'm sure others it would be great if it could somehow work with the Rich Text Editor at some point, if that became possible.

Thanks! Yes, I’d definitely like to support the Rich Text Editor too. If Joplin exposes the necessary API for it, I’ll add it.