═══ 1. Introduction ═══ This program displays several items related to system resources, and updates the display once per second, providing it is given CPU time to do so. The items displayed are: Date/Time - The current date and time, in the format called for in the default country information for your system, as specified in the 'COUNTRY=' entry of your CONFIG.SYS file. Elapsed Time - The elapsed time since the computer was last restarted. Physical Memory Free - The amount of system memory available, according to the DosMemAvail function. Note: This function is part of the old 16-bit system, and only reports physical memory below 16Mb, and was also altered just before OS/2 2.0 was released to never report less than 512K. Virtual Memory Free - The amount of virtual memory available, according to the DosQuerySysInfo function. This is the amount of free physical memory, plus the amount of free space within the current swapping file, plus the amount of space by which the swapping file could yet grow, less the amount of free space reserved on the swapping drive. Swap File Size - The current size of the system virtual memory swap file, SWAPPER.DAT. To locate the file, the file CONFIG.SYS is scanned for its SWAPPATH entry. That entry provides the full name of the swap-file's directory and indicates the minimum free space that must be left on the swap-file's disk drive. Available Swap Space - The amount of free disk space on the logical disk drive where the system swap file resides, less the mininum free space. This is how much more the swap file could expand, if necessary. Unused Swap Space - The amount of free space within the currently allocated system swap file. When this drops to zero, the system swap file must be increased in size, normally by one megabyte at a time. Spool File Size - The amount of disk space consumed by spool files. CPU Load (%) - The approximate percentage of the CPU's available horsepower that's being used at the moment. It is averaged over the previous second. Note: This function and PULSE do not get along with each other. Why? Note: If you have the driver HRTIMER.SYS installed, this number will be more accurate. Why? Battery - The current battery capacity remaining, or its status (Charging, AC) is displayed. Active Task Count - The number of entries in the system switch list, which is the list displayed when you press CTRL+ESC. Note: Not all entries in the system switch list are displayed in the Window List. Some are marked for non-display. Process Count - The number of processes currently loaded on the system. Thread Count - The number of threads currently running on the system. There is at least one thread for each process. Total Free Disk Space - The amount of free space on all the local non-removable disks combined. Drive X Free - The amount of free space on drive X. The help facility is active, as you've already seen, and those program commands that exist may be accessed via the window's system menu. The following commands are available: Save Settings Reset Defaults Hide Controls Configure... Reset Load Meter Reset Drives Copy About Close In addition to those features already described, this program accepts commands from the OS/2 2.0 Font and Color Palette programs, and is a DDE server for all the currently displayed items. The DDE application name is MEMSIZE, and the item names are the same as the default display item names (like Physical Memory Free). ═══ 2. Save Settings (Menu Option) ═══ When you select this menu option, the program saves its current position and the status of the Hide Controls option. The next time the program is started, it will be started with that position and with the controls hidden (or not) according to the saved state. The short-cut key for this command is F2. ═══ 3. Reset Defaults (Menu Option) ═══ Selecting this menu option will reset the program's font and color attributes to their default values. ═══ 4. Hide Controls (Menu Option) ═══ This menu option, when selected, will cause the program's frame controls (the system menu, the titlebar and the minimize button) to be hidden. This option can be toggled with a double-click on either mouse button. Also, since I saw it as very useful to be able to move the window while the controls were hidden, the window has been set up so that you can drag it with either mouse button. The key combination Alt+H will perform this function also. ═══ 5. Configure (Menu Option) ═══ This menu option, when selected, will cause the program's configuration dialog to be displayed. For more information, see Configure (Dialog). Note: The short-cut key to this option is Alt+C. ═══ 5.1. Configure (Dialog) ═══ This notebook dialog allows you to change all the configurable aspects of this program's operations. The configuration options are grouped by category on the following pages: Items Options (Page 1) Options (Page 2) Colors Anchor All changes take effect immediately. ═══ 5.1.1. Items (Configuration Page) ═══ This page displays a list of displayable items. You may select any or all of the items in the Display Items list for monitoring and display. Simply click on an item to highlight it, click again to remove the highlight. Highlighted items are monitored. To change an item's default label, or to restore the default label, double-click on an unselected item. The item will be selected and a dialog presented from which you may alter the item label. ═══ 5.1.2. Options (Page 1) (Configuration Page) ═══ This page shows a number of program options that may be activated or deactivated. Hide Controls When the program window is not iconized, it can be shown with or without the usual title bar, system menu and minimize/maximize buttons. If you chose to hide these controls, the window may still be positioned by dragging its center area. Float to Top This button activates an window's float-to-top function. When this button has been check-marked, the clock will float to the top of the window stack, making itself visible all the time. Animate This button activates the window open & close animation feature. When this is active, the program window will open and close in the same way as the folder objects do: with sound and motion. As with folders, animation will not occur unless it has been enabled at the system level. Table Format This button, when checked, causes the window to arrange itself in table format, with the display items arranged in rows and columns. It will optimize itself to use as little vertical space as possible. When this button is not checked, the window will arrange itself with a single column of all the displayed items. Hourly Chime This button activates an hourly chime feature. When active, the program will beep twice at the top of every hour. Show Remote Drives When this button is checked, remote (network) drives that are currently attached to the system are monitored in the same way as local nonremovable drives are, except that they are not included in the Total Free Disk Space item. Show File System Names This button causes the individual drive free space entries to show the type of file system in use with the drive. Use of this option results in a wider monitor window. Show Disk Labels This button causes the individual drive free space entries to show their disk labels. Use of this option results in a wider monitor window. Show Seconds This button causes the clock and elapsed time displays to include the seconds of the minute. 24-Hour Clock This button causes the clock to be displayed in 24-hour format irregardless of the computer's Country settings. ═══ 5.1.3. Options (Page 2) (Configuration Page) ═══ This page shows additional program options that are more complex than simply on/off. Show 'K'ilobytes This group of radiobuttons allows you to select whether large sizes are displayed in kilobyte notation always, never, or only when their values exceed 512K. The default is to show all sizes over 512K in this way. The 'K=1024' button, if checked, causes the numbers to be displayed in true K (1024). If not checked, the numbers are displayed in decimal K (1000). The 'M'egabytes button, if checked, will cause the numbers to be displayed in megabytes once their values exceed eight megabytes. Monitor Priority This control allows you to set the absolute priority of the monitoring thread of the program, within the time-critical priority class. You may vary the priority from 0 to 31. Priority 31 is the highest possible priority in the system, short of physical interrupts. Priority 0 is simply the lowest priority within the time-critical class. Normally, you should set this to the maximum for more accuracy in system monitoring. However, some have complained that their communications programs occasionally miss data while this program is running. For that reason the priority is now variable. Timer Interval This control allows you to set the interval between monitor window updates. It can be varied from 1.0 seconds to 30.0 seconds, in steps of 1/10 second. The number displayed is in tenths of a second. ═══ 5.1.4. Colors (Configuration Page) ═══ This page shows the three sets of colors associated with the Normal, Warning and Error levels of those display items which support them. You can set these colors by dragging colors over from one of the system color palettes. Note: Under OS/2 Warp 3.0 or beyond, if you click on the color samples with either mouse button, the system's Solid Color Palette window will be displayed for your convenience. The Mixed Color Palette can also be used, but must be requested from the System Setup folder. ═══ 5.1.5. Anchor (Configuration Page) ═══ This page contains a control with which you can set the corner of the monitor window which remains fixed in position when the window size changes. The monitor window can change in size when items are added or removed from the active list, and when the display font is changed from the Font Palette. ═══ 5.1.6. Item Attributes (Dialog) ═══ This dialog box displays the current and default labels for a display item, along with the current Warning and Error levels, if that feature is enabled for the current item. To change the label, simply type the new label over the current one. To change the error or warning levels, either enter a new level in the entryfield, or move the slider associated with the level. To restore all values to their defaults, click on the Default button. ═══ 6. Reset Load Meter (Menu Option) ═══ This menu option allows the user to reset the CPU Load meter, recalibrating it, causing it to forget previous CPU activity in its calculations. ═══ 7. Reset Drives (Menu Option) ═══ This menu option allows the user to reset any drive errors that might be present. This will happen automatically over time, but the command allows the user to reset the errors without delay. ═══ 8. Copy (Menu Option) ═══ This menu option copies the current window display to the system clipboard in two formats: Text and Bitmap. The text version shows all the currently displayed items in a form suitable for pasting into a text editor. The bitmap version shows an exact copy of the current window, and can be used by graphic editors and viewers. The short-cut key for this command is Ctrl+Ins. ═══ 9. About (Menu Option) ═══ This menu option, when selected, will cause the program's About dialog to be displayed. For more information, see About (Dialog). ═══ 9.1. About (Dialog) ═══ This dialog box displays the program name, icon and copyright information. To exit the dialog, press the ENTER key, the SPACE bar or the ESCAPE key, or click on the OK button with the mouse. ═══ 10. Close (Menu Option) ═══ This menu option, when selected, will cause the program to terminate. ═══ 11. Keys Help ═══ The following function keys have been defined for this program: F1 - Help F2 - Save Settings F3 - Exit Alt+C - Configure Alt+H - Hide Controls Ctrl+Ins - Copy ═══ 12. Set Profile Path (Dialog) ═══ This dialog is displayed when the program cannot find its profile (INI) file, and asks you where the file is or where it is to be created. Only a valid existing directory name will be accepted. Once you have entered the name, press the ENTER key or click on the OK button for the program to continue. If you wish to abort the program's initialization sequence, press the ESC key or click on the escape button. ═══ 13. HRTIMER - High Resolution Timer driver ═══ The high resolution timer device driver, HRTIMER.SYS, enables a program to access a normally unused timer chip found on IBM PCs. It has a resolution as high as 840 nanoseconds, 64K times better than the normal timer resolution of 55 milliseconds. The only places I know of right now that has this program available are CompuServe, where the program can be found in the Device Driver Development library of the OS/2 Developer's Forum I (OS2DF1), under the name TIMER.ZIP, and on the anonymous ftp sites ftp.cdrom.com and hobbes.nmsu.edu. The file can be found in the directory /pub/os2/dev16, as hrtimer.zip. The source code for this device driver was obtained from the Fall 1991 issue of IBM Personal Systems Developer magazine. It is freeware, but the original copyright belongs to IBM. ═══ 14. What is the conflict with PULSE? ═══ This program, as well as PULSE, CPULOAD, CPUMETER and similar programs, all attempt to measure how busy the computer is by trying to see how much work they can accomplish at the lowest possible priority. Presumably, if one of these programs can do anything at that priority, it must be using idle time. If there is no idle time, the computer is 100% busy. The more this program can do at system idle priority, the less busy the computer is assumed to be. The problem with running more than one of these programs at the same time is that they begin to compete for that idle time. If you ran two copies of the same program, and nothing else, they should both show about 50% CPU load. If you run two disimilar programs, like this one and PULSE, they would both be affected, but usually to differing degrees. ═══ 15. How does HRTIMER.SYS help? ═══ With HRTIMER.SYS installed, system overhead is included in the CPU Load. The CPU Load is determined by comparing how much work could be done at idle priority with the most the program has been able to do up to the present moment. Without more information, normal system background activity would appear as zero load. If HRTIMER.SYS is installed on your system, then this program executes a calibration loop at startup, in which it determines just how much work can be accomplished at the highest possible priority. This amount is then used for comparison.