Winfo

By Paul S. Kleppner

Winfo provides information about  NeXTSTEP window  memory usage.  It's useful for finding windows which unnecessarily allocate alpha or color planes and waste large amounts of memory.

Start

The Start button takes a snapshot of the screen.    The outlines of all windows are shown, and each one is labeled with its window number and size in kb.   Depending on the setting of the highlight check boxes, Winfo will shade windows which have alpha setting or which have a depth of greater than two bits.

Clicking on  any outlined window selects it.  Winfo draws a heavy black border around the selected window and all other windows in the same context.  In addition, it displays the following detailed  information about that window in the report panel:

	Number	the DPS window number
	Context	the DPS context number
	Size	the width and height of the window
	Alpha	whether an alpha channel is allocated
	Depth	number of planes allocated for gray/color
	Depth Limit	max depth the window is permitted
	Backing Store	bytes of backing store consumed by window
	Type	type of window (non-retained, retained, or buffered)

In the two boxes below the window report panel, Winfo displays information about all windows in the same context  (typically all windows of an application share the same context) and all the windows in the server. This information includes the number of on and off screen windows, and the total number of backing store bytes consumed by all the windows. The backing store number is obtained via the dumpwindow operator and includes windowserver overhead, if any.

Clicking on any window selects it and brings it to the front.  Command- and Alternate-clicking on a window will send it back and front, respectively, without selecting it.

Off-Screen Windows

The Off-screen Windows box lets you choose what to do with off-screen windows. You can choose to ignore all off-screen windows, show only those in the same context as the selected window, or show all of them. This last option can slow down the display a great deal.

Show Windows

The Show Windows box lets you choose how to display the windows that are shown. By contents displays the actual contents of the windows. Semi transparently causes semi-transparent rectangles to be displayed instead of the windows. (This option can be slow.) The final option, As outlines, displays outlines which are filled with white or gray, depending on whether the window has alpha or is color. You can use the Window has alpha and Window is deep suboptions to change when a window is highlighted.

Delay

If you enter a value into the Delay field, Winfo will count down that many seconds after Start is pressed before taking the picture.  This is useful for obtaining information about panels which appear only while an application is active.  During the count down, you can activate another application.

About Winfo

Winfo was written during the development of Lotus ImprovTM, to examine window memory usage in that product.  It's provided in the hopes that other NeXT developers may find it helpful.   It may be copied freely (please do!). Winfo is not a Lotus product, and is provided "as is", without warranty. 

CHANGE HISTORY:

07/January/92	Added proper initialization of rectangle origin in the method start:sender in file WinInfo.m to ensure that this program will work beyond NeXTStep Release 2 (mai nguyen). Problem in the version released in March 91.

10/December/92	Changed to use the dumpwindow PostScript operator to get more accurate backing store information. Also added a few new options.