Coder Social home page Coder Social logo

findermenu's Introduction

FinderMenu

Adds submenu to the context menu of Mac OS X Finder. Submenu has two items, clicking on them the window with the selected items is displayed.

Description

The method configureWithNodes:browserController:container: of class TContextMenu is called, when Finder is going to show context menu on files. This method is replaced, using the MethodSwizzle technique.

mach_inject is used to inject code into the Finder process.

The application consists of the following components:

  • FinderMenu - the injector app, that loads bundle into Finder
  • FinderExt.bundle - injectee bundle, that overrides code inside Finder process
  • mach_inject_bundle.framework (and mach_inject_bundle_stub.bundle which is part of this framework) - mach inject bundle framework, which used by FinderMenu

Application has been tested on OS X versions 10.8 and 10.9. I will be grateful if you test it in earlier versions. Theoretically it should work on OS X versions >= 10.6 (in 10.6 Finder has been rewritten from Carbon to Cocoa and this hack is Cocoa-specific).

Building & running

Application is required procmod group permssion, so you can not just run it in Xcode. To build it in Terminal you can use xcodebuild tool. After building you can just run it with sudo, or change executable group to procmod and setgid bit on it.

findermenu's People

Contributors

zerodivisi0n avatar kellysutton avatar

Watchers

Xu Lian avatar James Cloos avatar

Forkers

gwerz

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.