Caxton
Features Benchmarks Pricing Docs How it works Changelog Support About Download Free
Guide
Getting Started Opening Large Files Find & Replace Filtering CSV Workbench Transform Cells Validate & Repair Column Profiles Sort & Duplicates Editing at Scale Power Editing Navigation & Bookmarks The Sidebar Search Files or Commands The Inspector Log Mode Compare View Themes Sessions & Recovery License
Reference
Keyboard Shortcuts Menu Reference Settings & Storage Encodings How Caxton Works Benchmarks

Settings & Storage: defaults and files on disk.

Caxton has no preferences maze: settings live in the menus where you use them. This page is the complete registry anyway, because a tool that changes your files should be able to name every knob, every default, and every byte it writes to disk.

Every setting, its default, where it lives

SettingDefaultChanged in
ThemeDark for a dark Mac, Light for a light oneView ▸ Theme (see Themes)
Follow System AppearanceOnView ▸ Theme ▸ Follow System Appearance. While it is on, Caxton keeps one palette for dark and one for light
Imported themesNoneView ▸ Theme ▸ Import Theme… / Remove Imported Theme
Editor size13 pt (range 9 to 36)View ▸ Zoom In ⌘+ / Zoom Out ⌘− / Actual Size ⌘0
Word Wrap (default for new windows)OffView ▸ Word Wrap ⌥⌘W
Wrap AtWindow widthView ▸ Wrap At ▸ Window Width / 80 / 100 / 120 Columns
Show InvisiblesOffView ▸ Show Invisibles
MinimapOn (unavailable past 500 MB)View ▸ Minimap
Tab Width4Text ▸ Whitespace ▸ Tab Width ▸ 2 / 3 / 4 / 8
Auto-Close BracketsOnEdit ▸ Brackets ▸ Auto-Close Brackets
First Row Is HeaderOn, per windowCSV ▸ First Row Is Header (kept with the session, like a Delimiter override)
Keyboard shortcutsThe shipped setCaxton ▸ Keyboard Shortcuts… ⌘, (the Keyboard Shortcuts window, below)
File Pattern RulesNoneEdit ▸ File Pattern Rules…
SnippetsNoneEdit ▸ Snippets…
Log Severity PatternsNone (the built-in level words apply)View ▸ Log ▸ Severity Patterns…
Saved searchesNoneThe Advanced Find panel's Presets menu
Filter presetsNoneThe filter bar's Filters menu ▸ Save Filter As…
Sort Rows presetsNoneThe preset menu in CSV ▸ Sort Rows…
Batch Replace listsNoneThe Batch Replace panel
Validation schemasNoneCSV ▸ Validation Schema… ▸ Schemas ▸ Save as Schema…
Transform Cells presetsNoneCSV ▸ Transform Cells… ▸ Presets ▸ Save Current as Preset…
Transform Cells last-used valuesEach transform's own defaultsRemembered on their own: the sheet opens on the transform you ran last, and each transform keeps the options you last ran it with
Pinned clipboard entriesNoneEdit ▸ Clipboard History… ⇧⌘V
Find, replace and filter historiesEmpty, 20 entries eachRecorded as you search and filter
File Browser recent foldersNone, up to 8Recorded as you pick folders; listed in the File Browser's folder popup
Sidebar and inspector layoutBoth closed; sidebar 260 pt on the File Browser, inspector 280 pt, every panel shownView ▸ Show Sidebar ⌃⌘S, View ▸ Show Inspector ⌥⌘I, the dividers, and the right-click menu on the sidebar's panel buttons. A new window starts from the layout last used; a restored session does not change it
Inspector collapsed sectionsAll expandedClick a section's heading in the inspector
Search Files or Commands recentsEmpty; up to 30 recent items and 20 recent commandsRecorded as you open items and run commands from the field
Toolbar arrangementSidebar toggle, Back and Forward, title, Search Files or Commands, Find · Filter · CSV, inspector toggleView ▸ Customize Toolbar…
Automatically Check for UpdatesOnCaxton ▸ Automatically Check for Updates

What persists where: everything in the table above is app-wide and survives relaunch. Per-window state (grid or text mode, wrap for that window, cursor, scroll position, window frame, open mode, a CSV ▸ Delimiter override, the header row and column type choices) rides in session restore instead. One thing deliberately resets every launch: the Diagnostics Overlay. Follow Tail is a toolbar toggle with no stored default: it pauses itself when you scroll up and resumes when you return to the bottom.

When a new window opens, wrap and tab width resolve in this order: the app-wide default, then a matching File Pattern Rule, then the session's memory of that exact file. Pattern rules resolve per field: rules are an ordered list, and each field (wrap, tab width, encoding, syntax, CSV delimiter, header row) takes its value from the first matching rule that sets it, so a specific rule above a general one wins field by field. A pattern matches the file's name, or the full path when the pattern contains a /.

The Keyboard Shortcuts window

