File Viewer

Non-editable files open in dedicated preview modes based on their type.

File tabs

The active file tab appears as a card connected to the viewer canvas. Inactive tabs remain visually subdued until you hover over them.

The Close button appears on the active tab and on any tab you hover over. A thin project-color underline indicates activity on a tab.

Images

Raster images such as PNG, JPEG, and HEIC open in the built-in Image Editor, where you can view, crop, mark up, and export them.

PDF preview

PDF files open in a native viewer with continuous vertical scrolling. Pages scale automatically to fit the viewer, and the background uses your active theme without changing page content.

PDFs in SSH remote projects are downloaded to a temporary local copy for viewing. The copy is removed when you switch to another document.

SVG preview

SVG files open in a dedicated read-only vector preview. Scripts embedded in SVG files don’t run.

Text size in previews

Global text size (Cmd++ or Cmd+= to increase, Cmd+- to decrease, Cmd+0 to reset, or the View menu) scales the SVG preview immediately without reloading the file.

PDF and image viewers keep their own zoom. Changing the global text size doesn’t change PDF page scaling or image magnification.

Office documents

CrispyVibe renders Word, PowerPoint, and Excel files as read-only inline previews. Supported formats include .docx, .doc, .pptx, .ppt, .xlsx, and .xls.

Opening Office documents

Office previews use macOS Quick Look and do not require additional setup or plugins. Open a supported file from the Explorer or through Quick Open; it appears as a read-only tab.

Tab behavior

Office document tabs follow standard tab conventions:

  • Preview and persistent modes — single-click opens a preview tab; double-click opens a persistent tab.
  • Split views — drag an Office tab into any split group.
  • Session restore — open Office tabs restore when you reopen the workspace.

Each format uses a distinct tab icon:

FormatIcon
Worddoc.text.fill
PowerPointrectangle.stack.fill
Exceltablecells.fill

Error handling

If a document cannot be rendered, CrispyVibe displays an error state with two actions:

  • Reveal in Finder — opens the containing folder in Finder.
  • Open with Default App — launches the file in your system’s default application.

Unsupported files

Files with unrecognized types fall back to plain text editing when decodable, or show an “unavailable” state when they cannot be read.