GithubHelp home page GithubHelp logo

mchampanis / custom-finder-right-click-menu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from samiyuru/custom-finder-right-click-menu

1.0 0.0 1.0 3.97 MB

This project allows macOS users to setup custom right click menu items for MacOS Finder directories.

Shell 15.35% Swift 84.65%

custom-finder-right-click-menu's Introduction

MacOS Finder Custom Directory Right Click Menu

This application allows you to add custom right click menu items to directories opened in MacOS Finder. Right click menu items can be added as shell scripts. The application comes with two script files inbuilt to create new text documents in the current directory and to open terminal from the current directory. The application has been tested to work on macOS Sonoma 14.3.1.

Download the Application

Download the app here.

You can download a pre built app file that is ready to run from the above link.

You can build the application from the source code on MacOS using Xcode.

Using the Application

Using the application is very simple. Copy FinderMenu.app to your /Applications directory. Run FinderMenu.app once from the /Applications directory in your system to setup right click menu items.

When you run FinderMenu.app once, the application will take the following steps to setup the right click menu items.

  • Install a launch agent to serve the custom right click menu items.
  • Install a Finder extension to include custom right click menu items in the Finder.
  • Creates ~/.findermenu directory to place custom right click menu scripts.
  • Enable FinderMenuItems in System Preferences > Extensions > Finder Extensions in case it is not already enabled.

Right click menu service in FinderMenu.app automatically starts with your system. Because of that you do not have to run FinderMenu.app ever again unless you do not want to make changes to the menu item scripts. However, FinderMenu.app should always be present in your /Applications directory for the menus to work.

Following gif shows how the provided New Text File Here menu item works.

alt text

The next gif shows how the provided Open Terminal Here menu item works.

alt text

Adding Custom Menu Items

Adding a new right click menu item is as simple as creating a shell script in the ~/.findermenu directory. The shell script should accept the path to the directory as the first argument when running the script. File name of the script file becomes the menu item name in the right click menu. When the menu item is clicked, the script is executed with the directory path as the first argument. You can refer to the given scripts in ~/.findermenu for examples. When you place a new script in ~/.findermenu, reload FinderMenu to refresh settings:

launchctl kickstart -k gui/501/com.samiyuru.findermenu-service

Reset to default scripts

Remove the ~/.findermenu directory and restart FinderMenu:

launchctl kickstart -k gui/501/com.samiyuru.findermenu-service

Uninstall the Application

You can take the following steps if you need to completely uninstall the application form your system.

  • Delete the FinderMenu.app from /Applications directory.
  • Delete the ~/.findermenu directory.
  • Disable the finder extension by gong to System Preferences > Extensions > All and disabling the FinderMenu item.
  • Remove the launch agent by deleting \~/Library/LaunchAgents/com.samiyuru.findermenu-service.plist

Credits

The icon used in the application is a modified version of an icon made by Freepik from www.flaticon.com.

License

Copyright © Samiyuru Menik 2024.

You are permitted to use this application and source code for personal or commercial use. You are not permitted to fork this project or redistribute this application or any of its content. But, you are allowed to redistribute this application to others by pointing them to this web location. If you modify this application you are allowed to use the modified version personally on your own but you are not allowed to redistribute the modified version.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

custom-finder-right-click-menu's People

Contributors

samiyuru avatar mchampanis avatar

Stargazers

Khurshid Alam avatar

Forkers

khurshid-alam

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.