System information

Event Manager
The Event Manager manages the delivery of information about system operations and user interaction to applications.
A problem where an activate events were not being generated properly between calls to BeginFullScreen() and
EndFullScreen() has been corrected. (r. 2873868).
A new constant, kMouseTrackingMouseMoved, has been defined as one of the possible result codes returned by
TrackMouseLocation/TrackMouseRegion. Previously, calling TrackMouseLocation/TrackMouseRegion while the
mouse button did not work. Now, if your application calls TrackMouseLocation/TrackMouseRegion while the mouse
button is up, kMouseTrackingMouseMoved will be called when the mouse is moved. (r. 2792773).
New Mouse Tracking Region APIs are now available (see Carbon/CarbonEvents.h). (r. 2716688).
Mouse delta values provided in mouse moved events are now calculated correctly. (r. 2673343).
A problem where an application using the classic event model would not receive an osEvt (mouse-moved) event
when it was switched into the foreground has been fixed. (r. 2671602).
SendEventToEventTarget now returns paramErr for an invalid target. (r. 2976195).
Application handlers are now sent kEventAppGetWindowToActivateOnResume when an application is being switched
into the forground to allow an application to pick which window should be activated when it is switched in. In the
handler, your application can return a reference to the window to be activated, return NULL if none is desired, or
fall through to the default handler. This facility is especially useful for providing expected window selection
behavior in Cocoa applications containing Carbon windows. (r. 2971154).
Floating utility windows can now receive kEventMouseWheelMoved events. (r. 2751193).
Events for 'application hidden' and 'application shown' have been added to Carbon Events. (r. 2693184).
Back to top
File Manager
The File Manager provides APIs for storing and retrieving disk-based information.
A problem where the containerChanged parameter to FSGetCatalogInfoBulk was being ignored (and not set to any
value) has been corrected. In Mac OS X 10.2, it is always set to false. (r. 2874842).
In Mac OS X 10.1, attempts to iterate through the list of mounted volumes before the first call to the event loop
would return a list of local volumes and the volume on which the application is running would be returned -
remote volumes would not be included in the list of volumes returned. This problem has been corrected. (r.
2895905). (r. 2759485).
With Mac OS X 10.2, when one process opens a file with write access, it will have exclusive write access. If
another application tries to open the same file with write access it will fail. See Technical Note TN2037 for
further information. (r. 2663613).
New volume signature word has been added for FTP servers mounted as volumes. Here's a list of common volume
sigwords currently in use: 0x4B47 = FTP, 0x4341 = webDAV, kHFSPlusSigWord = HFS+, kHFSSigWord = HFS,
0xd2d7 = MFS, 0x4B48 = UFS, and 0x4E4A = NFS. (r. 2865998).
A new set of APIs for mounting, un-mounting and ejecting volumes has been added to the File Manager. The routines
allow for both synchronous and asynchronous operations. The routines are FSMountServerVolumeSync,
FSMountLocalVolumeSync, FSUnmountVolumeSync and FSEjectVolumeSync (replace Sync with Async for the
synchronous variants). (r. 2788787).
Hard link support in has been added to the File Manager. The new kFSNodeHardLinkBit bit has been added to Files.h
that allows callers to determine if a file system reference is actually a hard link. If this bit is set, then callers can
use stat(2) to find out more information about the file. (r. 2719873).
Back to top
Folder Manager
The Folder Manager provides facilities for locating "special" folders (for example, the Extensions folder) without relying
on the names of those folders. This aids developers in application localization.
Added the new FindFolder selector constant kManagedItemsFolderType defined that allows callers to locate the user's