Class sets are the mechanism by which iDefrag determines how to color files for display on the screen. They are also the mechanism by which the program decides which files may be moved and provide additional control over the behavior of the Optimize algorithm (which also runs as part of the Full Defrag algorithm).
On start-up, iDefrag searches for class set definitions. In addition to looking inside its own application bundle, the program searches the various Application Support directories, including
Class set definitions are simple text files with the extension
.classes containing class definitions and information about which classes are matched with the highest priority; if two classes match a given file extent, then the conflict is resolved in favour of the class with the numerically lowest priority (that is, 0 is the highest priority, 1 the second highest and so on). You can see the order in which matching is attempted by looking at the Key panel, which displays the classes in priority order.
Class sets must be compiled before matching can take place; depending on the match specifications in the class set definition, this may take a while—usually because iDefrag has to gather information from the disk in order to efficiently compile some types of match specification—but when attempting to classify the hundreds of thousands of files present on a typical disk, it is important that matching runs as fast as possible.
The following classes are built in to the program and should not be modified by the user; their definitions may be found in the file
builtin.classes, within the application bundle.
Note that any given disk will probably contain only a subset of the files listed above.
The syntax of class set definition files is explained in a related topic.