═══ 1. PMTREE Main Window ═══ PMTREE is an application for examination of and interaction with the windows of an OS/2 system. All activity centres around a graphical display of a window hierarchy shown in the client area of the main window. A window is represented at the top left by a rectangle accompanied by descriptions of various features of the window. Its immediate children are represented by a series of rectangles arranged in a column to the right of this 'head' window. Similarly their children may be represented to the right of their representations, for as many levels as the hierarchy of windows extends. Different window classes are represented in different colors. The user is also able to select any one of the system defined window styles from the menu. Subsequently all windows which have that style flag set will be represented in reverse colors. The colors may be disabled. Extra information is displayed under the head window representation. This comprises the window id, the process and thread ids, the owner window (if there is one), the window position and size, the window style (broken into the constituent flags), the minimise and restore positions and sizes (where applicable), the window procedure address and, for menu windows the item ids contained in the menu and item texts where possible, for frame windows the FF_ flag names and accelerator table contents, and for listboxes and combo boxes, the number of items in a listbox. For convenience the tree may be simplified by displaying only one level of children. Alternatively the user can disable branches of the tree by double clicking the 'manipulation button' of the mouse over the representation of a window. In both cases uncharted branches will be indicated by "+ + +". The user may choose to bring up a dialog to change various values associated with any window (size, position, window text, style, id, parent, owner). These options should be used with care. There are many ways to hang the system and it is not practical to try to detect all such cases and disallow them. The user may also bring up another dialog that allows a large number of different messages to be sent, posted or broadcast to the window. The messages supported do not yet include many of those that require structures to be supplied for their parameters. Simple text buffers may be passed. Since many object windows are ill-behaved and use Dos(Mux)SemWait where they should use WinMsgMuxSemWait, querying of window text of object windows is disallowed. Interprocess querying of MLE text is dangerous and has been disabled. /n, /x and /r are command line parameters that will bring the main window up minimised, maximised and restored respectively. Tree can remember settings, window selection and window position across invocations. An option is also provided to print the displayed hierarchy on the default printer. ═══ 2. Help for Help ═══ Use this choice to obtain information on how to use the Help facility. ═══ 3. Help for Extended Help ═══ Use this choice to obtain general information on the tasks you can perform while you are viewing a help window. ═══ 4. Help for Help Index ═══ Use this choice to display the help index. The help index lists the titles of the help information that is available. ═══ 5. Help for Keys ═══ Use this choice to see a list of keys and a description of the function of the keys. ═══ 6. Help for Window ═══ The Window pulldown allows the user to locate windows for display in the main window. ═══ 7. Help for Actions ═══ The Actions pulldown allows the user to open and select dialogs to alter the characteristics of windows and to send or post them messages. Any items below the separator line allow the user to switch to a dialog that has already been started. ═══ 8. Help for Options ═══ The Options pulldown provides options to allow the user to change the way in which the tree is drawn. ═══ 9. Help for Help ═══ The Help pulldown provides help functions. ═══ 10. Help for Desktop ═══ Desktop will cause the main window to display a hierarchy of windows descended from the system Desktop window. ═══ 11. Help for Object ═══ Object will cause the main window to display a hierarchy of windows descended from the system Object window. ═══ 12. Help for Select Window... ═══ Select Window... will present the user with a list of all windows in the system. Selecting a window from the list will cause the main window to display a hierarchy of windows descended from the selected window. Double-clicking the 'selection button' of the mouse on the representation of any window other than the current head window will likewise make that window the head of the tree. ═══ 13. Help for Parent ═══ Parent will cause the main window to display a hierarchy of windows descended from the parent of the window currently at the head of the tree. Double-clicking the 'selection button' of the mouse on the representation of the current head window will perform the same task. This option is not available for the system Desktop and Object windows. ═══ 14. Help for Owner ═══ Owner will cause the main window to display a hierarchy of windows descended from the owner of the window currently at the head of the tree. This option is only active if the current head window has an owner. ═══ 15. Help for Top Child ═══ Top Child will cause the main window to display a hierarchy of windows descended from the topmost child of the window currently at the head of the tree. This option is only active if the current head window has children. ═══ 16. Help for Next Sibling ═══ Next Sibling will cause the main window to display a hierarchy of windows descended from the sibling immediately below the window currently at the head of the tree. If the current head window is the bottom-most child of its parent, this option will select the top-most sibling. This option is only active if the current head window has siblings. ═══ 17. Help for Previous Sibling ═══ Previous Sibling will cause the main window to display a hierarchy of windows descended from the sibling immediately above the window currently at the head of the tree. If the current head window is the top-most child of its parent, this option will select the bottom-most sibling. This option is only active if the current head window has siblings. ═══ 18. Select Ownee... ═══ Select Ownee... will present the user with a list of all windows owned by the current head window. Selecting a window from the list will cause the main window to display a hierarchy of windows descended from the selected window. If the window does not own any other windows a message box will be displayed to notify the user of the fact. ═══ 19. Windows in same process ═══ Windows in same process will present the user with a list of all windows belonging to the same process as the current head window. Selecting a window from the list will cause the main window to display a hierarchy of windows descended from the selected window. ═══ 20. Windows in same thread ═══ Windows in same thread will present the user with a list of all windows belonging to the same thread as the current head window. Selecting a window from the list will cause the main window to display a hierarchy of windows descended from the selected window. ═══ 21. Update Display ═══ Update Display will refresh the current display to match the state of the system. ═══ 22. Print Tree... ═══ Print Tree... will print the currently displayed tree hierarchy on the default printer. If the output would take up more than one page on the output device, the user is asked whether to print all or part of the hierarchy. While printing is occurring the Print Tree... and Close options are disabled. WARNING - Note that printed output is not scaled on the output device. All printing uses the same device coordinates as the screen graphics. Therefore for many printers it will be preferable to select a large font for PMTREE before issuing the print command. (See Font...) In addition some printers will dither colors or even map some colors to white so it may be advisable to disable the Color option before printing. If the output device is a PostScript printer, note that background filling of text does not work on such devices, so any style selection should also be disabled. ═══ 23. To Metafile... ═══ To Metafile... allows the user to save the current hierarchy in a metafile. ═══ 24. Window details... ═══ Window details... will present the user with a dialog that shows the window handle, id, parent, owner, process id, thread id, class, window text, position, size and style of the current head window and whether it is a descendent of the system object window. See Window Details Dialog The user is also able to alter the id, parent, owner, window text (with some limitations), position, size and style of the window. The dialogs created by this option are not modal. During the time that they exist an option is added to this pulldown for each dialog to allow the user to reselect it. These options are added below the separator item in the pulldown. ═══ 25. Messages... ═══ Messages... will present the user with a dialog that allows the user to send or post various messages to the current head window, or to broadcast them to its descendents. See Messages Dialog The dialogs created by this option are not modal. During the time that they exist an option is added to this pulldown for each dialog to allow the user to reselect it. These options are added below the separator item in the pulldown. ═══ 26. Highlight Style... ═══ The Highlight Style... option presents the user with a dialog to select one of the PM window styles. The tree will subsequently be drawn with all windows having that style displayed in reverse colors. ═══ 27. Symbol Width... ═══ The Symbol Width... option presents the user with a dialog to select the width of the window representations as a multiple of the character cell height for the current font. Wider representations will allow more text to be seen. Narrower representations will allow more of the tree to be in view at once. ═══ 28. Display One Level ═══ The Display One Level option is a toggle that switches the display of the tree hierarchy between searching as deeply as the actual window hierarchy extends and displaying only the immediate children of the current head window. Where branches are uncharted, the gaps are represented by "+ + +". The user can also disable individual branches of the tree by double clicking the 'manipulation button' of the mouse over the representation of a window. Double clicking again on that representation will enable the branch once more. When this option is selected the number of windows descended from the current head window is not displayed in the text under the head window representation. ═══ 29. Show Window Text ═══ The Show Window Text option is a toggle that switches the display of the tree hierarchy between displaying only the window handle and the class name in each window representation and its including a line that displays the window text for the window wherever applicable. Since disabling this option allows more representations to be included vertically in the window, it may be of use in helping to locate a window in a complex tree. Window text is never displayed for object windows because many of these fail to respond to the WM_QUERYWINDOWPARAMS message involved and so will hang the system. Window text is also not displayed for multi-line entryfields as these tend to trap when it is queried. ═══ 30. Font... ═══ The Font... option presents the user with a dialog to select the font for use in the main window. ═══ 31. Color ═══ The Color option is a toggle that switches the display between using color and mono window representations. Mono representations are useful when printing the display on printers that may handle colors in different ways. The colors associated with representations of different window classes may be changed by dropping colors from the OS/2 Color Palette on the corresponding representations. ═══ 32. Default colors ═══ The Default colors option restores the display to the default colors if the colors have been changed using the OS/2 Color Palette. ═══ 33. No Highlight ═══ The No Highlight option switches off all style selection highlighting in the main window display. ═══ 34. Show Window Id ═══ The Show Window Id option is a toggle that switches the display of the tree hierarchy between displaying only the window handle and the class name in each window representation and its including a line that displays the id of the window. If the window has a standard id value such as FID_SYSMENU or DID_OK, the text for this id is displayed. If the window is a menu, an attempt will be made to display the text of the menuitem of the menu from which the present menu is launched, if there is one. Since disabling this option allows more representations to be included vertically in the window, it may be of use in helping to locate a window in a complex tree. ═══ 35. Show Window Process ═══ The Show Window Process option is a toggle that switches the display of the tree hierarchy between displaying only the window handle and the class name in each window representation and its including a line that displays the process id and thread id of the window. Since disabling this option allows more representations to be included vertically in the window, it may be of use in helping to locate a window in a complex tree. ═══ 36. Automatic Refresh ═══ The Automatic Refresh option is a toggle that enables or disables the automatic update of the tree display when descendents of the root window are created or destroyed. If this option is enabled portions of the tree will be lost when windows are destroyed. It should therefore be disabled if the display needs to be consulted at a later time. ═══ 37. Show Window Style ═══ The Show Window Style option is a toggle that switches the display of the tree hierarchy between displaying only the window handle and the class name in each window representation and its including a line that represents the window style flags. This line consists of 32 characters (one for each bit in the style. Any flags set in the window style are set in the string to the first letter in the name of the style after the underscore, e.g. 'V' for WS_VISIBLE. Question marks ('?') are used for unknown flags and periods ('.') are used for any bits that are not turned on. Obviously reading this information is not easy. The flags to the right will be class specific. Those in the left half of the string may appear for any window. Some of these start with the same letter so position is significant. The flags applicable to all classes are as follows: VDCCPSSMM....MTG................ V............................... WS_VISIBLE .D.............................. WS_DISABLED ..C............................. WS_CLIPCHILDREN ...C............................ WS_CLIPSIBLINGS ....P........................... WS_PARENTCLIP .....S.......................... WS_SAVEBITS ......S......................... WS_SYNCPAINT .......M........................ WS_MINIMIZED ........M....................... WS_MAXIMIZED .............M.................. WS_MULTISELECT ..............T................. WS_TABSTOP ...............G................ WS_GROUP The flags applicable to button windows are as follows: ...............................C BS_CHECKBOX ..............................A. BS_AUTOCHECKBOX ..............................RR BS_RADIOBUTTON .............................A.. BS_AUTORADIOBUTTON .............................3.3 BS_3STATE .............................AA. BS_AUTO3STATE .............................UUU BS_USERBUTTON .......................H........ BS_HELP ......................S......... BS_SYSCOMMAND .....................D.......... BS_DEFAULT ....................N........... BS_NOPOINTERFOCUS ...................N............ BS_NOBORDER ..................N............. BS_NOCURSORSELECT The flags applicable to combobox windows are as follows: ...............................S CBS_SIMPLE ..............................D. CBS_DROPDOWN .............................D.. CBS_DROPDOWNLIST The flags applicable to entryfield windows are as follows: ...............................C ES_CENTER ..............................R. ES_RIGHT .............................A.. ES_AUTOSCROLL ............................M... ES_MARGIN ...........................A.... ES_AUTOTAB ..........................R..... ES_READONLY .........................C...... ES_COMMAND ........................U....... ES_UNREADABLE .......................P........ ES_PICTUREMASK ......................S......... ES_SBCS .....................D.......... ES_DBCS .....................MM......... ES_MIXED The flags applicable to frame windows are as follows: ...............................I FS_ICON ..............................A. FS_ACCELTABLE .............................S.. FS_SHELLPOSITION ............................T... FS_TASKLIST ...........................N.... FS_NOBYTEALIGN ..........................N..... FS_NOMOVEWITHOWNER .........................S...... FS_SYSMODAL ........................D....... FS_DLGBORDER .......................B........ FS_BORDER ......................S......... FS_SCREENALIGN .....................M.......... FS_MOUSEALIGN ....................S........... FS_SIZEBORDER ................D............... FS_DBE_APPSTAT The flags applicable to listbox windows are as follows: ...............................M LS_MULTIPLESEL ..............................O. LS_OWNERDRAW .............................N.. LS_NOADJUSTPOS ............................H... LS_HORZSCROLL The flags applicable to menu windows are as follows: ...............................A MS_ACTIONBAR ..............................T. MS_TITLEBUTTON .............................V.. MS_VERTICALFLIP The flags applicable to multi-line entryfield windows are as follows: ...............................W MLS_WORDWRAP ..............................B. MLS_BORDER .............................V.. MLS_VSCROLL ............................H... MLS_HSCROLL ...........................R.... MLS_READONLY ..........................I..... MLS_IGNORETAB The flag applicable to scrollbar windows is as follows: ...............................V SBS_VERT The flags applicable to spinbutton windows are as follows: ...............................N SPBS_NUMERICONLY ..............................R. SPBS_READONLY .............................J.. SPBS_JUSTRIGHT ............................J... SPBS_JUSTLEFT ............................JJ.. SPBS_JUSTCENTER ...........................M.... SPBS_MASTER ..........................N..... SPBS_NOBORDER ........................P....... SPBS_PADWITHZEROS .......................F........ SPBS_FASTSPIN The flags applicable to static windows are as follows: ...............................T SS_TEXT ..............................G. SS_GROUPBOX ..............................II SS_ICON .............................B.. SS_BITMAP .............................F.F SS_FGNDRECT .............................HH. SS_HALFTONERECT .............................BBB SS_BKGNDRECT ............................F... SS_FGNDFRAME ............................H..H SS_HALFTONEFRAME ............................B.B. SS_BKGNDFRAME ............................S.SS SS_SYSICON ........................E....... DT_EXTERNALLEADING .......................C........ DT_CENTER ......................R......... DT_RIGHT .....................V.......... DT_VCENTER ....................B........... DT_BOTTOM ...................H............ DT_HALFTONE ..................M............. DT_MNEMONIC .................W.............. DT_WORDBREAK ................E............... DT_ERASERECT The flags applicable to container windows are as follows: ...............................E CCS_EXTENDSEL ..............................M. CCS_MULTIPLESEL .............................S.. CCS_SINGLESEL ............................A... CCS_AUTOPOSITION ...........................V.... CCS_VERIFYPOINTERS ..........................R..... CCS_READONLY .........................M...... CCS_MINIRECORDCORE The flags applicable to slider windows are as follows: ...............................V SLS_VERTICAL ..............................B. SLS_BOTTOM .............................T.. SLS_TOP ............................S... SLS_SNAPTOINCREMENT ...........................B.... SLS_BUTTONSBOTTOM ..........................B..... SLS_BUTTONSTOP .........................O...... SLS_OWNERDRAW ........................R....... SLS_READONLY .......................R........ SLS_RIBBONSTRIP ......................H......... SLS_HOMETOP .....................P.......... SLS_PRIMARYSCALE2 The flags applicable to value set windows are as follows: ...............................B VS_BITMAP ..............................I. VS_ICON .............................T.. VS_TEXT ............................R... VS_RGB ...........................C.... VS_COLORINDEX ..........................B..... VS_BORDER .........................I...... VS_ITEMBORDER ........................S....... VS_SCALEBITMAPS .......................R........ VS_RIGHTTOLEFT ......................O......... VS_OWNERDRAW The flags applicable to notebook windows are as follows: ...............................B BKS_BACKPAGESBR ..............................B. BKS_BACKPAGESBL .............................B.. BKS_BACKPAGESTR ............................B... BKS_BACKPAGESTL ...........................M.... BKS_MAJORTABRIGHT ..........................M..... BKS_MAJORTABLEFT .........................M...... BKS_MAJORTABTOP ........................M....... BKS_MAJORTABBOTTOM .......................R........ BKS_ROUNDEDTABS ......................P......... BKS_POLYGONTABS .....................S.......... BKS_SPIRALBIND ....................S........... BKS_STATUSTEXTRIGHT ...................S............ BKS_STATUSTEXTCENTER ..................T............. BKS_TABTEXTRIGHT .................T.............. BKS_TABTEXTCENTER Since disabling this option allows more representations to be included vertically in the window, it may be of use in helping to locate a window in a complex tree. ═══ 38. Window Details Dialog ═══ The Window Details Dialog is a display allowing the user to view and change the characteristics of a selected window. The dialog shows the window handle, id, parent, owner, process id, thread id, class, window text, position, size and style of the window and whether it is a descendent of the system object window. The user is also able to alter the id, parent, owner, window text (with some limitations), position, size and style of the window. The dialog is not modal. ═══ 39. Decimal Id Field ═══ The Decimal Id field gives the window id as a decimal value. The value of the field is the same as that of the Hexadecimal Id field and changes to one will be reflected in the other. Changing this field and clicking Set will change the id of the window. Note that this can have significant effects in an application as it may cause WM_COMMAND and WM_CONTROL messages to have new values and also that the id values are used to manage the positions of standard window controls and for the identification of controls in dialogs. ═══ 40. Hexadecimal Id Field ═══ The Hexadecimal Id field gives the window id as a hexadecimal value. The value of the field is the same as that of the Decimal Id field and changes to one will be reflected in the other. Changing this field and clicking Set will change the id of the window. Note that this can have significant effects in an application as it may cause WM_COMMAND and WM_CONTROL messages to have new values and also that the id values are used to manage the positions of standard window controls and for the identification of controls in dialogs. ═══ 41. Parent Field ═══ The Parent field gives the window handle of the parent of the current window. Changing this field and clicking Set will change the parent of the window. Depending on the values in the x and y fields the window may not be visible in its new owner. Accelerator translation in the changed window may also be altered. Entering a '?' in this field will cause the user to be shown a list of all windows to select a new parent when Set is clicked. ═══ 42. Owner Field ═══ The Owner field gives the window handle of the owner of the current window. Changing this field and clicking Set will change the owner of the window. This will alter the destination of any WM_CONTROL and WM_COMMAND messages generated by this window. Entering a '?' in this field will cause the user to be shown a list of all windows to select a new owner when Set is clicked. ═══ 43. Text Field ═══ The Text field gives the window text of the current window. It will not be displayed for object windows and MLEs. Changing this field and clicking Set will cause WinSetWindowText call to be issued to alter the text for the window. Not all windows handle the resulting message. ═══ 44. X Position Field ═══ The X position field gives the x position of the current window relative to its parent in pels. Changing this field and clicking Set will cause the window to be moved to the new position. If the Parent field is also changed, be careful about where the window will be relative to that window. ═══ 45. Y Position Field ═══ The Y position field gives the y position of the current window relative to its parent in pels. Changing this field and clicking Set will cause the window to be moved to the new position. If the Parent field is also changed, be careful about where the window will be relative to that window. ═══ 46. CX Size Field ═══ The CX size field gives the width of the current window in pels. Changing this field and clicking Set will cause the window to be resized to the new size. ═══ 47. CY Size Field ═══ The CY size field gives the height of the current window in pels. Changing this field and clicking Set will cause the window to be resized to the new size. ═══ 48. Style Field ═══ The Style field shows a list of the style flags for the current window. The list is made up of all the WS_... flags and any class specific flags known to PMTREE. All those currently set are selected. Any unknown flags are presented in the Unknown field. Changing the selected flags and clicking Set will change the style of the window. For many flags this will result in a corresponding change in behaviour, but some are not checked by controls except at the time of window creation. ═══ 49. Set Button ═══ The Set button causes all current values in the fields to be applied to the window. The dialog is not dismissed and selecting Refresh followed by Set again will restore the window to its original state. ═══ 50. Refresh Button ═══ The Refresh button refreshes all fields with the original values as displayed when the dialog was created. ═══ 51. Exit Button ═══ The Exit button dismisses the dialog. ═══ 52. Messages Dialog ═══ The Messages Dialog is a display allowing the user to send or post various messages to a selected window. The messages available are those defined for the system with the exception of some messages that require pointers to structures or arrays in their message parameters. The All Messages option causes all supported messages to be included in the list. If this option is not selected, the list will be limited to those that are known to be handled by the class of the target window. The user can select a message for the given window, and will be provided with fields in which to enter the data for the message parameters. The data may be entered in hexadecimal or decimal format. At any stage all fields in the dialog are displayed in the same format. Messages may be sent or posted or broadcast to immediate children or all descendents of the given window. The result of the message call is displayed in the Result field. This will either be a simple boolean value giving the success or failure of the call (for WinPostMsg and WinBroadcastMsg) or the MRESULT returned by the window (for WinSendMsg). The entry fields need to receive data in certain predefined formats. Braces ('{' and '}') may be used to help delimit fields within structure definitions. These characters are ignored. The formats are as follows: SHORT, LONG and PLONG fields Numbers entered as hexadecimal or decimal values depending on the current selection. Alternatively some PM constant names may be used. If the logical combination of several such constants is required, they should be concatenated with vertical bars ('|') as separators and no blanks (e.g. KC_CHAR|KC_CTRL). To enter a character to be treated as a short value, enter the character inside single quotation marks (e.g. 'a'). CHAR fields Either a character enclosed within single quotation marks or just the character itself or the numeric value of the character. PSZ fields The text string to be passed. APSZ fields The set of text string to be passed, each separated from the last by a comma. POINTL fields Two numeric values in the current format separated by a comma and with no blanks, e.g. 10,10 (x and y respectively). RECTL fields Four numeric values in the current format separated by commas and with no blanks, e.g. 10,10,50,75 (x, y, cx and cy respectively). MENUITEM fields Six numeric values in the current format separated by commas and with no blanks, constant names being usable as for SHORT and LONG fields, e.g. 2,MIS_TEXT,0,1000,0,0 (position, style, attribute, id, hwndSubmenu and item handle respectively). QMSG fields Seven numeric values in the current format separated by commas and with no blanks, constant names being usable as for SHORT and LONG fields, e.g. 21698,WM_CHAR,KC_CTRL|KC_CHAR,'a',0,0,0 (hwnd, msg, mp1, mp2, time, ptl.x and ptl.y respectively). SWP fields Seven numeric values in the current format separated by commas and with no blanks, constant names being usable as for SHORT and LONG fields, e.g. SWP_MOVE|SWP_SIZE,10,10,50,75,NULL,21698 (fs, x, y, cx, cy, hwndInsertBehind and hwnd respectively). ═══ 53. Message Id Field ═══ The Message Id field contains the message id to be passed to the window. The field is modified whenever the user selects from the listbox, but a value can also be entered directly in the current decimal/hexadecimal mode. The user may type the name of a PM message into this field or the numeric value to be used for his message. This can therefore include privately defined messages. ═══ 54. Hexadecimal Mode ═══ The Hexadecimal button causes all fields in the dialog to be updated to display their values in hexadecimal. ═══ 55. Send Mode ═══ The Send button causes subsequent messages issued when the OK button is clicked to be sent (synchronous). The value in the result field will represent the MRESULT returned by the window procedure for the window. ═══ 56. Post Mode ═══ The Post button causes subsequent messages issued when the OK button is clicked to be posted (asynchronous). The value in the result field will only indicate whether the message was successfully placed on the message queue for the window. ═══ 57. Decimal Mode ═══ The Decimal button causes all fields in the dialog to be updated to display their values in decimal. ═══ 58. Broadcast To Children ═══ The Broadcast to Children flag causes subsequent messages issued when the OK button is clicked to be broadcast to children of the given window. The Send and Post modes are honoured. If the Include all descendents flag is also selected, all descendents will be included. Otherwise only immediate children will receive the message. ═══ 59. Message List Field ═══ The Message List field contains a list of all the message ids that are supported for the dialog. As ids are selected fields are displayed for entering the message parameters for the message. The id can be over-ridden by typing an id in the entryfield below the listbox. ═══ 60. Include All Descendents ═══ The Include all descendents flag causes broadcast messages issued when the OK button is clicked to be broadcast to all descendents of the given window rather than just its immediate children. ═══ 61. Message Parameter Type ═══ The Message Parameter Type fields allow the user to override the expected form of the message parameters for a message. This is useful expecially for user-defined messages. In this case the user may enter the numeric message id in the message field and then select a type for each message parameter. The entry fields will be updated to allow the user to enter the corresponding data. ═══ 62. All Messages ═══ The All messages flag causes the dialog to display all known messages in the list. Otherwise only those messages known to be supported by the class of the window are displayed. ═══ 63. OK Button ═══ The OK button processes the dialog with the current settings. The dialog is not dismissed. ═══ 64. Exit Button ═══ The Exit button dismisses the dialog. ═══ 65. Select Window Dialog ═══ The Select Window Dialog is a display allowing the user to select from a number of different windows which should become head of the tree hierarchy or should be used for settings in the Window Details Dialog. ═══ 66. Window List ═══ The Window List field contains a list of windows for the user to select. Double-clicking on an item or selecting an item and clicking OK will cause the dialog to end with the given selection. ═══ 67. OK Button ═══ The OK button ends the dialog with the current selection. ═══ 68. Cancel Button ═══ The Cancel button dismisses the dialog without making a change. ═══ 69. Select Highlight Style Dialog ═══ The Select Highlight Style Dialog is a display allowing the user to select any of the PM window styles. All windows with the selected style will subsequently be represented in reverse colors in the main display. The setting will be preserved across invocations of PMTREE. ═══ 70. Style List ═══ The Style List field contains a list of PM window styles for the user to select. Double-clicking on an item or selecting an item and clicking OK will cause the dialog to end with the given selection. ═══ 71. OK Button ═══ The OK button ends the dialog with the current selection. ═══ 72. Cancel Button ═══ The Cancel button dismisses the dialog without making a change. ═══ 73. Window Representation Width Dialog ═══ The Window Representation Width Dialog allows the user to alter the width occupied by window representations in the main display. A width may be assigned in the range 10-99, and the representations will then be sized to occupy a width equal to the corresponding multiple of the character cell height for the current font. ═══ 74. Width ═══ The Width field gives the width of a window representation in units of the character cell height for the current font. ═══ 75. OK Button ═══ The OK button ends the dialog and causes the hierarchy to be redrawn with representations of the given width. ═══ 76. Cancel Button ═══ The Cancel button dismisses the dialog without making a change. ═══ 77. Print Options Dialog ═══ The Print Options Dialog allows the user to control the way in which the hierarchy is printed on the local default printer. The application determines whether the whole display will fit on a single page. If not the user is offered the option of only printing the top left page (the head of the tree), or all the leftmost pages (to include all the immediate descendents of the head of the tree), or all pages (including any that are to the right of the main series. It is almost impossible at this stage to determine whether a page might be empty, so the last of these options should be used with caution - it may result in wasted paper. An option is also provided allowing the user to specify whether to print any representations at the boundary of two pages on both those pages to help make interpretation easier. ═══ 78. Print only top left page ═══ The Print only top left page option restricts printed output to one page containing the head of the hierarchy and as much else as fits on that page. ═══ 79. Print all pages on left ═══ The Print all pages on left option restricts printed output to those pages that correspond to the display with the horizontal scrollbar set to the left, i.e. the head of the hierarchy and its immediate descendents with as much else as will fit on those pages. ═══ 80. Print all pages ═══ The Print all pages option causes the whole display to be printed including any sections for which extra pages to the right are required. These pages will be printed whether or not there are any window representations in those parts of the output. ═══ 81. Overlap pages ═══ The Overlap pages option causes the last representations horizintally and vertically to be repeated on the next pages if any are selected. This may aid interpretation of the output. ═══ 82. OK Button ═══ The OK button ends the dialog and initiates printing with the selected options. ═══ 83. Cancel Button ═══ The Cancel button dismisses the dialog and cancels the print job. ═══ 84. Enter Metafile Name Dialog ═══ The Enter Metafile Name Dialog allows the user to specify a name under which to save the current tree hierarchy as a metafile. ═══ 85. Name ═══ The Name field should contain the name for the output metafile. ═══ 86. OK Button ═══ The OK button ends the dialog and causes the hierarchy to be saved to a metafile of the given name. ═══ 87. Cancel Button ═══ The Cancel button dismisses the dialog without saving the hierarchy. ═══ 88. Switch to PMTREE window ═══ The Switch to PMTREE window option switches focus back to the main PMTREE window without dismissing the dialog. ═══ 89. Help for Key Assignments ═══ The list of keys is arranged in groups. HELP KEYS F1 Get help F2 Get extended help (from within any help window) Alt+F4 End help F9 Go to a list of keys (from within any help window) F11 Go to the help index (from within any help window) Esc Previous Help Panel, or End help if only one panel Alt+F6 Go to/from help and programs Shift+F10 Get help for help SYSTEM KEYS Alt+F6 Switch to the next windowed program Alt+Esc Switch to the next program, including full-screen programs Ctrl+Esc Switch to the Task List WINDOW KEYS Arrow keys, Page Up/Down, Home, End Scroll display in main window Underlined letter Move among the choices on the action bar and pull-downs Ctrl+A Toggle automatic refresh option (Automatic refresh...) Ctrl+B Change width of window representations (Symbol Width...) Ctrl+C Make top child of current head window the new head window (Top Child) Ctrl+D Display hierarchy with system desktop window at head (Desktop) Ctrl+E Allow user to select from windows owned by the current head window to make one of them the new head window (Select Ownee...) Ctrl+F Change font for window representations (Font...) Ctrl+G Make sibling window immediately above the current head window the new head window (Previous Sibling) Ctrl+H Allow user to select from windows in same thread as current head window to make one of them the new head window (Windows in same thread...) Ctrl+I Restore display colors to defaults (Default colors) Ctrl+J Toggle display of window style in window representations (Show Window Style) Ctrl+K Toggle display of window process and thread in window representations (Show Window Process) Ctrl+L Toggle whether hierarchy is displayed in color or mono (Color) Ctrl+M Allow user to send or post messages to current head window (Messages...) Ctrl+N Make owner of current head window the new head window (Owner) Ctrl+O Display hierarchy with system object window at head (Object) Ctrl+P Make parent of current head window the new head window (Parent) Ctrl+Q Toggle display of window id in window representations (Show Window Idocess) Ctrl+R Allow user to select from windows in same process as current head window to make one of them the new head window (Windows in same process...) Ctrl+S Make sibling window immediately below the current head window the new head window (Next Sibling) Ctrl+T Allow user to change characteristics of current head window (Window Details...) Ctrl+U Refresh window display (Update Display) Ctrl+V Toggle display of levels deeper than immediate children in window hierarchy (Show One Level) Ctrl+W Allow user to select from all windows in system to make one of them the new head window (Select Window...) Ctrl+X Toggle display of window text in window representations (Show Window Text) Ctrl+Y Allow user to select a window style to be highlighted in the hierarchy (Highlight Style...) Ctrl+Z Save currently displayed hierarchy as a metafile (To Metafile...) Delete Disable any current style highlight selection (No Highlight) Print Screen Print currently displayed tree (Print Tree...) Alt+F4 or F3 Close the window Alt+F5 Restore the window Alt+F7 Move the window Alt+F8 Size the window Alt+F9 Minimize the window Alt+F10 Maximize the window Shift+Esc or Alt+Spacebar Go to/from the system menu Shift+Esc or Alt Go to/from the system menu of a text window MOUSE ACTIONS Double click selection button on window representation other than head Make selected window head of tree Double click selection button on head window representation Make parent of current head window head of tree Double click manipulation button on window representation Disabled display of descendents of selected window