https://github.com/tktcorporation/clip-filepaths
📋 Copy multiple file paths (including images) to clipboard - A cross platform utility.
https://github.com/tktcorporation/clip-filepaths
clipboard electron linux macos napi-rs rust typescript windows
Last synced: about 1 month ago
JSON representation
📋 Copy multiple file paths (including images) to clipboard - A cross platform utility.
- Host: GitHub
- URL: https://github.com/tktcorporation/clip-filepaths
- Owner: tktcorporation
- License: mit
- Created: 2025-04-20T08:51:04.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-08-11T06:00:41.000Z (about 2 months ago)
- Last Synced: 2025-08-18T23:14:50.751Z (about 2 months ago)
- Topics: clipboard, electron, linux, macos, napi-rs, rust, typescript, windows
- Language: Rust
- Homepage:
- Size: 1.31 MB
- Stars: 8
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# clip-filepaths
📋 Copy and read file paths and text from clipboard - A cross platform utility.
## Overview
This library provides functionality for copying and reading file paths and text from the clipboard in Electron applications. It supports Windows, macOS, and Linux platforms.
Built with [napi-rs](https://napi.rs/) and Rust, this library offers:
- **Multiple file path support**: Copy and read multiple file paths at once
- **Text support**: Read text from the clipboard
- Full TypeScript support
- Cross-platform compatibility## Motivation
When developing Electron applications, I needed a way to copy multiple photo file paths to the clipboard at once and read content from the clipboard. This library was created to provide a simple solution for batch file path operations, making photo management and other tasks more efficient.
## Installation
```bash
npm install clip-filepaths
```## Usage
### Copying File Paths
```typescript
import { writeClipboardFilePaths } from 'clip-filepaths';// Copy file paths to clipboard
const filePaths: string[] = ['/path/to/file1.txt', '/path/to/file2.jpg'];
writeClipboardFilePaths(filePaths);
console.log('File paths copied to clipboard successfully');
```### Reading Clipboard Content
```typescript
import { readClipboardFilePaths } from 'clip-filepaths';// Read both file paths and text from clipboard
const content = readClipboardFilePaths();
console.log('File paths:', content.filePaths);
console.log('Text:', content.text);// Check if clipboard has file paths
if (content.filePaths.length > 0) {
console.log('Clipboard contains file paths');
}// Check if clipboard has text
if (content.text) {
console.log('Clipboard contains text');
}
```### Clear Clipboard
```typescript
import { writeClipboardFilePaths } from 'clip-filepaths';// Clear clipboard content by passing an empty array
writeClipboardFilePaths([]);
```## Demo
A demo application is available for testing the functionality. If you want to see it in action, check out the following repository:
- [copy-file-paths-electron](https://github.com/tktcorporation/copy-file-paths-electron) - Demo Electron application
## Platform Support
- ✅ macOS: Supported and tested
- ✅ Windows: Supported and tested
- ⚠️ Linux: Supported but not yet tested## Contributing
We welcome contributions! Please read our [Contributing Guidelines](./docs/CONTRIBUTING.md) before submitting pull requests.
## Support
If you encounter any issues or have questions, please:
1. Check the [existing issues](https://github.com/tktcorporation/clip-filepaths/issues)
2. Create a new issue if your problem hasn't been reported## Related Projects
- [napi-rs](https://napi.rs/) - Node.js native addon framework
- [Electron](https://www.electronjs.org/) - Cross-platform desktop application framework## License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
## Acknowledgments
- Thanks to all contributors who have helped improve this project
- Special thanks to the napi-rs team for their excellent framework