|Home » ACP » Lightman
David and Jennifer's fascination with the screen of the IMSAI was based not so much on understanding as on just having a lot of cool things on screen - 'What is it? I don't know - but it's great!'
NeXTSTEP and now Cocoa have a lot of odds 'n' ends strewn around the platform - bits and pieces of interesting and sometimes important information. And while all the corresponding 'APIs' were once functional under NeXTSTEP, they're only now gradually coming back under Cocoa.
Anyone can write a process viewer (well...) and in fact somebody already has. Lightman isn't a fifth wheel: it doesn't attempt to duplicate anything done before, but to keep track of Cocoa system evolution - and offer a few useful functions in the meantime.
Drops Documents Apps & Dialogs
Any number of files and folders can be dropped on the Lightman window all at once to be opened, launched, whatever - Lightman will take care of them all automatically. Or use the Open dialog to pick up half a dozen files to open or applications to launch.
Lightman lists the running Cocoa applications - not the processes, but the running Cocoa applications: the Cocoa frameworks namely see which Cocoa applications are running and Lightman keeps track of the Cocoa frameworks.
Configurable Force Quit
Inasmuch as Cocoa lists apps, you might as well have a chance to take a potshot at them. You have two weapons at your disposal: the more polite 'Force Quit' and the merciless 'Terminate'. The system's 'Force Quit' won't always accomplish its task; 'Terminate' will.
Cocoa apps run with a priority in the range +20 (low) to -20 (high). This priority can be modified in realtime.
Unix has a greatly simplified error code system, with a signal system even simpler. Still, it can be a bother trying to remember what one numerical code of 150 means. Lightman assembles them all from system memory.
This is the huge assembly of system, local, network, user, and command line preferences, all mixed together in the same stew, all presented in alphabetical order. These change often, so it pays to refresh this list once in a while. And ponder the extent of these defaults: the system has to keep all this cached at all times. Quite a job, isn't it?
Where everything that doesn't fit somewhere else ends up: your user name, full user name, home directory, root directory, temporary directory, swap page size, real memory available, windows on screen, available screens, device descriptions for the deepest and main screens, your environment variables, your file system attributes (free nodes, free size, total nodes, file system number, file system size), number of processors, number of scheduled processors, multiprocessing library version, initialisation status of the multiprocessing library, host name, operating system name, and the operating system version string.
The complete contents of the protocol, rpc program number, and services databases.
Both workspace notifications and system-wide notifications - and you'll be surprised how much activity there is in your system, and all for an innocent mouse click. Apple are re-implementing all the old workspace notifications - or rather they're re-implementing the ability of the workspace to hook into these notifications regardless of origin - so this tab will be interesting to watch.
Cocoa admits of an unlimited number of pasteboards (clipboards) in contrast to another well known platform; applications are capable of creating their own and five are default: drag, file, find, regular, and ruler. Lightman shows you the data formats available and change counts of each.
How many paths do the frameworks recognise? For ordinary applications? For frameworks? For services? Do you know? If you have a new application to run, do you know where to put it? Cocoa has five categories of path domains with up to eleven path types per domain and a dozen paths per path type. Do the math: that's a lot of paths. But if you consult Lightman and find out first where Cocoa will look for your application, you'll have a better chance of making your system happy.
A purely MACH kind of thing. Looks at virtual memory statistics over time. Each refresh saves the last three snapshots for easy referral. You get active pages, copy on write ops, free pages, inactive pages, cache hits and lookups, page faults, page ins and page outs, reactivated pages, wired down pages, and zeroed pages - in four FIFO columns.