Skip to main content

Links & Clipboard

How TermFlow turns terminal text into clickable links, how copy and paste work with the native OS clipboard, and what the terminal right-click menu offers.

TermFlow detects two kinds of clickable text in terminal output: URLs and file paths. To keep a plain click free for selecting text, a detected link only opens when you hold a modifier while clicking.

You doTermFlow opens
Modifier + click a URL (e.g. https://…)The URL in your default OS browser
Modifier + click a file pathThe file in your configured editor, or the OS default handler if no editor is set

The modifier is platform-specific:

  • Windows / Linux: hold Ctrl and click.
  • macOS: hold Cmd and click.

Without the modifier, a click (or drag) just selects text as usual.

Line and column jumps

When a path carries a :line or :line:col suffix — the format coding agents and compilers print, like src/app.ts:42:8 — TermFlow strips the suffix from the path and passes the line and column through to your editor so it jumps straight to that spot.

Relative paths resolve against the working directory

Agents and build tools often print relative paths like src/index.ts. TermFlow resolves those against the terminal's live working directory before opening:

Because resolution uses the terminal's live working directory, a printed path stays correct even after an agent cds into a subfolder mid-session.

Set your preferred editor in Settings → Terminal Behavior → Default editor for file links (a Browse… picker). Leave it empty to let the operating system pick the default application for each file type. See Terminal behavior settings for the full list of options.

Copying and pasting

TermFlow uses the native OS clipboard — the same clipboard as the rest of your system — so copied text is available in every other app, and pasting pulls from wherever you last copied.

ActionShortcut
Copy the current selectionCtrl+Shift+C
Paste at the cursorCtrl+Shift+V

Ctrl+Shift+C and Ctrl+Shift+V are used (rather than plain Ctrl+C / Ctrl+V) because in a terminal Ctrl+C sends an interrupt (SIGINT) to the running program and Ctrl+V has its own shell meaning. You can also Copy and Paste from the right-click menu.

An honest note: Copy-on-select is not available. Selecting text does not automatically copy it to the clipboard — you always copy explicitly with Ctrl+Shift+C or the menu.

Smart Ctrl+C (Windows / Linux)

To make copying feel more natural on Windows and Linux, TermFlow offers an optional Smart Ctrl+C. It is enabled by default and can be toggled in Settings → Terminal Behavior → Smart Ctrl+C.

  • When text is selected, pressing Ctrl+C copies the selection (and clears it) instead of sending SIGINT.
  • When nothing is selected, Ctrl+C behaves normally and sends SIGINT to interrupt the running program.
The escape hatch

Because a program can leave text selected while it is running, TermFlow guarantees you can always interrupt: pressing Ctrl+C three times within two seconds forces a real SIGINT, even if a selection exists. Mashing Ctrl+C always kills the process.

Smart Ctrl+C is a Windows/Linux convenience only. On macOS, Ctrl+C always sends SIGINT — use Cmd+C conventions and Ctrl+Shift+C to copy.

Selecting text when a program owns the mouse

Full-screen CLIs (such as some coding agents) capture the mouse for their own use, so a normal drag inside them won't select text. When TermFlow detects this, the right-click menu shows a Selection mode item: enable it to pause the program's mouse capture so you can drag-select and copy, then disable it to hand mouse control back to the app.

The right-click context menu

Right-clicking inside a terminal opens a context menu that gathers the common actions in one place:

┌───────────────────────────────────────────┐
│ ▤ New Pane Horizontally │
│ ▥ New Pane Vertically │
│ ➕ New Tab │
│ 🪟 New Window │
│ 🎨 Color scheme for "codex" (if agent) │
│ ───────────────────────────────────────── │
│ 📋 Copy Ctrl+Shift+C │
│ 📥 Paste Ctrl+Shift+V │
│ 🖱 Selection mode (only when captured)│
│ ───────────────────────────────────────── │
│ 🧹 Clear Ctrl+Shift+X │
│ 🔲 Select All │
│ ───────────────────────────────────────── │
│ 🔄 Reset Rendering │
│ ⚡ Disable WebGL (All Terminals) │
│ ───────────────────────────────────────── │
│ 🐞 Enable Diagnostics Logging │
└───────────────────────────────────────────┘
ItemWhat it does
New Pane Horizontally / VerticallySplit this pane with a new terminal below it or beside it
New TabOpen a new tab using your default shell profile
New WindowOpen a new, empty application window
Color scheme for ""Pick a color scheme for the coding agent detected in this pane (shown only when one is running)
Copy / PasteCopy the selection to, or paste from, the native clipboard
Selection modePause a program's mouse capture so you can drag-select (shown only when a CLI is holding the mouse)
ClearClear the visible screen; command history and scrollback are kept
Select AllSelect all text in the terminal, including scrollback
Reset RenderingRepaint just this terminal from scratch to fix visual glitches; does not touch the shell, output, or history
Disable / Re-enable WebGLSwitch terminals between GPU and the safer DOM renderer if GPU rendering causes glitches
Diagnostics LoggingLog terminal rendering diagnostics to the developer console for troubleshooting
tip

Reset Rendering and the WebGL toggle are the first things to try if text ever looks smeared or misaligned. They change only how the terminal is drawn — your session, output, and scrollback are untouched.

Next steps

  • Terminal behavior settings — configure Smart Ctrl+C and the default editor for file links.
  • Search — find text across a terminal's scrollback with the in-terminal search overlay.