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

Splitting an editor is common. Opening the same buffer in two panes — genuinely the same text, not a second copy that drifts — is the part that is easy to get wrong, and it is the part worth describing.

Studio 1.4.0 · macOS 14+6.5 MB download

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.

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.4.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, not a pane pulled out of this one.
  • 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.

Choose a release 6.5 MB · versioned checksums on the download page