FinderEx - MacOS Finder Sync Extension to Allow Adding Custom Actions

Related tags

Guides FinderEx
Overview

FinderEx

MacOS Finder Sync Extension to Allow Adding Custom Actions

Description

FinderEx is a small tool to allow adding custom actios to context menu which is shown when one right clicked inside folder or folder items (folders and files). It consists of two parts: the menu items editor and the finder sync extension that adds context menu items depending on what finder items one selected and then right clicked.

Motivation

I came from Windows world, and I missed Windows Explorer's context menu to quickly apply actions on folders and files. This is my first project with Xcode and OSX, so it also serves as my playground to learn Swift, Cocoa, Interface Builder, Delegations, Controllers, FinderSync, XPC and all other Mac specific things that I was not exposed to before I joined the Mac world.

It took me countless visits to Stack Overflow as Mac newbie to get experts help to make this happen, so I would like to give it back to the community by making it free and open source.

How to Use

Just clone this repository, open the Xcode project and build.

FinderEx embeds FinderSync extension component, which would be installed when the program runs. It would check if the extension was enabled and if not, it would open the Preference window for you to enable it. Please do so to allow it to do its job.

The main window is the menu items editor where you can define your files categories (Image files, Document files, etc.). There are several predefined categories that are created automatically and cannot be deleted. Other categories can be added and specifies group of files based on extensions (file suffixes). Several extensions can be defined for a category by joining them with semicolons.

