@tooee/clipboard 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,4 +5,5 @@ export interface ClipboardContent {
5
5
  export declare function readClipboard(): Promise<ClipboardContent | undefined>;
6
6
  export declare function readClipboardText(): Promise<string | undefined>;
7
7
  export declare function copyToClipboard(text: string): Promise<void>;
8
+ export declare function copyToPrimary(text: string): Promise<void>;
8
9
  //# sourceMappingURL=clipboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CA+D3E;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6BrE;AAyED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE"}
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CA+D3E;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6BrE;AAyED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;AAwDD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D"}
package/dist/clipboard.js CHANGED
@@ -155,4 +155,57 @@ function getCopyMethod() {
155
155
  export async function copyToClipboard(text) {
156
156
  await getCopyMethod()(text);
157
157
  }
158
+ let primaryCopyMethod = null;
159
+ function getPrimaryCopyMethod() {
160
+ if (primaryCopyMethod)
161
+ return primaryCopyMethod;
162
+ const os = platform();
163
+ if (os === "linux") {
164
+ if (process.env["WAYLAND_DISPLAY"] && Bun.which("wl-copy")) {
165
+ primaryCopyMethod = async (text) => {
166
+ const proc = Bun.spawn(["wl-copy", "--primary"], {
167
+ stdin: "pipe",
168
+ stdout: "ignore",
169
+ stderr: "ignore",
170
+ });
171
+ proc.stdin.write(text);
172
+ proc.stdin.end();
173
+ await proc.exited.catch(() => undefined);
174
+ };
175
+ return primaryCopyMethod;
176
+ }
177
+ if (Bun.which("xclip")) {
178
+ primaryCopyMethod = async (text) => {
179
+ const proc = Bun.spawn(["xclip", "-selection", "primary"], {
180
+ stdin: "pipe",
181
+ stdout: "ignore",
182
+ stderr: "ignore",
183
+ });
184
+ proc.stdin.write(text);
185
+ proc.stdin.end();
186
+ await proc.exited.catch(() => undefined);
187
+ };
188
+ return primaryCopyMethod;
189
+ }
190
+ if (Bun.which("xsel")) {
191
+ primaryCopyMethod = async (text) => {
192
+ const proc = Bun.spawn(["xsel", "--primary", "--input"], {
193
+ stdin: "pipe",
194
+ stdout: "ignore",
195
+ stderr: "ignore",
196
+ });
197
+ proc.stdin.write(text);
198
+ proc.stdin.end();
199
+ await proc.exited.catch(() => undefined);
200
+ };
201
+ return primaryCopyMethod;
202
+ }
203
+ }
204
+ // macOS/Windows don't have PRIMARY selection — fall back to clipboard
205
+ primaryCopyMethod = getCopyMethod();
206
+ return primaryCopyMethod;
207
+ }
208
+ export async function copyToPrimary(text) {
209
+ await getPrimaryCopyMethod()(text);
210
+ }
158
211
  //# sourceMappingURL=clipboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { copyToClipboard, readClipboard, readClipboardText } from "./clipboard.js";
1
+ export { copyToClipboard, copyToPrimary, readClipboard, readClipboardText } from "./clipboard.js";
2
2
  export type { ClipboardContent } from "./clipboard.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClF,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACjG,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { copyToClipboard, readClipboard, readClipboardText } from "./clipboard.js";
1
+ export { copyToClipboard, copyToPrimary, readClipboard, readClipboardText } from "./clipboard.js";
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tooee/clipboard",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Cross-platform clipboard operations for Tooee",
5
5
  "license": "MIT",
6
6
  "author": "Gareth Andrew",
package/src/clipboard.ts CHANGED
@@ -177,3 +177,61 @@ function getCopyMethod(): (text: string) => Promise<void> {
177
177
  export async function copyToClipboard(text: string): Promise<void> {
178
178
  await getCopyMethod()(text)
179
179
  }
180
+
181
+ let primaryCopyMethod: ((text: string) => Promise<void>) | null = null
182
+
183
+ function getPrimaryCopyMethod(): (text: string) => Promise<void> {
184
+ if (primaryCopyMethod) return primaryCopyMethod
185
+
186
+ const os = platform()
187
+
188
+ if (os === "linux") {
189
+ if (process.env["WAYLAND_DISPLAY"] && Bun.which("wl-copy")) {
190
+ primaryCopyMethod = async (text: string) => {
191
+ const proc = Bun.spawn(["wl-copy", "--primary"], {
192
+ stdin: "pipe",
193
+ stdout: "ignore",
194
+ stderr: "ignore",
195
+ })
196
+ proc.stdin.write(text)
197
+ proc.stdin.end()
198
+ await proc.exited.catch(() => undefined)
199
+ }
200
+ return primaryCopyMethod
201
+ }
202
+ if (Bun.which("xclip")) {
203
+ primaryCopyMethod = async (text: string) => {
204
+ const proc = Bun.spawn(["xclip", "-selection", "primary"], {
205
+ stdin: "pipe",
206
+ stdout: "ignore",
207
+ stderr: "ignore",
208
+ })
209
+ proc.stdin.write(text)
210
+ proc.stdin.end()
211
+ await proc.exited.catch(() => undefined)
212
+ }
213
+ return primaryCopyMethod
214
+ }
215
+ if (Bun.which("xsel")) {
216
+ primaryCopyMethod = async (text: string) => {
217
+ const proc = Bun.spawn(["xsel", "--primary", "--input"], {
218
+ stdin: "pipe",
219
+ stdout: "ignore",
220
+ stderr: "ignore",
221
+ })
222
+ proc.stdin.write(text)
223
+ proc.stdin.end()
224
+ await proc.exited.catch(() => undefined)
225
+ }
226
+ return primaryCopyMethod
227
+ }
228
+ }
229
+
230
+ // macOS/Windows don't have PRIMARY selection — fall back to clipboard
231
+ primaryCopyMethod = getCopyMethod()
232
+ return primaryCopyMethod
233
+ }
234
+
235
+ export async function copyToPrimary(text: string): Promise<void> {
236
+ await getPrimaryCopyMethod()(text)
237
+ }
package/src/index.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { copyToClipboard, readClipboard, readClipboardText } from "./clipboard.js"
1
+ export { copyToClipboard, copyToPrimary, readClipboard, readClipboardText } from "./clipboard.js"
2
2
  export type { ClipboardContent } from "./clipboard.js"