FACE(6) FACE(6)
NAME
face - face files
DESCRIPTION
The directories /usr/$user/lib/face and /lib/face contain a
hierarchy of images of people. In those directories are
subdirectories named by the sizes of the corresponding image
files: 48x48x1 (48 by 48 pixels, one bit per pixel); 48x48x2
(48 by 48 pixels, two (grey) bits per pixel); 48x48x4 (48 by
48 pixels, four (grey) bits per pixel); 48x48x8 (48 by 48
pixels, eight (color-mapped) bits per pixel); 512x512x8 (512
by 512 pixels, eight (color-mapped) bits per pixel);
512x512x24 (512 by 512 pixels, twenty-four bits per pixel (3
times 8 bits per color)). The large files serve no special
purpose; they are stored as images (see image(6)). The small
files are the `icons' displayed by faces and seemail (see
faces(1)); for depths less than 4, their format is special.
One- and two-bit deep icons are stored as text, one line of
the file to one scan line of display. Each line is divided
into 8-bit, 16-bit, or 32-bit big-endian words, stored as a
list of comma-separated hexadecimal C constants, such as:
0x9200, 0x1bb0, 0x003e,
This odd format is historical and the programs that read it
are somewhat forgiving about blanks and the need for commas.
The files lib/face/*/.dict hold a correspondence between
users at machines and face files. The format is
machine/user directory/file.ver
The machine is the domain name of the machine sending the
message, and user the name of the user sending it, as
recorded in /sys/log/mail. The directory is a further sub-
directory of (say) /lib/face/48x48x1, named by a single let-
ter corresponding to the first character of the user names.
The file is the name of the file, typically but not always
the user name, and ver is a number to distinguish different
images, for example to distinguish the image for Bill Gates
from the image for Bill Joy, both of which might otherwise
be called b/bill. For example, Bill Gates might be repre-
sented by the line
microsoft.com/bill b/bill.1
If multiple entries exist for a user in the various .dict
files, faces chooses the highest pixel size less than or
equal to that of the display on which it is running.
Page 1 Plan 9 (printed 10/29/25)
FACE(6) FACE(6)
Finally, or rather firstly, the file /lib/face/.machinelist
contains a list of machine/domain pairs, one per line, to
map any of a set of machines to a single domain name to be
looked up in the .dict files. The machine name may be a
regular expression, so for example the entry
.*research\.bell-labs\.com astro
maps any of the machines in Bell Labs Research into the
shorthand name astro, which then appears as a domain name in
the .dict files.
SEE ALSO
mail(1), tweak(1), image(6)
Page 2 Plan 9 (printed 10/29/25)