When item(s) are right clicked in Finder, all menu items from all matched categories would be added to the context menu, so at least all menu items in the "All Items" category will always be added. When a container (blank space in Finder is right clicked, only menu items from "Container" category would be added.

Menu items for each category can be added/edited/deleted by selecting the category and then right clicking the category or the "Right-click Here ..." area. This would bring up the menu. Select an item to edit or delete it or select "Add New Item ..." to add new item.

Each menu item, when selected, can be defined to do action that you choose: run an Applescript, a Bash script or an Automator workflow. They would get selected items' path as their input, as arguments to Applescripts and Bash scripts and as standard input to Automator workflows. Applescripts and Bash scripts can be written directly in the editor so you do not have to create and store script files, although you can do so as well. Automator workflows need to be pre-created, and you need to tell FinderEx which .wflow file to launch.

FinderEx editor loads and saves configuration as YAML file in ~/Library/FinderEx/config.yaml but the FinderSync extension loads configurations from both /Library/FinderEx/config.yaml (system wide) and ~/Library/FinderEx/config.yaml (user specific), so you can create system wide configuration available for all users as well as one for yourself.

Disclaimer

This software is free but comes without warranty in any form. I shall not be liable for any damage that it may cause to your computer, storage, life, whatever, especially if you write scripts that do dangerous things. That said, I hope this software could be useful and boost your productivity, as it is for me.

You might also like...
Port of BetterPS to Apple WebKit for macOS.
Port of BetterPS to Apple WebKit for macOS.

BetterPS-Safari Port of BetterPS to Apple WebKit for macOS. Note: .xcodeproj file will not be uploaded for privacy reasons. Please initiate a new proj

Compatible backports of commonly used type properties for `URL` that are only available from iOS 16.0+ / macOS 13.0+ / tvOS 16.0+ / watchOS 9.0+.

URLCompatibilityKit URLCompatibilityKit is a lightweight Swift package that adds compatible backports of commonly used type properties, type and insta

ALO sync allows you to sync resources form an ALO endpoint to your macOS file system.
ALO sync allows you to sync resources form an ALO endpoint to your macOS file system.

ALO sync allows you to sync resources form an ALO endpoint to your macOS file system. Prerequisites macOS 11 No support for search* No suppor

Mouse Finder is a fun replacement for the system Finder icon in the Dock.
Mouse Finder is a fun replacement for the system Finder icon in the Dock.

Mouse Finder Mouse Finder is a fun replacement for the system Finder icon in the Dock. It mostly works exactly like the system icon, with one importan

Quick Symlink - a Finder extension which provides a contextual menu item for the symbolic links creation on macOS
Quick Symlink - a Finder extension which provides a contextual menu item for the symbolic links creation on macOS

Quick Symlink The Quick Symlink is a Finder extension which provides a contextual menu item for the symbolic links (and other links) creation on macOS

YiVideoEditor is a library for rotating, cropping, adding layers (watermark) and as well as adding audio (music) to the videos.

YiVideoEditor YiVideoEditor is a library for rotating, cropping, adding layers (watermark) and as well as adding audio (music) to the videos. YiVideoE

:octocat: AdaptiveController is a 'Progressive Reduction' Swift UI module for adding custom states to Native or Custom iOS UI elements. Swift UI component by @Ramotion
:octocat: AdaptiveController is a 'Progressive Reduction' Swift UI module for adding custom states to Native or Custom iOS UI elements. Swift UI component by @Ramotion

ADAPTIVE TAB BAR 'Progressive Reduction' module for adding custom states to Native or Custom UI elements. We specialize in the designing and coding of

Natural - A macOS quick link finder
Natural - A macOS quick link finder

natural a macOS quick link finder just a fun side project based on uiw.tf – chec

Sync Slack status to macOS Monterey Focus mode
Sync Slack status to macOS Monterey Focus mode

SyncFocusWithSlack Sync Slack status to macOS Monterey Focus mode ⚠️ This app ac

A Safari Web Extension to allow auto-refreshing of individual tabs

Safari Web Extension - AutoRefresh See article on Medium. App store download (free and no Ads). There are a few websites that I visit and that time ou

This is an iOS Safari Extension Sample that adds a "Develop menu" to Safari on iOS to allow you to analyze websites.

Develop Menu for Mobile Safari This is an iOS Safari Extension that adds a "Develop menu" to Safari on iOS to allow you to analyze websites. This is a

Extension of Diffable API which allow not duplicate code and use less models. Included example for SideBar.
Extension of Diffable API which allow not duplicate code and use less models. Included example for SideBar.

SPDiffable Apple's diffable API requerid models for each object type. If you want use it in many place, you pass many time to implemenet and get over

Import - Xcode extension for adding imports from anywhere in the code ☝️
Import - Xcode extension for adding imports from anywhere in the code ☝️

Import ☝️ Xcode extension for adding imports from anywhere in the code. Now available on App Store Why? Because sometimes you are on 300th line of cod

Companion app and XCode extension for adding SwiftUI recipes to your code.
Companion app and XCode extension for adding SwiftUI recipes to your code.

SwiftUI Recipes Companion Free Companion app and XCode extension for adding SwiftUI recipes to your code. Choose from a rich selection of SwiftUI reci

The app provides additional actions for the Shortcuts app on macOS and iOS.
The app provides additional actions for the Shortcuts app on macOS and iOS.

Actions Supercharge your shortcuts The app provides additional actions for the Shortcuts app on macOS and iOS. Submit action idea (Submit an issue bef

Github Finder is simple app
Github Finder is simple app

Github-Finder-App this is simple app i used api from GitHub i used in project 3rd party library Called KingFisher use this command to install first:-

Finder-style iOS file browser written in Swift
Finder-style iOS file browser written in Swift

FileBrowser iOS Finder-style file browser in Swift 4.0 with search, file previews and 3D touch. Simple and quick to use. Features ✨ Features 📱 Browse

A simple and lightweight resturant finder using the Yelp API

CiboKit A simple and lightweight resturant finder using the Yelp API What is CiboKit? CiboKit is used in our app, Allike, to find nearby restaurants u

AR Image Finder for MDA
AR Image Finder for MDA

AR-Imge-Finder AR Image Finder for MDA Installation Clone the project in Xcode 1

Comments
  • FinderSync interfering with other FinderSync extensions

    FinderSync interfering with other FinderSync extensions

    Hey Yantoz,

    Nice job on the app! I created something similar, and was curious to see if your FinderSync had the same issues. Unfortunately, it also interferes with existing FinderSync extensions installed, such as Dropbox. Toggling the Extension in System Preferences seems to get the other extension working again.

    Have you done any investigation around this? I haven't found a solution, but was curious if anyone else had attempted any solutions.

    Feel free to contact me directly: sijitsma (at) gmail

    opened by csytsma 1
Owner
null
This repo shows how to set up and use GitHub Actions as a CI for Swift Packages

SwiftPackageWithGithubActionsAsCI This repo shows how to set up and use GitHub Actions as a CI for Swift Packages. Available environments on GitHib Li

Michał Tynior 0 Nov 3, 2021
SmartString - A powerful and small library that will allow the creation of complex String Styles

SmartString A powerful and small library that will allow the creation of complex

Valerio 7 Oct 26, 2022
SwiftUI module library for adding seasons theme animations to your app

HolidayThemes SwiftUI module library for adding seasons theme animations to your app. Requirements iOS 13.0+ Xcode 12.0+ Installation Swift Package Ma

null 2 Mar 7, 2022
🌊 Let your code flow. Extension methods for fluent syntax in Swift.

Flow ?? Let your code flow. This library provides a bunch of extension methods for a better fluent syntax in Swift. This style is very useful for some

Alejandro Martínez 100 Nov 30, 2022
Swift extension which adds start, animating and completion closures for CAAnimation objects. Aka, CAAnimation + Closure / Block

Swift-CAAnimation-Closure Swift extension which adds start, animating and completion closures for CAAnimation objects. Aka, CAAnimation + Closure or C

HongHao Zhang 112 Jun 17, 2022
GM-Dragable - A DragableView extension for GM

GM-Dragable A DragableView extension for GM How to use it UIViewController try?

Gavin 0 Jan 20, 2022
A browser extension for Safari that makes sure that cut, copy, and paste are enabled.

Paste for Safari A browser extension for Safari that makes sure that cut, copy, and paste are enabled. Notes This is pretty rough and does work. The v

Mark Ferlatte 1 Dec 20, 2022
Movies app written in Swift 5 using the Custom API created on the Mocky website

Movie App shows you collections of TV streaming and other movies. Movie app writ

null 8 Dec 7, 2022
A framework to create proxies for XCBBuildService, which allows for custom Xcode build integrations.

XCBBuildServiceProxyKit XCBBuildServiceProxyKit is a framework that enables you to write a proxy for Xcode's XCBBuildService, which enables you to ext

Mobile Native Foundation 30 Dec 28, 2022
A simple menubar app can give you quick access to some macOS functions

OneClick This simple menubar app can give you quick access to some macOS functio

mik3 32 Dec 19, 2022