Caxton ▸ Keyboard Shortcuts… ⌘, opens the Keyboard Shortcuts window. The item was called Preferences before 2.0.1; the window is the same. It lists every menu command in the app with its shortcut, and every one is rebindable. The Caxton menu, Services and Open Recent are excluded, so About, Keyboard Shortcuts…, License…, Hide, Hide Others and Quit keep their keys. Select a command, click Record Shortcut, press the keys; Esc cancels the recording. If the combination is taken, the conflict is named and confirming reassigns it, unbinding the other command. Clear Override returns a command to its shipped shortcut. Export… and Import… move your overrides to another Mac as a file. Only your overrides are stored, keyed by the command's menu path, so app updates that add commands never disturb your customizations.

The Keyboard Shortcuts window listing menu commands with their shortcuts

The Keyboard Shortcuts window, with Clear Override, Export… and Import… at the bottom left and Record Shortcut at the right.

Updates

Caxton ▸ Check for Updates…, right under About Caxton, checks caxton.app for a newer version now and offers to install it. Caxton ▸ Automatically Check for Updates is on by default; uncheck it and Caxton checks only when you ask.

Where Caxton keeps things

The complete write inventory. Nothing on this list leaves your Mac; Caxton has no telemetry.

WhatWhere
Settings, presets, histories~/Library/Preferences/com.hwyenigma.Caxton.plist: every setting above, including the presets, imported themes, validation schemas, severity patterns, shortcut overrides, pinned clipboard entries, recents and histories
Session~/Library/Application Support/Caxton/session.json: open windows, modes, cursors, scroll positions, frames; written at quit
Named workspaces…/Caxton/workspaces.json; each exports as <name>.caxton-workspace.json, and import resolves file paths relative to the workspace file first, so a workspace can travel with its folder
Bookmarks and markers…/Caxton/Bookmarks/ and …/Caxton/Markers/, one small JSON sidecar per document, deleted when the document has none left. Your files are never annotated
Crash-recovery journals…/Caxton/recovery/: rewritten every 30 seconds while a document has unsaved edits, removed on save or clean close, swept after 7 days. Recovery never writes to your file itself; it replays into a window and lets you decide
Scratch space…/Caxton/scratch/: in-place-save rollback journals, disk-backed line and record indexes for the largest files, undo spills, sort and frequency runs and tables, streamed outputs, and UTF-8 working copies of converted documents. A crashed copy’s files are removed at the next launch at any age; other leftovers are cleaned after 24 hours, except rollback journals, which are kept for recovery
New documents…/Caxton/untitled/: one small backing file per new, never-saved document, so its edits can be recovered after a crash
Restore guard…/Caxton/restore-attempts.txt: a count of launches that began restoring the session, cleared once the app runs quietly for a minute or quits normally. Two in a row make Caxton offer to start without restoring
Trial and licenseThe login Keychain, mirrored by a small file in Application Support; the earlier of the two wins, so deleting either does not restart a trial. Stated plainly because you would find it anyway
Next to your filesOnly when you ask: Find in Files ▸ Replace writes .bak backups (the checkbox defaults to on), and Save As / atomic saves stage through the destination volume's own temporary area

Import and export

Every kind of preset can leave the Mac as a JSON file and come back on another one. An import merges by name: a preset with the same name is replaced, and new names are added.

  • Snippets, File Pattern Rules, Log Severity Patterns and Keyboard Shortcuts: each window has Import… and Export… buttons. An export saves as caxton-snippets.json, caxton-file-pattern-rules.json, caxton-severity-patterns.json or caxton-key-bindings.json.
  • Filter presets: the filter bar's Filters menu has Import Filters… and Export Filters….
  • Sort Rows presets: the preset menu in Sort Rows has Import Presets… and Export Presets….
  • Validation schemas: the Schemas menu in the Validation Schema sheet has Import Schema… and Export Schema…. Import also reads a plain JSON object of column names to rule lists.
  • Saved searches: the Advanced Find panel's Presets menu has Import Presets… and Export Presets… (caxton-searches.json).
  • Themes: View ▸ Theme ▸ Import Theme… and Export Theme….
  • Batch Replace pair lists export and import as CSV or TSV (replace-pairs.csv; a .tsv extension switches the delimiter).
  • Workspaces export as JSON from the Workspaces menu.

A file of the wrong kind is refused with what it holds, such as "these are snippets, not filters". A theme or preset file written by a newer Caxton says so and asks you to update Caxton, instead of calling the file unreadable. Transform Cells presets have no export of their own; they move with the preferences file.

For the Terminal-inclined

One capability has no UI: custom fill lists for the grid's Fill Series (your own rotation names, region lists, anything ordered). They live in defaults as an array of lists, each needing at least two distinct entries:

defaults write com.hwyenigma.Caxton CaxtonCustomFillLists '(( "North", "South", "East", "West" ))'

After a relaunch the list appears in Fill Series ▸ Custom List as "Custom: North, South, East…". Every other setting on this page also lives at a sensible key in the same domain; the app reads them with plain defaults, no private state.