Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (6) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mail(1)

tweak(1)

image(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 subdirectory of (say) /lib/face/48x48x1, named by a single letter 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 represented 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. 

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)

Plan 9  —  September 02, 2003

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026