A few element types hold a second set of icons for the same file, such as the dark-mode version of an application icon. Apple does not document them; the names below come from the icnsutil survey and were matched against files on macOS.
The types
| Type | Holds | Note |
|---|---|---|
FD D9 2F A8 | Dark-mode icons | The type is these four bytes, not letters. Reported as added in macOS 10.14 |
sbtp | Template icons | Described only as “template” by independent sources; its use is not known |
slct | Selected icons | Described only as “selected”; its use is not known |
Layout
Independent sources describe these elements as holding a whole ICNS file. In the 85 sets
found in files checked on macOS (48 slct, 27 dark-mode and 10
sbtp), the element’s data was a plain list of elements with no
icns header of its own, running exactly to the end of the element.
0TypeFD D9 2F A84 bytes4Length the whole set, these 8 included4 bytes8Element a type, length and data, as at the top levelvaries…Element and so on to the end of the setvaries
Each element inside is read like one at the top level. A TOC or
icnV inside a set would apply to that set. In the files checked, 7 of the
sbtp sets held a slct set inside them, so a reader has to allow for
more than one level. A reader should also accept data that starts with the
icns header, as other sources describe.
What is inside
The 27 dark-mode sets each held the same picture elements as an ordinary application icon:
ic04, ic05, ic07 to ic14, and
info. The slct and sbtp sets held smaller elements,
mainly icsb, icsB, sb24, SB24,
ic04, ic05, ic11 and ic12, with
info.
The explorer reads the elements of a nested set along with the rest, so each size shows as
a picture, and offers the set as a file of its own, with an icns header added
when it has none.