|
This Technical Note describes the resources found in the Desktop file. You
should not base anything critical on the format of the Desktop file. System 7
already uses another scheme as did AppleShare 2.0 under System 6.0.x.
[May 01 1988]
|
Introduction
The Desktop file contains almost the same resources for both the Macintosh File
System (MFS) and the Hierarchical File System (HFS). This Technical Note
describes the resources found in both. This information is for reading only.
This means your application can read it but it should never write out
information of its own, because the Finder, as well as Macintosh Developer
Technical Support, won't like it.
The Desktop is a resource file which contains the folder information on an MFS
volume, the "Get Info" comments, the application bundles, 'FREF' and
'ICN#' resources, and information concerning the whereabouts of
applications on an HFS disk. Everything except the comments are preloaded when
the desktop is opened, making it easier for the Finder to find things.
The contents of the Desktop file are described below. The resource types are
the same for both MFS and HFS volumes unless otherwise stated.
'APPL' : This resource type is used by the HFS to locate applications. This
is used by the Finder to locate the right application when a document is
opened. Each application is identified by the creator, the directory number,
and the application name. This is used only by HFS.
'BNDL' : This resource type contains a copy of all of the bundles for all
of the applications that are either on the disk or are the creators of
documents that are on the disk. This is used by the Finder to find the right
icons for documents and applications. If you have a document whose creator the
Finder has not seen yet, it will not be in the Desktop file and the default
document icon will be used.
'FREF' : This contains a copy of all of the 'FREF' resources
referenced in the bundles.
'FCMT' : This resource contains all of the "Get Info" comments for
applications and documents. On MFS volumes the ID is a hash of the object's
name. The hashing algorithm is as follows:
; FUNCTION HashString(str: Str255): INTEGER;
; The ID for the FCMT returned in function result
HashString
MOVE.L (SP)+,A0 ; get return address
MOVE.L (SP)+,A1 ; get string pointer
MOVEQ #0,D0 ; get string length
MOVE.B (A1)+,D0
MOVEQ #0,D2 ; accumulate ID here
@2
MOVE.B (A1)+,D1 ; get next char
EOR.B D1,D2 ; XOR in
ROR.W #1,D2 ; stir things up
BMI.S @1 ; ID must be negative
NEG.W D2
@1
SUBQ.W #1,D0 ; loop until done
BNE.S @2 ; until end of string
MOVE D2,(SP) ; return the hashed code
|
For HFS volumes, the ID of the resource is randomly generated using
UniqueID . To find the ID of the comment for a file or directory call
PBGetCatInfo . The comment ID for a file is kept in
ioFlXFndrInfo.fdComment . The comment ID for a directory is kept in
ioDrFndrInfo.frComment .
'FOBJ' : This resource type contains all of the folder information for an
MFS volume. The format of this resource is not available. This is only in an
MFS volume's Desktop file.
'ICN#' : This resource type contains a copy of all of the 'ICN#'
resources referenced in the bundles and any others that may be present.
'STR ' : This is a string that identifies the version of the Finder, but it
isn't always correct.
Creators: A resource with a type equal to the creator of each application with
a bundle is stored in the Desktop file for reference purposes only. The data
stored in these resources is for the Finder's use only.
Be aware that if a resource is copied from an application resource file and
there is an ID conflict, the Finder will renumber the resource in the Desktop
file.
Back to top
References
Inside Macintosh, Volume I, The Finder Interface
Back to top
Downloadables
|
Acrobat version of this Note (48K).
|
Download
|
|