Skip to content

bbeny123/FinderActions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FinderActions

A lightweight macOS Finder extension that adds useful actions to the right-click context menu: create files, open Terminal, launch editors, and compress to ZIP — all without leaving Finder.

Built for personal use and shared as-is, in case someone finds it useful.

Context Menu

Features

Action Description
New File Creates an empty file in the current directory. Handles duplicates automatically (e.g. Untitled_1.txt, Untitled_2.txt).
Open Terminal Opens a terminal window at the current directory. If a folder is selected, opens inside it.
Open in Sublime Opens the selected files in Sublime Text. Hidden when the selection exceeds a configurable limit (default: 100).
Open in PeaZip Opens the selected files in PeaZip.
Compress to ZIP Archives the selection using 7-Zip. Progress is shown as a progress bar directly in the context menu. Clicking the progress bar cancels the operation.

Every action can be individually enabled or disabled, and each one is configurable — titles, icons (SF Symbols), bundle IDs, and application paths can all be changed through the configuration app.

Note: The "New File" option will not appear in the context menu when the current directory is not writable (e.g. system-protected folders like /System or /Library). This is by design — the extension checks write permissions before showing the option.

Flexibility

The underlying mechanism for "Open ..." is generic: it launches a given application by bundle ID (with a fallback file path) and passes the selected items. By changing the bundle ID and path, you can repurpose most of these actions to open files in virtually any application.

ZIP Compression Details

  • Uses the 7-Zip binary (included in PeaZip or available separately from 7-zip.org).
  • Default configuration excludes common macOS clutter: .DS_Store, __MACOSX, .LSOverride, ._* resource forks.
  • Compression arguments, exclusion patterns, and the fallback output directory are all configurable.
  • If the target directory is read-only, the archive is placed in a configurable fallback folder (defaults to the user's home directory).
  • Progress is displayed in the context menu as a visual bar (e.g. ▰▰▰▰▰▱▱▱▱▱ 50%). Since the menu is static once shown, right-click again to refresh. Clicking the progress item cancels the compression.
  • On failure, an .error.log file is written next to the intended output path.

Installation

  1. Download the latest .zip from the Releases page, or build from source.

  2. Extract and move FinderActions.app to your desired location (e.g. /Applications).

  3. Remove the quarantine attribute (the app is signed for local use only, not notarized):

    sudo xattr -rd com.apple.quarantine /Applications/FinderActions.app
  4. Launch FinderActions.

  5. Enable the Finder extension. It should activate automatically on first launch. If it doesn't, click the File Provider button at the top of the configuration window and enable the FinderActions extension in System Settings.

That's it. The configuration app is only needed to change settings — once configured, you can close it. The Finder extension (FinderActionsSync) is loaded automatically by macOS on login; the main app does not need to be running.

Permissions

Permission Required Purpose
File Provider Extension Yes The context menu will not appear without this.
Full Disk Access No Without it, macOS will prompt for permission the first time you perform an action in a new folder. Granting Full Disk Access avoids these repeated prompts.
AppleScript / Automation No Only needed to automatically select newly created files on the Desktop background. If you denied the initial prompt, you can re-enable it from System Settings → Privacy & Security → Automation.

All three can be managed directly from the buttons in the System Permissions section of the configuration app.

Configuration

All settings are managed through the FinderActions app and persisted via UserDefaults. Changes are propagated to the Finder extension in real time through DistributedNotificationCenter — no restart required.

Monitored Folders — By default, the extension monitors / (the entire filesystem). You can restrict it to specific directories.

Menu Items — Each action has a toggle, a customizable title, and a customizable SF Symbol icon.

File Creation — Configure the base file name, extension, and the separator used for duplicate numbering.

App Paths & Identifiers — Set the bundle ID and fallback path for Terminal, Sublime Text, PeaZip, and the 7-Zip binary. The app resolves applications by bundle ID first, falling back to the specified path.

Archive Options — Customize 7-Zip compression arguments, exclusion patterns, the fallback output directory, and the progress icon.

A Factory Reset button restores all settings to their defaults.

Configuration App

Building from Source

Open the project in Xcode and build normally. The project consists of two targets:

  • FinderActions — the configuration app (SwiftUI).
  • FinderActionsSync — the Finder Sync extension.

Requires macOS and the FinderSync framework.

Credits

This README and the configuration GUI were vibecoded (Gemini 3.1 Pro & Opus 4.6). The rest of the codebase was written with GenAI assistance but manually reviewed in its entirety.