diff --git a/packages/opencode/src/cli/cmd/tui/attach.tsx b/packages/opencode/src/cli/cmd/tui/attach.tsx index 9f70cdf99..1086451fe 100644 --- a/packages/opencode/src/cli/cmd/tui/attach.tsx +++ b/packages/opencode/src/cli/cmd/tui/attach.tsx @@ -186,7 +186,11 @@ function App(props: { onExit: () => void }) { onMouseUp={async () => { const text = renderer.getSelection()?.getSelectedText() if (text && text.length > 0) { - console.log("copying", text) + const base64 = Buffer.from(text).toString("base64") + const osc52 = `\x1b]52;c;${base64}\x07` + const finalOsc52 = process.env["TMUX"] ? `\x1bPtmux;\x1b${osc52}\x1b\\` : osc52 + /* @ts-expect-error */ + renderer.writeOut(finalOsc52) await Clipboard.copy(text) renderer.clearSelection() } diff --git a/packages/opencode/src/cli/cmd/tui/util/clipboard.ts b/packages/opencode/src/cli/cmd/tui/util/clipboard.ts index 32adeef49..0a73b7ec8 100644 --- a/packages/opencode/src/cli/cmd/tui/util/clipboard.ts +++ b/packages/opencode/src/cli/cmd/tui/util/clipboard.ts @@ -112,9 +112,6 @@ export namespace Clipboard { }) export async function copy(text: string): Promise { - const base64 = Buffer.from(text).toString("base64") - const osc52 = `\x1b]52;c;${base64}\x07` - process.stdout.write(osc52) await getCopyMethod()(text) } }