TIX - A Tagged File Index
tix - tag index (for files tagged by MacOS X)
Features
-
scan the file metadata in collection of files, looking for
- file paths & names
- creation dates
- tags and colors
-
detect duplicate files (via size and a SHA hash)
- allow duplicate files to be reduced to a single copy
- while merging all tags from all copies of the file
- and keeping the order of tags as much as possible
-
allow editing of tags
- replace edited tags on all effected files
-
allow normalisation of tags
- if multiple spellings were used for a single concept, provide a mapping
from the wrong spelling to the correct spelling
Motivation
tix attempts to pick up where Apple left off.
MacOS X has long provided the ability to tag files, however, over the years,
Apple's support for their tagging system is lacking...
- editing Finder's tag list is anything but easy
- tags are not sorted
- tags are not searchable
- Finder only knows about tags that were applied to files on that system
- tags on shared file systems are displayed but not suggested
- tags on shared file systems are not sortable / indexed
- there is no way to clean up tags, e.g.
- normalise the case of tags, e.g.
steve
=> Steve
- replace tags
Technologies
Extended Attributes
Apple stores user-defined tags as an extended attribute on each
tagged file, also known as xattr
.
Apple also indexes file tags in their metadata system, but only for
local file systems.
plists
To make life interesting, apple stores the actual tag information
in a binary plist format, within the
com.apple.metadata:_kMDItemUserTags
xattr attribute.
License
MIT License
Copyright
2022 - Stephen Riehm