Customize your Finder context menu with applications and scripts.
Set up Rules for different sets of file types. Show custom menus depending on which types of files and folders you right-clicked.
Service Station for macOS
🔶 Customize your Right-Click menu in Finder
🔶 Launch applications and scripts
🔶 Available on the Mac App Store
Support
We’re using GitHub as the Service Station support website.
Please first search the existing Issues to see if there’s an existing page for your problem or suggestion.
Thank you for logging any bugs you may find. We’d also love to hear about feature requests or workflow enhancements.
If you’d prefer to contact us via email, please write to support@servicestation.menu
We love hearing about how you use Service Station!
Please send us a tweet at @ServiceStationX
Service Station Scripts
Service Station supports scripting via AppleScript, JavaScript, shell script, and Automator Workflows.
Application Scripts Directory
Click the "Open Application Scripts Directory" button to open Service Station's Application Scripts directory in Finder.
Due to macOS sandboxing restrictions, you must manually place your scripts in this directory.
Service Station cannot execute your script if it is not located in the app's Application Scripts directory.
Sample Scripts
Sample scripts are provided to demonstrate scripting in Service Station.
Click the "Sample Scripts" button to display these scripts in the Finder.
Copy these scripts to the Application Scripts directory to test them out as launched via Service Station.
Finder Sync Variables
Service Station exposes the following variables to scripts:
targetedURL
– current Finder directory pathselectedItemURLs
– array of the selected items in FindermenuKind
– the type of menu being displayed
These variables correspond to the pieces of information available in the Finder Sync extension FIFinderSyncController
class.
The Service Station sample scripts demonstrate how to populate these variables within your script.
AppleScript
If your AppleScript defines a subroutine handler serviceStationDidSelect
, that function will be called with the Finder Sync variables as parameters:
on serviceStationDidSelect(targetedURL, selectedItemURLs, menuKind)
// your AppleScript here
end serviceStationDidSelect
If the AppleScript does not define the Finder Sync variable handler, Service Station will execute the script's default run
handler.
JavaScript
Like AppleScript, implement a serviceStationDidSelect
function in your JavaScript code to receive the Finder Sync parameters:
function serviceStationDidSelect(targetedURL, selectedItemURLs, menuKind) {
// your JavaScript here
}
Otherwise, the script's default run
handler will be executed.
Automator Workflows
Service Station passes the current Finder selection context as input when executing an Automator workflow.
The workflow's input will be either the selected files and folders or the path of the folder background being right-clicked.
The workflow.workflow
sample script demonstrates using an Open Finder Items
Automator action that receives the workflow's input from Service Station.
Additionally, if the workflow has implemented named storage variables for the FIFinderSyncController
variables, Service Station will set those variable values.
In Automator, select View > Variables
. Right click the section and select New variable...
Add any or all of the following variables:
targetedURL
selectedItemURLs
menuKind
When your script is run, Service Station will populate these variables with the Finder Sync values.
In your workflow, use the Automator Action "Get Value of Variable" to get the variable value and use it as needed.
Shell Scripts
Shell scripts are launched using NSUserUnixTask
. The Finder Sync variables are passed as a single arguments
array of strings. The arguments are formatted using the following flags:
-targetedURL
-menuKind
-selectedItemURLs
The script developer is responsible for correctly parsing the script parameters.
Please see the sample script for an example implementation.