Open more than one window at a time

How multi-window works in PennyBolt, and what stays in sync across windows.

Last updated: August 6, 2026

Press Cmd-N on macOS or Ctrl-N on Windows and Linux, and PennyBolt opens a second window. Each window navigates on its own — different account, different page, different sort. When you change something in one window, the others refresh on their own within a fraction of a second. There is nothing to set up.

flowchart LR
  A[Window A: Checking] -- edit a transaction --> S[(Your PennyBolt file)]
  S -- refresh --> B[Window B: Credit card]
  S -- refresh --> C[Window C: Reports]

One file, many windows. Every window reads the same data. When one window changes something, the others update themselves.

Open a new window

Platform Shortcut From the menu
macOS Cmd-N File → New Window
Windows Ctrl-N File → New Window
Linux Ctrl-N File → New Window

The new window opens to the home screen. From there, navigate wherever you want — a register, reconciliation, reports.

You can open as many windows as your screen space allows. PennyBolt doesn’t cap them.

What’s per-window, what’s shared

Per-window:

  • The current page, account, sort order, and filters.
  • The window’s position and size.
  • Notifications about an action you took in that window.
  • The light/dark theme. Changing the theme applies to the window you changed it in and to every window you open afterwards. Windows that are already open keep their current appearance until you reopen them.

Shared across all windows:

  • Your PennyBolt file — every account, transaction, payee, rule, and category. There is one file, and every window reads from it.
  • Edits. Add, edit, split, categorise, or delete a transaction in one window and the other windows pick it up on their own.

How the refresh works

When a window changes something, PennyBolt broadcasts a small notice to every other open window saying which kind of data changed. Each window re-reads only what it is currently showing.

The notices are batched. A large import fires one change per transaction, so instead of a 500-row import causing 500 separate refreshes in every other window, the notices collapse into one or two. In practice this means a big import doesn’t slow down the windows watching it.

What it’s good for

  • Transfers. Keep both accounts open side by side and watch both sides land.
  • Reconciliation. The statement in one window, the register in the other.
  • Reports while you clean up. Recategorise in one window and watch a report change in the other.

See also