A tiny, lightweight macOS menubar application to eject multiple mounted volumes in one click. Favorite a mounted volume to save it for quick unmounting later.
Available for free on the App Store for macOS 10.10 (Yosemite) and newer: https://apps.apple.com/us/app/ejectbar/id1264259104?mt=12The application lives in the macOS menubar and can be shown with a click on the icon to expose the menu for ejecting, showing/hiding the mounted volumes, showing/hiding the favorite volumes, and quitting. The main window for the application shows currently mounted volumes and whether they are saved as favorites, along with the buttons from the menubar.
The app uses the Disk Arbitration framework to hook into mount/unmount volume callbacks at a low-level. In addition, the code uses low-level reference management since the DA framework only accepts C function pointers. Lastly, the app uses a class that boxes a callback using generic types Input, Output to create a generic function: (Input) -> Output.
Created by Bradley Bernard with techincal help from the Swift expert Joe Groff!