Four panes,
and one file open in two of them.

Two panes can show two files, or they can show one file twice. The second case is the one that is easy to get wrong: both panes have to hold genuinely the same text, not a copy that drifts as you type.

Studio 1.19.0 · macOS 14+8.7 MB download
Linelark showing three editor panes side by side, two of them on the same Swift file and one on a Markdown file
Three panes, three tab strips, one windowStudio 1.19.0 · macOS 14+

What is shared and what is not.

This is the whole design, and getting the split right is what makes a second view useful rather than confusing.

01

The characters are shared

One text storage backs both views. There is no synchronising step that can fall behind, because there is nothing to synchronise.

02

Undo is shared

An edit made in the top pane is undone by pressing undo in the bottom one. Two undo stacks over one file would be a way to lose work.

03

Bookmarks and syntax state are shared

The lexer’s cached line states belong to the text, so the second view does not re-highlight the file from scratch or disagree about where a string ends.

04

Selection, scroll and caret are not shared

Each pane keeps its own. That is the entire point: read the top of a long file while editing the bottom.

05

Five layouts, up to four panes

Single, two columns, three columns, two rows, or a 2×2 grid — chosen from the View menu and remembered with the session.

06

Layouts grow to fit a restored session

If a saved session holds more panes than the current layout has room for, the layout widens on restore rather than dropping the extra panes.

07

A second window is a second everything

⇧⌘N opens a window with its own tabs, its own panes, its own folder root and its own find state — not a second view of this one. Every window that was open at quit comes back, in the order they were open.

The five layouts.

Chosen explicitly rather than by dragging a divider, so a layout can be restored exactly and named in a menu.

LayoutPanes
Single Pane1
Two Columns2, side by side
Two Rows2, stacked
Three Columns3
Grid4, in a 2×2

Read from the Linelark Studio 1.19.0 source, not from its documentation. Where the two disagree, this is the one that ships.

What panes here will not do.

The layouts are fixed shapes rather than an arbitrary tiling tree, which is a real constraint and rules some workflows out.

  • No arbitrary nested splittingYou choose one of five layouts. You cannot split one pane of a grid again into two, the way an IDE with a tiling tree allows.
  • No detached windows for a panePanes live inside one window. A second monitor gets a second window with its own tabs and its own folder, not a pane pulled out of this one.
  • Panes showing one file share an undo stackThat is inherent to sharing a buffer, but it is easy to mistake for two independent files: an undo in one pane changes what the other is looking at.
  • No synchronised scrollingTwo views of one file scroll independently, with no option to lock them together for side-by-side reading.
  • Diffs are their own tab, not a pane modeComparing two files opens a dedicated read-only diff view rather than turning a split into a comparison.

Open it on
your own files.

Apple-notarized, macOS 14 and newer, Intel and Apple silicon.

Download Studio 1.19.0 8.7 MB · every version, with checksums