PunktfunkPunktfunk
Streaming

Shared clipboard

Copy on your device and paste on the host, and back. The three switches that must be on, what each client moves, and why nothing crosses.

Copy on your device and paste on the host, or the other way round, once three switches are on.

Turn it on

  1. On the host: in the web console, open Host → Streaming and set Shared clipboard to Text or Text and files. It applies from the next stream.
  2. For your device: its access level must include Clipboard. Full control does.
  3. In your client, for that host: turn on the switch below. It is off by default and set per saved host.
ClientWhereSwitch
Mac, iPhone, iPadHost card menu → Host details… → ConnectionShare clipboard
WindowsHost tile menu → Edit…Share clipboard
LinuxHost card ⓘ → ConnectionShare clipboard
AndroidHost card menu → Edit…Share clipboard
Controller home (Android TV, Steam Deck)The host's optionsShared clipboard

The client reads its switch when a stream starts, so reconnect after changing it. On a Mac, Stream → Share Clipboard (⌃⌥⇧C) turns it on mid-stream and Stop Sharing Clipboard turns it off. The same keys work on an iPad with a keyboard.

A PUNKTFUNK_CLIPBOARD line in host.env overrides step 1 and locks it in the console: see Configuration.

What crosses

ClientFormats
Mac, iPhone, iPadText, rich text (RTF), HTML, PNG, JPEG, GIF
WindowsText, PNG
AndroidText
Linux, Steam DeckText, PNG; to the host also HTML, RTF, JPEG, GIF
Apple TVNo clipboard
  • Your copies cross when something pastes. A copy sends only the list of formats; the bytes follow when an app on the other side pastes.
  • Host copies land on Windows, Linux and Android at once. Windows and Linux skip a host copy over 4 MiB. Mac, iPhone and iPad fetch only when you paste.
  • On Linux, a copy from another app crosses when you switch back to the stream window. A host copy stays on your clipboard while the stream runs; after it ends, only a clipboard manager keeps it.
  • Leaving the app on iPhone or iPad ends the stream. A host copy you haven't pasted, up to 8 MiB, is brought over first so you can paste it in another app.
  • One transfer is at most 64 MiB.
  • Passwords stay put on every client. A copy a password manager marks as secret is never sent. On Linux that takes a manager that marks copies the KDE way, such as KeePassXC. The host doesn't filter, so a password copied on the host reaches your client.
  • No client sends files yet, so Text and Text and files behave the same.
  • Moonlight has no clipboard. It exists only in Punktfunk sessions.

A Linux host needs a desktop that offers a clipboard to it: ext-data-control-v1 (KWin, Sway, Hyprland, niri, Umbriel and other wlroots compositors) or GNOME's remote-desktop clipboard. A gamescope session keeps one plain-text clipboard, so only text crosses there. A Windows host always has one.

Why the toggle does nothing (or is greyed out)

Nothing crosses in either direction

Work down this list:

CauseFix
The host's Shared clipboard is OffStep 1 in Turn it on.
The console shows Set by PUNKTFUNK_CLIPBOARD in host.env.Change or remove that line, then restart the host (Configuration).
Your client's switch is off for this host, or you changed it while streamingStep 3, then reconnect.
Your device's access level lacks ClipboardStep 2.
You're on an Apple TVtvOS gives apps no clipboard.
The host's desktop has no clipboard (none of the protocols above)The host log says clipboard backend unavailable. Stream another desktop session instead.
A picture doesn't cross in a gamescope sessiongamescope's clipboard holds text only.

The host logs a clipboard control line for each stream with what it decided. See Troubleshooting for where the log is.

Share Clipboard is greyed out on the Mac

You aren't streaming, the host's Shared clipboard is Off, or your device's access level lacks Clipboard.

A copied password doesn't arrive

Intended: no client sends a copy a password manager marks as secret.

An image copied on Windows doesn't arrive on the host

The app put only a bitmap on the clipboard, and the Windows client sends images as PNG. Copy it from an app that puts PNG on the clipboard.

On this page