Per-place tab-set persistence.
The set of open tabs is the thing you want back when you return to a place: launch vis in a directory, restore the tabs you had there. The sessions themselves already persist in the DB (keyed by session id); this only records, per launch directory, WHICH sessions are open as tabs, their order, and which one was active.
Stored as a small EDN sidecar under ~/.vis/tabs/<place>.edn — no schema,
no migration, entirely owned by this channel. Shape:
{:active "<session-id>" ; the focused tab (or nil) :sessions ["<session-id>" …]} ; tab order, left to right
Per-place tab-set persistence.
The set of open tabs is the thing you want back when you return to a
place: launch vis in a directory, restore the tabs you had there. The
sessions themselves already persist in the DB (keyed by session id); this
only records, per launch directory, WHICH sessions are open as tabs, their
order, and which one was active.
Stored as a small EDN sidecar under `~/.vis/tabs/<place>.edn` — no schema,
no migration, entirely owned by this channel. Shape:
{:active "<session-id>" ; the focused tab (or nil)
:sessions ["<session-id>" …]} ; tab order, left to right(read-snapshot)Read this place's persisted tab snapshot, or nil when absent/unreadable.
Returns only the well-formed shape: a map with a vector :sessions.
Read this place's persisted tab snapshot, or nil when absent/unreadable. Returns only the well-formed shape: a map with a vector `:sessions`.
(save! snapshot)Persist snapshot ({:active sid :sessions [sid…]}) for this place. Best
effort — IO failures are swallowed so a read-only home never breaks the TUI.
Persist `snapshot` ({:active sid :sessions [sid…]}) for this place. Best
effort — IO failures are swallowed so a read-only home never breaks the TUI.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |