Using Hook with EagleFiler by C-Command Software

This webpage documents Hook’s integration with EagleFiler, which is great personal information management software. EagleFiler enables you to organize, search, and archive your e-mail, web pages, files, and miscellaneous scraps of information. Your EagleFiler files are not stored in a proprietary database. EagleFiler stores content directly in the Finder; this makes it easy for you to access and modify the files in the software of your choice in an open, future-proof manner. EagleFiler is developed by C-Command Software, a company led by Michael Tsai.

Address (URL) used by Hook for EagleFiler items

When you select a file in EagleFiler and invoke Hook, Hook will resolve the file’s address in relation to the file system, generating a hook://file/ address rather than a x-eaglefiler:// address. Hook will then use this address to find all items that are linked to the file. This has the advantage that whether you invoke Hook on this resource in any app, Hook will always generate the same address for it. Therefore in the Hook contextual window, you will always see all the links from this resource, whether you are accessing this file in EagleFiler or another app (e.g., Preview, Skim, OmniOutliner, BBEdit, etc.)

Linking to new items stored in an EagleFiler library

The previous version of Hook integration scripts included a “Hook to New > EagleFiler” script. (See this). We’ve taken this out for the time being, for two reasons.

First, there is a more general way to use Hook to create new content in EagleFiler. Users can set the default folder in which to create new files to be

a. a folder that is scanned (watched) by EagleFiler. See EagleFiler Manual: Scan for New Files. Or,
b. an EagleFiler Library folder

That is easy because EagleFiler stores its content directly in the Finder (i.e., on the file system).

It is also quite convenient. Because that puts Hook-generated content exactly where EagleFiler users want their content: in an EagleFiler library!

Hook users find themselves creating a lot of content with Hook’s very handy “Hook to New” command. Using EagleFiler and Hook together therefore makes a ton of sense.

Hook’s previous integration with EagleFiler

Hook’s integration with EagleFiler changed substantially on Feb 9, 2020 with version 100 of its integration scripts.

If you prefer, you can continue to use Hook’s previous integration with EagleFiler, by using the scripts described on this web page.

Future possibilities

Hook supports Reveal File in Finder; however, it does not currently support Reveal File in EagleFiler. This may be possible in the future. In fact, we are investigating generalizing this type of function to any app that has a library window (such as Apple Mail, OmniFocus, DEVONthink, Evernote and Things). The “reveal item in app” function would be analogous to the “open” function, except it would open them rather than reveal them.

Hook currently only supports one address scheme per app. As of this writing ( 2020-01-09) no one has asked us to lift this restriction. However, we can see benefits of doing so in edge cases. In particular, it would enable Reveal File in ... in a cross-app manner. So, in the future this restriction might be lifted. We alluded to this here

This would require that apps provide an API that takes one address as input, and returns another address as output. For instance, EagleFiler might take a file path, or partial path, as input and return an x-eaglefiler:// address. Another useful candidate for this would be DEVONthink, which does not yet provide convenient AppleScript for this as far as we know. We will discuss DEVONthink separately.


While we’re on the subject of C-Command Software, we should point out that Hook’s DMG is packaged using C-Command Software’s excellent DropDMG: The easy way to create and convert Mac disk images (.dmg files).

For information about this and other C-Command Mac Software, see its website.