Jim Million uunet!wiltel!jmillion November 1992 LibInspector (v1.1) LibInspector is a custom WorkspaceManager Contents Inspector, registered to provide simple contents inspection of library files (.a). A library's table of contents are displayed in a browser where they may be selected to be 'extracted'. LibInspector performs no destructive operations on the file (i.e. you may not remove, add, relocate, or replace files). Selected files are extracted to a temporary folder (/tmp/LibExtractions). A FileViewer is opened on this folder when the extraction is complete. These files are not 'cleaned' from this directory, user must move or destroy them. Revision History v1.1 This following Note (from 1.0 Readme) has been fixed. Thanks to Thomas Burkholder (NeXT Developer Support) for a workaround. The file viewer opened on extracted files uses the 'selectFile: inFileViewerRootedAt:' method in the 3.0 WorkspaceRequest protocol. This method produces inconsistent performance behavior, either a few seconds (usually true), or at least 45 seconds (seems to be some time-out value). This is understandable, as for custom contents inspectors, WM can be contending for its own resources. This delay is random, but not frequent, and is not a factor after the file viewer has been created the first time (makeKeyAndOrderFront: is called from that point on). Important Files... bundle.registy contains registration info (tells WM which files this inspector will inspect). Makefile.preamble loads bundle.registry info into the _ICON section of the Mach-o file. LibInspector.[hm] is the owner of the bundle nib file (LibInspector.nib) and manages inspection of library files. Installation To install, copy LibInspector.bundle into ~Apps (or anywhere in WM's search path - NextApps, LocalApps, etc.). WM will look into the bundle when you do the copy, and register the specified file types (extensions) at that time (first load takes a moment). To unload, remove the bundle from the search path, log out. Upon next login, bundle will not be loaded. To reload, replace the existing bundle, log out. New bundle will be loaded upon next login. Notes... The browser display uses a 10 point, fixed font in order to present as much info as possible and keep column alignment. If you hate it, the font is set in the browser delegate method (browser:fillMatrix:inColumn:), and the formatting is done in the private method _format:. Documentation NeXT documentation on custom WorkspaceManager Contents Inspectors... GeneralRef/19_WorkspaceManager/IntroWorkspace.rtf GeneralRef/19_WorkspaceManager/Classes/WMInspector.rtf