tix

module
v0.0.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2024 License: MIT

README

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

2022 - Stephen Riehm

Directories

Path Synopsis
cmd
tix
pkg
adapter/apple
Translation between Apple's tag colors to simple color names used by tix
Translation between Apple's tag colors to simple color names used by tix
app
app/tag
Package tag provides a representation for short, descriptive words or phrases, used to describe the contents of a file.
Package tag provides a representation for short, descriptive words or phrases, used to describe the contents of a file.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL