Enhance your macOS Finder context menu with custom actions. Built with Swift 6.2 and SwiftUI for macOS 15.6+. Full dark mode support with adaptive icons.
- Open with External App β Open files or directories with any installed application, with support for custom arguments and environment variables.
- Copy Path β Copy the full path of selected files or folders to clipboard.
- Delete Directly β Delete files or folders directly, bypassing Trash.
- Hide / Unhide β Toggle file visibility in Finder.
- AirDrop β Share files instantly via AirDrop.
- Create New Files β Generate new files from templates directly in Finder. Supports
.txt,.json,.md,.docx,.pptx,.xlsx, as well as Apple iWork formats:.pages,.key,.numbers. - Quick Access Folders β Pin frequently used directories to the right-click menu.
- Dark Mode β Full light/dark appearance support with adaptive icons and SF Symbols.
RClick uses a dual-process architecture:
| Component | Description |
|---|---|
Main App (RClick/) |
SwiftUI menu bar app β manages settings, state, and file operations |
FinderSync Extension (FinderSyncExt/) |
Injected into Finder β renders custom context menu items |
Communication between the two processes uses DistributedNotificationCenter. Settings are persisted via SwiftData with a shared App Group container.
Get the latest release from the Releases page.
Download the .dmg, open it, and drag RClick to your Applications folder.
Note: On first launch, you may need to enable the Finder extension in System Settings β Privacy & Security β Extensions β Added Extensions.
git clone https://github.com/wflixu/RClick.git
cd RClick
open RClick.xcodeproj- Requires Xcode 16.4+ and macOS 15.6+
- Select the RClick scheme, then Product β Build (βB)
- The FinderSync extension will be automatically registered
| Requirement | Details |
|---|---|
| Folder Access | Per-folder authorization for file operations (prompted automatically) |
| Accessibility | Required for certain automation features |
| Finder Extension | Must be enabled in System Settings |
# Build
xcodebuild -project RClick.xcodeproj -scheme RClick -destination 'platform=macOS'
# Build for Release
xcodebuild -project RClick.xcodeproj -scheme RClick -configuration Release- Swift 6.2 with full concurrency checking
- SwiftUI for all UI components
- AppKit for system integration only (NSWorkspace, NSPasteboard)
- SwiftData for persistence with shared container
- FinderSync framework for Finder extension
- DistributedNotificationCenter for IPC
RClick supports three languages with the following priority:
| Language | Code | Notes |
|---|---|---|
| English | en |
Default/base language |
| Simplified Chinese | zh-Hans |
Primary localization target |
| Japanese | ja |
Activated when system language is Japanese |
Principles:
- Default language is English (also the fallback for unsupported system languages)
- All string keys are in English in the code, localized via
Localizable.xcstrings - System language is auto-detected β no manual language picker in the app
- To add a new language, add an entry to
Localizable.xcstringsand register it in the Xcode project
Thanks to all the people who have contributed to RClick!
We welcome contributions! Here's how you can help:
- Report a Bug β Found something broken? Let us know.
- Request a Feature β Have an idea? We'd love to hear it.
- Submit a PR β Read our contribution guide to get started.
- Security Policy β How to responsibly report vulnerabilities.
Please read our Code of Conduct before participating.
