joplin-plugin-cockpit 2.5.2 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -132,6 +132,10 @@ When a search matches nothing inside the current filters, Cockpit runs one unfil
|
|
|
132
132
|
|
|
133
133
|
Excluded notebooks are named in the settings, and are hidden from Cockpit everywhere — search results, panel rows, checkbox counts, the overview notes and the notebook picker — sub-notebooks included. Entries are resolved to notebook ids and tracked by id, so renaming or moving an excluded notebook keeps the exclusion working, and a Parent/Sub path disambiguates notebooks that share a name.
|
|
134
134
|
|
|
135
|
+
The field shows both halves of what it points at — `Lab / Joplin (fdfd6c06), Archive (a1b2c3d4)`: the name you recognise, and the short id Cockpit is really tracking, so a setting aimed at the wrong one of two same-named notebooks says so at a glance. You go on typing whatever is easiest — a name, a Parent/Sub path or a full id — and Cockpit rewrites each entry into that form. A name it cannot match is left exactly as you typed it, with no id, so a typo stays visible. Where the id is the part that still matches (you renamed the notebook in Joplin and never re-typed the setting), the id wins and the name shown catches up. A notebook genuinely called `Budget (deadbeef)` is not mistaken for one: brackets are read as an id only when what is in them is the start of an id that exists.
|
|
136
|
+
|
|
137
|
+
An excluded notebook can never become the panel's notebook filter, by any route: not from the dropdown, which does not list it; not from another plugin's command, which is refused with a notice; and not from a profile that stored it before it was excluded, which starts at "All notebooks" for the session while keeping its own saved notebook untouched. Exclude the notebook the panel is currently filtered to — or delete it in Joplin — and the filter returns to "All notebooks" on the spot. This is also why New note and New to-do ask where to create whenever the header says "All notebooks": the filter and the label can never disagree.
|
|
138
|
+
|
|
135
139
|
The notebook dropdown lists every notebook by its full path, with a filter box pinned at the top; typing narrows it and Enter picks the first match. It offers every notebook, not only the ones the current to-dos live in. Every row also carries the notebook it lives in: click that pill to filter to it, right-click it to move the note somewhere else, hover it for the full path.
|
|
136
140
|
|
|
137
141
|
A sort picker decides how items sharing a due time — and the Notes group — are ordered: by title (natural, case-insensitive), by updated or by created date, ascending or descending. The choice is part of the profile.
|
|
@@ -174,12 +178,16 @@ Every row of the notebook dropdown carries rename, move-under-another-notebook a
|
|
|
174
178
|
|
|
175
179
|
New note and New to-do create in the notebook the panel is filtered to and open it; with "All notebooks" selected they ask which notebook first. Joplin's own "when creating a new note" title-or-body preference is honoured.
|
|
176
180
|
|
|
177
|
-
|
|
181
|
+
That question, and "Move to notebook" and "Move notebook under…", all open the same notebook picker: a scrolling list of every notebook by its full path, with a filter box pinned above it and the notebook you are currently in already selected ("Move notebook under…" starts on "(top level)" instead, so a bare OK can never move a notebook under itself). The box takes focus as the dialog opens, so you can simply type — any part of the path, in any case — and the list narrows as you go. The up and down arrows walk what is left of it and wrap around, Enter takes the highlighted row (the first match, if you have just typed), a click selects a row and a double-click selects and confirms in one go. The selection always follows the filter, so it is never left on a notebook you can no longer see; filter down to nothing and there is simply no answer to confirm. Escape clears the filter first and closes the dialog on the second press. The list is drawn by Cockpit rather than by the operating system, so it follows the theme — scrollbar included. The dialog opens at a fixed height, a little under two-thirds of the panel's own, so it sits high on the screen and holds still: the list scrolls inside it and narrowing the list never resizes the window under your cursor.
|
|
182
|
+
|
|
183
|
+
Move, tag and duplicate run Joplin's own dialogs on desktop — the native tag dialog with its autocomplete and common-tags behaviour, Joplin's move dialog, Joplin's duplicateNote. On mobile Cockpit does each itself: the notebook picker it draws, filter box and all, a comma-separated tag field prefilled with the note's current tags (attaching and detaching exactly the difference), and a field-by-field copy into a fresh note in the same notebook. Moving a whole selection of rows at once always uses Cockpit's own picker, on both platforms.
|
|
178
184
|
|
|
179
185
|
## Works with Whereabouts
|
|
180
186
|
|
|
181
187
|
[Whereabouts](https://github.com/pmslava/joplin-plugin-whereabouts) puts a small notebook chip under the note title. With Cockpit installed the chip also drives the panel: a **left click** points the panel at that notebook, a **double click** reveals the note in the panel — filtering to its notebook if it is not already listed, and pinning it below the list as a read-only row when the active profile cannot show it at all (a plain note in a to-dos-only profile, say). The revealed row is scrolled into view and flashes briefly. Neither plugin needs the other: without Cockpit the chip is silent, without Whereabouts nothing here changes.
|
|
182
188
|
|
|
189
|
+
If the note lives in a notebook you have excluded in Cockpit's settings, the chip still behaves sensibly rather than pointing the panel somewhere it will not show: a left click leaves the filter alone and says the notebook is excluded, and a double click reveals the note by pinning it below the list, as it does for anything else the active view cannot list.
|
|
190
|
+
|
|
183
191
|
Both plugins reach into Joplin's note title bar, and they do not collide: Whereabouts mounts its chip below the title, while Cockpit's two title-bar settings touch only the alarm bell inside Joplin's own button row (`.note-title-info-group`) — matched by the bell's own icon, so the other buttons in that row keep their appearance and their clicks — and the chip never enters that row. Run both with everything switched on and each does its own thing.
|
|
184
192
|
|
|
185
193
|
## Overview notes
|
|
@@ -196,6 +204,30 @@ Ticking a to-do, creating one, switching an item between note and to-do, or a ch
|
|
|
196
204
|
|
|
197
205
|
A profile switch draws the list first and fills the progress rings in behind it, nearest the top of the view first, so a long list is usable before every ring is counted. A background refresh leaves the list where you left it; only a deliberate change of view returns it to the top.
|
|
198
206
|
|
|
207
|
+
## Sync your settings between devices
|
|
208
|
+
|
|
209
|
+
Joplin syncs notes, never plugin settings, so profiles normally have to be built again on every device. Cockpit can carry them in a note instead. It is **off until you turn it on**: leave the setting empty and everything stays exactly as it is, on this device only.
|
|
210
|
+
|
|
211
|
+
Setting it up is one field, and it is the same field on every platform. Open **Settings › Plugins › Cockpit** and type `Joplin Cockpit Plugin Settings` into **Settings note**.
|
|
212
|
+
|
|
213
|
+
- On the **first device**, no such note exists yet, so Cockpit makes one: a note of that name in the notebook you are looking at, filled with this device's profiles and settings, with the field rewritten to the note's name and short id.
|
|
214
|
+
- On the **next device**, sync first so the note arrives, then type the same title there. Cockpit connects to it, and any profile that device has which the note does not (by name) is added to the note rather than lost. Pasting the note's id or a link to it does exactly the same.
|
|
215
|
+
|
|
216
|
+
Type the title before the note has synced down and the second device makes a note of its own, because there is nothing yet to find. Cockpit watches for that on the next few syncs and tells you when a second note of that name turns up, so you can paste the id of the one you want to keep into the field. Syncing first avoids it entirely.
|
|
217
|
+
|
|
218
|
+
Copying the first device's field text across instead — `Joplin Cockpit Plugin Settings (310b413d)` — never makes a second note, even before the sync: that text can only have come from a note that already exists, so Cockpit says it cannot find it yet and connects the moment it arrives.
|
|
219
|
+
|
|
220
|
+
There is also a `Cockpit: Connect settings note` command in the command palette. It is the same three steps and the same rules; the field is the one to reach for.
|
|
221
|
+
|
|
222
|
+
What travels: your profiles, the custom panel CSS, the theme and its colours, the completed-to-do style, the day start time and the excluded notebooks. What stays per device: the font and circle sizes (a phone and a 27-inch monitor want different ones), the refresh interval, the toolbar button, the two title-bar options, and which profile is currently selected.
|
|
223
|
+
|
|
224
|
+
- A change on either side reaches the other on your next sync, a few seconds after you make it.
|
|
225
|
+
- The note carries the whole picture, not a list of edits, so the last device to write wins — including deletions. Two devices changing profiles at the same moment produce an ordinary Joplin conflict copy, which you resolve like any other.
|
|
226
|
+
- The **first time a device connects** to a note that already has something in it, any profile that device has and the note does not (by name) is added to the note. That happens once, at that connection, whichever way you connected — by typing the title, by pasting an id or link, or with the command. Afterwards the note simply wins, so a profile deleted on one device disappears on the others. Pointing a device at a *different* settings note is a new first connection, and merges again.
|
|
227
|
+
- Cockpit never writes the note while you have it open in the editor, and never writes a note it has not managed to read yet, so a device that has just been set up cannot overwrite everyone else's settings.
|
|
228
|
+
- The note holds machine-readable JSON. Do not edit it by hand; if you do, Cockpit says so and keeps working from this device's own settings until it rewrites the note. A note written by a newer version of Cockpit is left strictly alone.
|
|
229
|
+
- To stop syncing, empty the setting. Nothing is read or written after that, and the note stays where it is.
|
|
230
|
+
|
|
199
231
|
## Appearance
|
|
200
232
|
|
|
201
233
|
By default the panel takes its colours from the live Joplin theme. It can instead be pinned to Light, Dark, Solarized Light, Solarized Dark, Nord, Aritim Dark or OLED Dark — the Cockpit panel only, not the rest of Joplin.
|
|
@@ -232,7 +264,8 @@ Cockpit's settings live in Joplin's own Settings › Plugins › Cockpit.
|
|
|
232
264
|
|
|
233
265
|
- **Panel refresh interval** — how long Cockpit waits between background refreshes of the panel and the overview notes. 60 seconds by default on desktop, raised on mobile unless you set it yourself.
|
|
234
266
|
- **Day start time** — the time a to-do gets when it is dragged onto a day it has no time of its own for. 09:00 by default.
|
|
235
|
-
- **Excluded notebooks** —
|
|
267
|
+
- **Excluded notebooks** — the notebooks Cockpit hides everywhere, typed as names, Parent/Sub paths or ids and shown back as `Name (id)`. See [Search and filtering](#search-and-filtering).
|
|
268
|
+
- **Settings note** — type `Joplin Cockpit Plugin Settings` here and Cockpit creates that note, or connects to the one that has already synced in from another device. A note id or a link to it works too. Once connected the field reads `Joplin Cockpit Plugin Settings (310b413d)` — the note's name and the first characters of its id, which is how Cockpit tells two notes of the same name apart — and follows the note if you rename it. Empty by default, which keeps everything on this device. See [Sync your settings between devices](#sync-your-settings-between-devices).
|
|
236
269
|
- **Theme, completed-to-do style, font size, circle size and the six custom colours** — see [Appearance](#appearance).
|
|
237
270
|
- **Show the Cockpit button in the note toolbar** — a gauge button in the note toolbar toggles the panel, and the same command sits in Tools › Cockpit alongside this switch and Set Panel CSS, with **Ctrl+Shift+H** as its keyboard shortcut on every desktop platform (change it under Options › Keyboard Shortcuts). Joplin cannot add or remove a toolbar button while running, so turning it on or off applies after a restart, and Cockpit says so.
|
|
238
271
|
- **Hide the due date next to the bell in the note title bar and show it on hover** — when a to-do has an alarm, Joplin prints the due date as text beside the bell in the note title bar, and that text eats the space the title has. With this on, the text is hidden and appears as a small bubble under the bell while the pointer is over it. Desktop only. Off by default. Joplin cannot unload a stylesheet it has already loaded, so this applies after a restart.
|
|
@@ -242,12 +275,14 @@ Cockpit's settings live in Joplin's own Settings › Plugins › Cockpit.
|
|
|
242
275
|
|
|
243
276
|
One .jpl serves both platforms; it detects the platform at runtime. On mobile Cockpit is a tab inside Joplin's own plugin-panel screen and uses Joplin's own button rather than a toolbar button of its own.
|
|
244
277
|
|
|
245
|
-
Every picker — the notebook picker, the tag editor, the date picker, the whole profile editor — is drawn as a touch overlay inside the panel itself, because a plugin dialog on Android is always drawn behind the panel. A half-second press on a row, a group heading or a to-do's circle opens the same menus a desktop right-click does, and to-do rows gain an explicit "Move to date…" entry since an 18 px circle is a hard touch target. Rows get roughly 40 px hit areas, and the create buttons drop to icons so the header can give its width to the profile picker.
|
|
278
|
+
Every picker — the notebook picker, the tag editor, the date picker, the whole profile editor — is drawn as a touch overlay inside the panel itself, because a plugin dialog on Android is always drawn behind the panel. The notebook overlay has the same filter box the desktop dialog does, pinned above its rows, and Enter selects the first notebook still showing; it is deliberately left unfocused, so the list is not covered by the keyboard before you have asked for it. A half-second press on a row, a group heading or a to-do's circle opens the same menus a desktop right-click does, and to-do rows gain an explicit "Move to date…" entry since an 18 px circle is a hard touch target. Rows get roughly 40 px hit areas, and the create buttons drop to icons so the header can give its width to the profile picker.
|
|
246
279
|
|
|
247
280
|
That same half-second hold also **arms a drag** behind the menu it opens: keep the finger down and move it **up or down** and the menu closes and the row lifts, to be dropped in the gap between two rows, or onto a group heading, a calendar day or a week-planner column, exactly as a mouse drag does on desktop. Releasing over anything else cancels; a hold you release without moving just leaves the menu open; and a sideways move is left to Joplin's own side-menu swipe.
|
|
248
281
|
|
|
249
282
|
Android can restart the panel's webview under load, so Cockpit keeps the scroll position, an open picker and an in-progress search — the typed query, the open dropdown and its marks — on the plugin side and rebuilds them.
|
|
250
283
|
|
|
284
|
+
Settings sync is set up on Android exactly as it is on desktop, in the same one field: open Settings › Plugins › Cockpit and type `Joplin Cockpit Plugin Settings` into **Settings note**. If a desktop device made the note already, sync first so it is here to be found; if not, the phone makes it.
|
|
285
|
+
|
|
251
286
|
Desktop-only: Ctrl/Shift multi-select and the batch actions that follow from it, double-click to open in a new window, custom panel CSS, the note-toolbar button, and the Ctrl+Shift+H shortcut that toggles the panel.
|
|
252
287
|
|
|
253
288
|
## Commands for other plugins
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "joplin-plugin-cockpit",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.1",
|
|
4
4
|
"description": "A tasks-and-notes command center panel: due dates with drag and drop and a calendar picker, checkbox progress rings, notebook and search filters, view profiles, and notebook management - on desktop and mobile.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
Binary file
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"desktop",
|
|
8
8
|
"mobile"
|
|
9
9
|
],
|
|
10
|
-
"version": "2.
|
|
10
|
+
"version": "2.6.1",
|
|
11
11
|
"name": "Cockpit",
|
|
12
12
|
"description": "A tasks-and-notes command center panel: due dates with drag and drop and a calendar picker, checkbox progress rings, notebook and search filters, view profiles, and notebook management - on desktop and mobile.",
|
|
13
13
|
"author": "pmslava",
|
|
@@ -43,6 +43,6 @@
|
|
|
43
43
|
"label": "The alarm picker: ISO date, 24-hour time, a Monday-first calendar, and quick shortcuts"
|
|
44
44
|
}
|
|
45
45
|
],
|
|
46
|
-
"_publish_hash": "sha256:
|
|
47
|
-
"_publish_commit": "master:
|
|
46
|
+
"_publish_hash": "sha256:0fd053462ff074dcec75913c963dbebfdc5e173fad6809b21a1e8715a5dfd704",
|
|
47
|
+
"_publish_commit": "master:cb57505b1958f9858cef764989ed63edef62273f"
|
|
48
48
|
}
|