Skip to content

Snapshot & browse

The default UBLX workflow: index a directory once with Nefaxer, then browse the flat catalog in the TUI on the Snapshot tab.

Directory → Nefaxer (walk + SQLite) → UBLX (Snapshot tab) → optional ZahirScan (right pane)

First snapshot

  1. Install UBLX (Nefaxer and ZahirScan ship with it).

  2. Open a project root:

    bash
    ublx /path/to/your/project
  3. UBLX runs a background snapshot (unless disabled), writes SQLite under your user cache (ubli/), and opens Snapshot.

By default the catalog is path + filetype only — fast on large trees. See Path-only vs full enhance when you need Zahir-backed previews.

What Nefaxer writes

DataUsed for
Paths, sizes, mtimesCategories, middle-pane file list
Optional Blake3 hashesDuplicate detection
Diff vs prior snapshotDelta tab on the next run

Details: Nefaxer UBLX integration, Database schema.

Snapshot tab layout

PaneRole
LeftCategory tree (extensions, directories, …)
MiddleFiles in the selected category
RightRight-pane tabs for the highlighted file

Cycle main tabs with ~: Snapshot, Lenses (when lenses exist), Delta (when a prior snapshot exists), Duplicates (after detection), Settings.

Pane focus, search, and scrolling: Layout & keys.

Typical browse session

  1. Pick a category on the left.
  2. Move through files in the middle (↑/↓, vim keys if enabled).
  3. Read previews on the right (v / t / m / w when Zahir JSON exists).
  4. Space on a row for quick actions — open, enhance, add to lens, copy path, …

Full key reference: Command mode & context menus.

Re-snapshot

ActionWhen
Ctrl+AsBackground re-index while the TUI stays open
New ublx <dir>Switch project root (when run_snapshot_on_startup is true)
ublx --snapshot-onlyHeadless index only — Headless snapshot + export

After a re-snapshot, check the completion toast: open Delta only when it reports added/modified/removed counts — not when it says No changes.

Toast when the snapshot finishes

Background snapshots (Ctrl+As, or startup re-index) show a toast when the walk completes:

  1. Snapshot finished
  2. Then either:
    • No changes — nothing added, modified, or removed vs the previous snapshot
    • N added, M modified, R removed — counts from the Nefaxer diff

When the toast says No changes, there is nothing new to inspect in Delta for that run — no new diff rows, and index-time batch ZahirScan does not run on unchanged files. You can stay on Snapshot; only re-open Delta after a snapshot that reports non-zero counts.

When counts are non-zero, Delta lists the paths in each bucket. See Change & duplicates.

Other background work (enhance, delete, lens export, duplicate detection) also finishes with toasts — Command mode & context menus.

Cache location

Per-root SQLite lives under ubli/ in your user cache (sanitized directory name + path hash). UBLX config controls paths, hidden files, and snapshot-on-startup — Configuration.

UBLX · Nefaxer · ZahirScan