OpenMeta File Tagging

Support for file tagging with OpenMeta.

Summary  
Available on macOS version 10.11, 10.12, 10.13, 10.14
for Quicksilver build 4024, 4025

OpenMeta File Tagging Plugin

The OpenMeta File Tagging Plugin for Quicksilver provides an interface for adding and removing OpenMeta tags to files, as well as browsing tags and finding all files with a certain tag or tags.

Catalog

The plugin adds all of the user’s OpenMeta tags to Quicksilver’s catalog. An OpenMeta tag in Quicksilver is treated like a folder: its children are its contents, accessed by drilling down into the tag with → or /. A tag’s contents consist of all files tagged with it, plus every other tag belonging to these files.

Custom Entries

You can add files to the catalog if they match one or more tags.

  1. Add a new custom catalog entry using the + at the bottom of the Catalog preferences.
  2. Select “OpenMeta Tags” from the pop-up menu.
  3. Enter one or more tags in the token field.
  4. Optionally, change the name of the entry in the list.

Files matching all listed tags will be included in the global catalog.

Use the OpenMeta File Tagging Plugin to search for files by tag. Drill down into a tag to see an alphabetical listing of all files so tagged. At the end of this list is a list of the other tags for these files. Refine your search by drilling down into one of these tags and filter even further. With this mechanism you can arbitrarily extend a query to involve any number of tags.

For example, to see all files tagged with the tag “foo,” bring up the “foo” tag object and drill down into it. Say some of these files are also tagged with “bar,” and still others, “baz”; these two will be listed at the bottom, after the list of files. Drilling down into one will further filter the results to only show files with both tags (files tagged with “foo” and “bar” or files tagged with “foo” and “baz”). Drilling up out of these results reverts to showing all files tagged with just “foo.”

When performing such a compound tag query, you can keep track of the current search by looking at a possible tag’s value: filtering files tagged with “foo” and then “bar” will show the second tag as “foo, bar” in the command window. (Note: If your Quicksilver catalog contains Recent Objects, these compound tag lists will be included, and this may not be the browsing behavior you desire.)

Working with Tags

All of the expected tagging actions are made available by the plugin. Users can add tags to files, remove tags from files, set the tags of files to a different set, clear all tags from files, and show the tags of files. These actions can be performed on a single file or multiple files, thanks to Quicksilver’s multiple selection support using the comma key. Tags can be added to or removed from multiple files at a time, and the user can show all the tags that a group of files has in common. Showing the tags for a file or files will bring up a list of the tags in the Quicksilver’s direct object pane, ready to be explored. A similar interface is used for removing tags from files, presenting a list of that file’s current tags (or shared tags for multiple files).

In addition to operating on multiple files, you can use multiple tags in an operation. A list of appropriate tags should appear in the third pane. You can enter a new tag by switching to text-entry mode. Multiple tags can be selected with the comma trick or entered in text-entry mode by separating them with commas.

Tags can contain almost anything other than comma.

Implementation

The plugin hooks into the extended file attributes (with xattr) and Spotlight search capabilities (using MDQuery) of the Mac OS X filesystem directly; it does not require the OpenMeta command-line tool to be installed. As such, it should work right out of the box, allowing users to start tagging and finding files with OpenMeta even if they have never used the system before. This also allows performance to benefit from all actions being carried out directly at the xattr or MDQuery level, with no intermediary tools. There is no noticeable lag in searching or tagging, regardless of the complexity or size of the query or file list.

Further Work

As a part of Quicksilver the OpenMeta File Tagging plugin provides a foundation for most functionality of a tagging system, all available directly in the interface. Extending beyond Quicksilver might be a possibility worth exploring, perhaps showing files with certain tags in a new Finder window, or in a tagging-focused application like Leap.