The PC/2 beta home page

The PC/2 home page

Welcome to the home of PC/2, or Program Commander/2 if you prefer the long name. This page covers the public release 2.10, which went GA (general availability) in July, 1999! As there is of course still room for improvements, you may check the PC/2 beta page.

The final V2.10 build is now available and uploaded to 3 of the major OS/2 anonymous-ftp sites!

As PC/2 2.10 is fresh meat you may also want to check the PC/2 V2.00 page as it contains some information that applies to V2.00 but is still available - if not enhanced siginificantly - for V2.10! Depending on the feedback (reviews are very welcome!) I'll add things here.

However, software can never be perfect and PC/2 is no exception. You were and still are welcome to tell me your problems, I tried my best to correct them but there is no guarantee that this worked in each case!

You can download the PC/2 V2.10 from this site or major anonymous-ftp servers supporting OS/2 software, but first please take a look at the Highlights and into the more detailed PC/2 features page, containing some fancy screen shots and even a downloadable Ultimotion demo video.

Known problems

Highlights

PC/2 lets you become more productive using and maintaining your OS/2 based workplace because of its:

Fixes, changes and enhancements compared to V2.00

Many things have been improved for V2.10. The following items give you some detail about those changes, as they are listed in their chronological sequence some may be changes to something that was introduced by one of the PC/2 2.09 Betas.

  1. Fixes

    • Fixed that user messages too easily could corrupt the heap due to being too large in size (well, it's rather a workaround as I just quadrupled the static buffer's size in Error.c). Special thanks to Michael Taylor for his debugging efforts!
    • Fixed that seamless WIN-OS2 sessions didn't get maximized to the full size of the display like PM sessions when the SessionBar is *not* selected to be kept on top of Z-Order.
    • Fixed that selecting Save in the Destop Dialog caused the current Virtual Desktop to become the "middle" (origin) Desktop.
    • Fixed that closing Lotus Notes databases caused a PM hang (though recoverable by multiple CTRL+ESC sequences). A WM_USER based internal message was not passed to the next hook in the chain, likely Notes requires this message internally also. Thanks to Michael Taylor.
    • Fixed the Dynamic MenuSelection to prevent possible loops like those experienced with Lotus Notes or NetScape. Unfortunately when a menu has non-unique identifiers for its menuentries the Dynamic MenuSelection will still cause menuentries not to be selected at all or wrong menuentries to be selected. This is a permanent restriction for PC/2 (though for PM such menus are completely valid), e.g. NetScape Communicator/2's Bookmark submenu demonstrates that limitation. A workaround to prevent PC/2 doing incorrect menuselections is to keep mouse button 1 pressed while doing selections.
    • Fixed that horizontal and vertical size entryfields on Spy notebook page were in wrong order and added to display frame window handle too. Fixed that e.g. NetScape's Saving Location window got hidden behind NetScape's main window unexpectedly. This was caused by PC/2's trying to switch by the Virtual Desktop switch logic instead of just activating the current window on top of Z-Order. Thanks to Michael Taylor.
    • Fixed that Dynamic MenuSelection with Keyboard caused to automatically caused selection of cascading submenus. However, this fix is not perfect yet due to the way PM works, and is subject of future improvements (technically, this is a very complicated stuff, just see the source to verify that, and also very difficult to debug). In case of problems just disable the Keyboard support of Dynamic MenuSelection.
    • Fixed that Dynamic SessionBar "sensitive" area was always same height as SessionBar when shown, now it is adjustable, thanks to Michael Taylor.
    • Fixed that PowerDown dialog and Smarticons could be invoked even if PC/2's APM support was disabled.
    • Fixed that switching between Virtual Desktops by cursor keys, that is ALT+CTRL+SHIFT+cursor key could get PC/2 out of overall Virtual Desktop area, thanks to Michael Taylor. Corrected documentation to explicitely document that also the keys between the numeric keypad's cursor keys are usuable too (causing diagonal movements).
    • Fixed that %BOOTDRIVE% macro was ignored for Environment Spaces.
    • Fixed an encoding error for URLs, used for Online Automatic Registration.
    • Fixed that menuentries dragged into the Popup-Menu Configuration dialog were always inserted at the end of the list instead of after the selected menuentry. Changed that parts of the Popup Menu can be imported from or exported to a file. This allows easier manipulation of the Popup Menu than by using an editor.
    • Fixed a bug that caused the Move and Size menuentries in frame window's systemmenus to be unusuable. Possibly that has also caused some other side effects related to moving and sizing. Now only resizing a frame window can be limited to vertical resizing only (but you still can resize using the sizing border), to prevent that you will have to deactivate Dynamic Menuselection completely (by the way NPSWPS has the same limitation).
    • Fixed that any window having the substring "PC/2" in its titlebar (e.g. a NetScape window showing the PC/2 homepage) became a Sticky Window (that is a window that is always kept on the active Virtual Desktop). Thanks to Joerg Tiemann.
    • Fixed a bug that mistakenly checked for SLIDINGFOCUS in StatusFlag2 instead of StatusFlag1, that caused seamless WIN-OS2 comboboxes to be inaccessible from mouse and corruptions in Z-Order. Thanks to Walter Kopmann.
    • Fixed that /NOAUTOSTART and /NOSCHEDULER do not overwrite the settings in the Desktop Dialog (that is, they are effective only for the current invocation of PC/2)
    • Fixed that after PC/2 did Autostart a session, this session also became marked of having defined a User defined Size & Position (saving that into PC2.CFG), by adjusting that SSF_CONTROL_AUTOSTARTED does not contain the same value as SSF_CONTROL_SETPOS style.
    • Fixed that an Autostart application sometimes could not really be started, as the SSF_CONTROL_AUTOSTARTED flag was passed to DosStartSession().
    • Fixed a trap during WM_SIZE, WM_MOVE in PC2.EXE (0001:000047F3), thanks to John Bacas! I would have said that this could never happen, and I still wonder about it...
    • Fixed a trap during WM_PAINT in PC2.EXE (0001:00030772), thanks again to John Bacas! This trap can be reproduced by resizing the Overview window so that the client size becomes 0 either horizontally or vertically.
    • Fixed that CPU status of activities idle, busy and interrupt can not exceed 100%, which for unknown reasons seem to have occurred.
    • Fixed that SessionBar started to draw the 2nd icon instead of the 1st, when an icon the user requested to be hidden was found during PC/2 startup.
    • Fixed that Online Automatic Update feature left over not completely closed sockets, which after some time could cause TCP/IP to run out of resources and denial of service.
    • Fixed that SessionBar sometimes automatically srolls 1 session right- wards unwantedly.
    • Fixed a bug that the PM and WPS weren't not detected correctly during WM_SETDESKTOPHANDLE processing causing the Window List not displayed, the Sliding Focus not working and the SessionBar to stay empty when PC/2 was launched as the WPS. Many thanks to Michael Grigutsch for his patience.
    • Fixed that PC/2 did not support an option to prevent recursively cascading into Submenus while having selected the Dynamic Menuselection. Special thanks to Joerg Tiemann for his extensive suggestions!
    • Fixed that PC/2 did not support an option to allow Dynamic MenuSelection to be operated by the keyboard too (though this has some side effectes due to the way PM menus are designed). Special thanks to Joerg Tiemann for his extensive suggestions!
    • Fixed that HW Panning Support did resize windows when switched to them via e.g. SessionBar (because WM_ADJUSTWINDOWPOS and WM_WINDOWPOSADJUSTED were processed in the sending process' context). Also the Window List no longer is subject to sizing limitations.
    • Fixed that the online help for the Spy notebook page did not display with the Help pushbutton. Fixed that starting sessions into the background sometimes removed the input focus from the window currently having the input focus, thanks to Joerg Tiemann.
    • Fixed that the Hotkeys were not always filled in correclty at the Program Installation's Hotkey notebook page.
    • Fixed that the Overview window "skipped" drawing windows farther away than 5 Virtual Desktops from the current selected Virtual Desktop, thanks to Joerg Tiemann.
    • Fixed that opening the Desktop Properties or other views of the Desktop (WPS) caused PC/2 to think it should popup its Popup Menu over those windows, thanks to Joerg Tiemann.
    • Fixed that the currently edited Environment Space gets not updated/ saved when pressing the save pushbutton.
    • Fixed that path information in Setup dialog could have exceeded available place.
    • Fixed Advanced Marking to that button 3 can be selected for pasting instead of button 2 for all supported applications.
    • Fixed a loop pasting text into NetScape 4.04's "Go to:" entryfield by simulating a button 1 click into entryfields before pasting. This sould not break other entryfields, but one never knows.
    • Fixed that maximizing a window that would not cover the whole screen then (e.g. a 80*25 command window) does not cause that windows to be sized smaller, but moved downwards.
    • Fixed that Advanced Marking in Personal Communications/3270 windows did "hide" the cursor (though still the position sometimes is one row too low).
    • Fixed that the SessionBar could get corrupted when selected to hide session icons.
    • Fixed that "Button 2 Titlebar click lowers Z-Order" did switch to seamingly unrelated windows (implemented by changing that the SessionBar now switches focus to the window below the mouse pointer instead the next one on top or Z-Order).
    • Fixed (or better make a workaround) that SmartSuite 97's Lotus 123 did trap in MAIN123W.DLL (at 0001:0003bcde) even when not having activated Titlebar SmartIcons (hopefully, as there seems to be more than one situation SmartSuite traps).
    • Fixed that PC/2 didn't initialize itself into the root drives of NFS-, LAN and TVFS attached drives before launching applications.

  2. Changes

    • Changed installation to accept default values by just pressing Enter and added a query about (re)creating PC/2's icons on the Desktop (to prevent overwriting adjustments made to a previous installation).
    • Changed that PC/2 accepts its configuration files from any arbitrary directory specified with the commandline parameters instead of just from the directory PC/2 was installed into, when the specified path looks like a fully qualified path. Thanks to Bjorn-Willy Arntzen.
    • Changed that DosError(FERR_DISABLEHARDERR) is called during PC/2 startup to prevent access to drives (e.g. when no media is inserted) to display a System Error possibly causing SIQ blocking. For unknown reasons the Prf-APIs seem to undo that request, thus I set it again as the last thing in IniAccess() as a workaround. Changed that Edge Activation of the Overview window is not a fixed size but a percentage (currently 3 percent) of the horizontal resolution.
    • Changed that when Overview window was unhidden due to using the Edge Activation, it will hide itself again after losing the input focus (e.g. when the user clicks onto another window).
    • Changed that Online Automatic Update feature tries to determine the local dotted-decimal TCP/IP address and the local hostname.
    • Changed Except.c to include a more detailed description how the trap log can help to locate the failing statements.
    • Changed behaviour of "Follow Focus". Now, when the SessionBar gets the input focus, PC/2 tries to switch to the next lower window in Z-Order if it is on the current Virtual Desktop. Only if no matching window can be found the one below the mouse pointer is activated, however only if that window is better on another Virtual Desktop, PC/2 will also switch to that one (avoiding seamingly random switched between Virtual Desktops (as V2.00 did). Thanks to Michael Taylor.
    • Changed that switching to another Virtual Desktop (e.g. on the Overview window, with Autoscroll or ALT+CTRL+SHIFT+cursor) tries to set the input focus to the window at top of Z-Order (which must not be a window of PC/2 and completely within that Virtual Desktop). Of course if the switch is caused by a Hotkey, the hotkeyed window will receive the input focus even if it is not on top of Z-Order.
    • Changed that sessions to be autostarted are launched by a posted not sent message, which prevents a not correctly drawn Overview window for sessions autostarted immediately when PC/2 launches (a timing problem).
    • Changed that Online Registration saves the Release used to register. Changed to release the hooks in WM_CLEANUP after WM_CLOSE was confirmed, this should prevent the hooks being the source of messages during shutdown processing.
    • Changed to release the hooks in WM_CLEANUP after WM_CLOSE was confirmed, this should prevent the hooks being the source of messages during shutdown processing.
    • Changed that Online Registration reduces usage of sockets (by using only 1 socket to periodically query the LAN/PPP interfaces and increasing the intervalls to retry connection requests), which caused TCP/IP to run out of sockets.
    • Changed to release the hooks in WM_CLEANUP after WM_CLOSE was confirmed, this should prevent the hooks being the source of messages during shutdown processing.
    • Changed that Online Registration reduces usage of sockets (by using only 1 socket to periodically query the LAN/PPP interfaces and increasing the intervalls to retry connection requests), which caused TCP/IP to run out of sockets.
    • Changed that the Popup Menu can also be activated with the Caps and Sroll Lock keys. Thanks to Joerg Tiemann for this suggestion! Changed layout of Spy notebook page, and added Size and Position information. Additionally, pressing the ALT key while spying is active freezes spying.
    • Changed layout of Spy notebook page, and added Size and Position information. Additionally, pressing the ALT key while spying is active freezes spying.
    • Changed that the clock display in the SessionBar can be turned off.
    • BUILDLEVEL.CMD now displays syntax for missing arguments.
    • Advanced Marking now also supports to copy text from NetScape, this includes not only to the browser window but also the Document Source window. This is valid for both, version 2.02 and 4.04.
    • Advanced Marking now also support Lotus Notes 4.52 (for seemingly all areas where one can enter text using the Rich Text Control.
    • When importing WPS Objects into the Popup Menu, customized icons are now imported (however it's up to the WPS to supply them, which it currently doesn't seem to do).
    • For OS/2 and DOS windows where no working directory is specified, %BOOTDRIVE%\ is implicitely assumed to avoid them to be started in the root of the last drive.
    • When importing with WPS 2 PC/2, PC/2 now removes commandline parameters that make only sense in the WPS, that is %, %*, %**P, %**D, %**N, %**F and %**E.
    • Special thanks to Andrew Zabolotny for greatly enhancing the Overview window (icons, gradient color,...) and providing me the modified source code (including some bug fixes, corrected type conversion and Single Click to switch on Overview Window).
    • You can now switch to the adjacent Virtual Desktop with the cursor keys (both keypads). Just press ALT+CTRL+SHIFT+CursorKey.
    • Changed to using the 32-bit version of the dynamic Libpath API. This seems to have cured the problem that the first application launched from PC/2 sometimes was delayed a few seconds.

  3. Additions

    • Added the -NoCleanup commandline parameter which prevents to clean up the Popup Menu during PC/2 termination. This saves some time as no memory deallocation is performed and prevents blocking the SIQ during destruction of the Popup Menu. It relies that OS/2 will do the cleanup after PC/2's process has terminated. Implemented by request from Bjorn-Willy Arntzen to improve PC/2 usability for WSOD (WorkSpace On Demand) environments.
    • Added the -NoPrompt commandline parameter which prevents questions and informational messages to be presented to the user. Implemented by request from of Bjorn-Willy Arntzen to improve PC/2 usability for WSOD (WorkSpace On Demand) environments.
    • Added support to export a Menuentry into a file and to import a Menuentry from a file. This allows to share e.g. a submenu that corresponds to an applications folder much easier between PC/2 installations (that is you have installed the application once and share the setup by exporting the submenu and its Environment Space to a different PC/2 installation).
    • Added support to unhide the Overview window after a configurable delay by moving the mouse pointer near a configurable edge of the screen. Thanks to Michael Taylor this suggestion.
    • Added that during ShutDown/PowerDown WM_SAVEAPPLICATION is broadcasted, as this message is designed to allow applications flush data to disk as a ShutDown is immediately to follow.
    • Added support for detached sessions (including support for environment adjustments).
    • Added support to allow Drag & Drop of WPS Object onto the WPS 2 PC/2 window in addition to its icon on the WPS.
    • Added support for delayed Dynamic Menuselection and delayed Sliding Focus, that is you can select a delay of up to 2500 ms in 100 ms granularity.
    • Added support for Dynamic Sessionbar, that is the SessionBar slides onto the screen when moving to mouse pointer to the top or bottom of the screen and not removing it within a configurable time window.
    • Added a fix when copying into the clipboard from NetScape/2 2.02 (which is a bug/design flaw of not emptying the clipboard before copying into it, which can cause data from multiple processes/different formats in the clipboard, which is considered bad PM programming practice).
    • Added (entry level) support and documentation when running PC/2 as the protected mode (PROTSHELL) process (though I don't see many reasons why one wants to do that).
    • Added Exception List to persistently allow hiding of application windows in the SessionBar.
    • Added support for a timed automatic switch (that is "Click to Move" not selected) between Virtual Desktops, that is you can select a delay of up to 2500 ms in 100 ms granularity.
    • Added an optional CPU Performance utilization graphics for the SessionBar that shows the per processor Interrupt, Busy and Idle times for a selectable reporting intervall (available only if support by OS/2 is available, e.g. Warp 4+, Warp Server Advanced SMP+).
    • Added support for the %PC2% macro, which contains the path PC/2 was launched from (usefull when you install applications in subdirectories under PC/2 and e.g. your backup and reinstall OS/2).
    • Added support for the %PC% environment variable for an application's Environment.
    • Added a button to request backups of your configuration files. Additionally, changes are tracked and a backup is automatically suggested if a threshold gets exceeded.
    • Added a Sticky Windows entryfield where you can centrally define windows being sticky that may not appear in PC/2's Popup Menu (though the corresponding per menuentry setting still is available).
    • Added support to allow maximized (and only maximized PM) windows to cover the SessionBar if the SessionBar is not selected to be kept on top of Z-Order.
    • Added support for the Automatic Update feature, which allows you to register as a PC/2 user und PC/2 to automatically download news/updates/fixes/... regarding PC/2 from the Internet. In order to allow PC/2 use this feature (in PC2NET.DLL) TCP/IP must be installed any you need to have a permanent or dial-up connection to the Internet either directly or via a proxy.
    • Added an optional delay for Autostart applications (thanks to Sorin Srbu for that suggestion).

Good to know

Once you downloaded the PC/2 V2.10, I recommend you to take a quick look into the announcement letter PC2.DOC and the additional online documentation before starting installation.

One thing I'ld like to mention is that from the feedback I think that the concept of Environment Spaces introduced with PC/2 2.00 is one of the most valuable features of PC/2, not available in any other application I know of! If you have some time, please look for it in the online documentation, I think you can't live without it afterwards!

Installation information

It's pretty simple hopefully, just download the complete package into a temporary directory and unzip it with e.g. INFOZIP's UNZIP:

  1. If you haven't installed PC/2 currently yet, just start the installation Install.cmd.
  2. If you are a PC/2 user, before starting installation of this version, backup your existing PC/2 configuration. Then you might need to stop (to ensure that no files are locked) or even deinstall (in case you want to upgrade WPS 2 PC/2, as the WPS will lock WPS2PC2.DLL otherwise, making it impossible to replace it) PC/2 (but keep your PC2.INI, PC2.CFG and PC2.ENV as they can be upgraded by this version) and reboot. After the next boot, no PC/2 files should be locked and installation by Install.cmd will work then.
  3. Of course, if you're an OS/2 expert you can install by just copying the modules (*.DLL, *.EXE, *.HLP) over your existing installation. In case of problems then I may not be able to help you as I can't see your installation.
The PC/2 features page has been updated for PC/2 2.10 also, and the PC/2 hints and tricks are still helpful (just use pc2v210 as the password to decrypt the source archive.

Download PC/2 V2.10

Well, here is what you are waiting for ;-). You can download PC/2 V2.10 from this site, hopefully you won't have too much troubles downloading it, as Geocities sometimes has bandwith problems (if you have problems, please let me know and I split the archive in multiple parts).

This download corresponds to the final! V2.10 build, which has just some very minor changes in the online documentation and INSTALL.CMD compared to build "C" many of you have downloaded.

Just download the PC/2 V2.10 GA (1.439 kB) archive, which does include the source code! Now, feel free to upload that archive to any site you think it should be available!

I have uploaded it to the following anonymous-ftp servers:

Once you start the installation or run PC/2 for the first time you will notice the request to fill in the Registration notebook page. Though this page is called Registration it does not mean PC/2 no longer is Freeware (PC/2 still is Freeware). If the text would have fitted, I would have called that page Online Automatic Update feature.

So what's the reason for a Registration? Well, with a few words there are 2 main reasons:

When you launch PC/2 while not having filled out the Registration page, a dialog will ask you to do so, please select the Help button then to get a really extensive information why I introduced that feature.
This is the first time I'm supplying such a technology, so if you feel to give me some comments why you think this is not a good idea, please e-mail me!

I do know that misusing e-mail addresses for spam mails is a problem nowadays, but I do not pass on any information I get from you, be it e-mail or the registration. What I get when you register is a mail like the following:

Please respond to No.Return.Email@geocities.com (Geocities WebMonitor mail) To: Roman Stangl/Austria/IBM@IBMAT cc: Subject: FORM results Sent from Mail Form posted at: (Subject) PC/2 V2.10 (07,1999) Online Automatic Update (FirstName) Roman (LastName) Stangl (Email) Roman_Stangl@at.ibm.com (TCP/IP Address) 9.244.7.113 (Hostname) stangl.austria.ibm.com

That's all, most important for me is the version of PC/2 you are using in the Subject line.


(C) Roman Stangl (Roman_Stangl@at.ibm.com), 10.05.1997
Last update: 01.12.2000
1