Introduction to rName
Overview of rName for macOS: batch rename files and folders, rule chains, live real-time preview, conflict isolation, and atomic two-phase safety.
What is rName?
rName is a native macOS application designed for macOS 26 or later to rename individual files or large collections in bulk, calmly and without surprises.
Built entirely in Swift 6 (strict concurrency), SwiftUI, and Observation, rName takes an immediate visual approach: drop a folder into the window, build a chain of rules, and the central table instantly displays every proposed name next to the original filename in real time. Nothing is touched or altered on your storage drive until you explicitly click the Rename button (or press the ⌘ ↩ keyboard shortcut).
Core Philosophy & Design Principles
1. Nothing Happens Behind Your Back
The real-time preview table continually contrasts the original filename with the calculated result generated by your active rule chain. If any rule produces an issue (such as duplicate names in the list, an existing file already present in that folder on disk, or an invalid filesystem character), that specific file is flagged and excluded from the operation, protecting your files from accidental overwrite or corruption.
2. Complete Privacy & Zero Network Activity
- No network calls: the app contains no
URLSessioncalls, third-party analytics SDKs, or background trackers. - No accounts or sign-ins: no user registration, credentials, or subscriptions required.
- Strictly local: rName does not inspect file contents; it only reads filenames, paths, sizes, and filesystem creation/modification dates.
3. Atomic Two-Phase Renaming Engine
Renaming files on case-insensitive filesystems (such as standard macOS APFS or HFS+) comes with well-known pitfalls: changing only the letter case of a file (e.g., photo.jpg → Photo.jpg) or swapping two filenames (A → B and B → A) causes traditional rename tools to fail. rName executes all renames in two distinct phases via hidden temporary staging files (.rname-<UUID>). If an unexpected error halts execution midway through a batch, the engine automatically rolls back all files to their original names without leaving orphaned temporary files behind.
4. Apple App Sandbox Compliance
Under macOS, renaming a file calls the low-level rename() system call, which requires write permissions on the containing parent folder, not merely the file itself. rName handles this operating system security requirement seamlessly by storing granted folder access in security-scoped bookmarks, asking once per folder and allowing you to inspect and revoke permissions at any time from Settings › Permissions.
Quick Start Workflow
- Add Files: drop a folder or selected files into the window, or press ⌘ O to choose a directory from Finder.
- Build Your Rule Chain: click on any of the 8 available rules in the left sidebar (e.g., Numbering, Letter case, Replace), or pick a ready-made preset from the bottom menu.
- Inspect the Preview: the central table shows ready files in green, with old and new names side by side. If needed, double-click any individual row to manually customize its name.
- Apply and Rename: press ⌘ ↩ to commit the changes to disk.
- Undo if Needed: made a mistake? Press ⌥ ⌘ Z to immediately revert all files from the last session back to their original names.
Documentation Roadmap
- Rule Chain and Modes: Deep dive into all 8 renaming rules, scopes, and ReDoS-safe regular expressions.
- Preview and Conflict Resolution: Real-time preview statuses, conflict isolation, and manual per-file overrides.
- Engine and Atomic Safety: Two-phase execution, APFS case-change handling, automatic rollback, and full Undo history.
- Sandbox and Folder Permissions: Why parent directory access is required, security-scoped bookmarks, and permission revocation.
- Presets and Preferences: Built-in presets, saving custom chains, and the 6 configuration panels (⌘,).
- Shortcuts and Finder Integration: Keyboard shortcuts, Dock drag & drop, and Finder context menus.