Skip to content

Preview pane

Pressing A (or Enter / double-click) on a file opens a built-in preview to the right of the file list — one preview per tab. The pane takes a share of the window width, so it stays roomy for media and PDFs.

  • Text / code — scrollable.
  • Images — PNG, JPEG, GIF, WebP, BMP — width-fitted.
  • HEIC / AVIF / JXL — when an image converter is installed (sips ships with macOS; heif-convert, ImageMagick, or vips on Linux/Windows).
  • SVG.
  • HTML and Markdown — rendered as a static, no-JavaScript view (scripts never run, so a preview can’t do anything active).
  • PDF — paged.

For SVG, HTML and Markdown you can see the raw source instead of the rendered view with the header </> button (or X on a controller / F2). Markdown shows its original .md text, not the converted HTML.

Right crosses into the preview pane. What the other buttons do depends on the kind:

  • Text / image / SVG / HTML / MarkdownUp / Down scroll; A opens the file in the OS default app.
  • PDFUp / Down turn pages; Home / End jump to the first / last page; A opens it externally.

The pane is a small stack, and the two buttons move through it in opposite directions. X goes one step closer to the file’s raw bytes; B (or Escape) climbs back out one step, and only closes at the top.

FileX descends →
Textread → editing → closed
SVG, HTML, Markdownrendered → source → editing → closed
Image, PDFclosed

A text file has no source view, so the first X starts editing it. Markup takes two presses: one to show the source, one to edit it. The header’s always closes outright, whatever level you are on.

A text preview can be edited in place. The pencil in the pane header — or X on a controller — turns it into an editable field; Esc, or the button again, leaves it. Only text is editable: the other kinds are rendered views, not buffers, which is also why X never clashes with the source toggle — a text file has no source view.

Ctrl/Cmd+S saves, and still works if focus has gone back to the file list. On a controller, A saves once there is something to save, and opens the file externally as usual when there isn’t. A dot beside the filename marks unsaved changes, and a Save button appears in the header beside it.

On the Steam Deck, X raises the on-screen keyboard over the field, and Steam’s B closes it and hands you back to pane navigation.

The file is written back the way it was found

Section titled “The file is written back the way it was found”

DeckCrate remembers how it read the file and saves it the same way:

  • Encoding — a file read as legacy Latin-1 (“ANSI”) is saved as Latin-1, not quietly re-encoded to UTF-8. If you type a character Latin-1 can’t hold — an emoji, say — the file is converted to UTF-8 and the toast tells you.
  • Line endings — a CRLF file keeps CRLF, including on the lines you just typed.
  • Identity — the save is written in place, so a symlink stays a symlink, and permissions, ownership and extended attributes survive the edit.

SVG, HTML and Markdown are editable too — but only from the source view, which is where the pencil appears. A rendered view is not a buffer: there is no way back from the formatted page to the file, so you edit the markup itself.

Everything above applies unchanged, including the encoding and line-ending guarantees. Two things are specific to markup:

  • Saving a .md writes the Markdown, never the HTML it was converted into.
  • The rendered view refreshes when you save, so backing out of the editor shows your new content rather than the version that was on disk when you opened it.

Backing out to the rendered view with unsaved changes shows the saved version, with the dot still up — that is what is on disk, and the dot says you have more.

Anything that would drop an edited buffer asks first, offering Save, Discard or Cancel (A, Y and B on a controller):

  • closing the pane,
  • previewing another file,
  • opening the terminal, which shares the preview’s slot,
  • reducing the tab count below a tab that has unsaved edits,
  • quitting from the command menu or the toolbar.

Each tab keeps its own buffer, so switching tabs never costs you your typing — the dot stays up until you save or discard.

Preferences → Preview → Rendered previews is on by default. Turn it off and SVG, HTML and Markdown open on their source instead — so a single X starts editing them, the </> button goes away, and B closes the pane rather than revealing a rendered view. There is simply no rendered level for those files.

Text, images and PDFs are unaffected. The setting applies to previews you open from then on; a pane already open keeps the level it was opened at.

Binaries, unsupported formats, and oversized files can’t be previewed. DeckCrate offers to open them in the OS default app instead. From that prompt you can also press Y to pick a specific app (see Open file with…).

You can open any file in its default application from the preview pane’s A button, or directly for any non-previewable file.

For a single highlighted file, the Open file with… entry in the command menu shows a controller-navigable list of installed applications, sorted alphabetically. A / Enter confirms, B / Esc cancels. It’s also offered as Y on the “can’t preview” prompt. Works on macOS, Linux, and Windows.