Dec 102017
OS/2 Desktop Expander. 9 Lives (version 1.21) is a virtual desktop to replace the default desktop in OS/2.
File 9LIVE121.ZIP from The Programmer’s Corner in
Category OS/2 Files
OS/2 Desktop Expander. 9 Lives (version 1.21) is a virtual desktop to replace the default desktop in OS/2.
File Name File Size Zip Size Zip Type
9LIVES.EXE 104091 48766 deflated
README.TXT 24542 9081 deflated
VMAN.DLL 19674 11456 deflated

Download File 9LIVE121.ZIP Here

Contents of the README.TXT file


Welcome to Version 1.21 of 9 Lives!

written by Ross Judson of The Code Industry

9 Lives gives you multiple desktops in OS/2's Workplace Shell!

9 Lives is a desktop expander. It makes many "virtual desktops"
available to the user, instead of the standard one. Why is this
useful? It reduces window clutter and allows you to organize groups
of windows more effectively.

Thanks to everyone who registered the previous version! Your
registration code will work with this version as well (free upgrade).
Contact the address at the bottom of this file if you have any

I hope everyone likes this new version. I like it and use it every



This version has proven to be relatively stable, but to achieve
multiple desktops 9 Lives needs to do unusual things to PM.
Therefore, Ross Judson and the Code Industry cannot be held
responsible for any losses or damages incurred by the use of this
program. Use it at your own risk!


1.21 provides an indicator that a layout is active.

1.2 repairs a bug in the layout dialog handler. It also improves
support for automatic layout retrieval.

1.2beta won't close if window protection is active. It will also
attempt to determine if protected windows are closed and abandon the
password dialog if they are.

1.2beta provides a window layout feature. You can save and restore the
layout of your windows. This is probably the most requested feature
that users have, and now you can do it!

1.2beta provides a window protection feature that allows password
protection of windows. The window cannot be accessed upon activation
unless the correct password is provided. The dialog that controls
the protection is also password protected. As of this writing, 9 Lives
does not make an effort to prevent itself from being unloaded.

1.2beta allows the display of titles, icons, or both in the desktop diagram.

1.2beta changes the default for window movement in the desktop diagram
to be snapped to the desktop (exact movement is now done with the control

1.2beta provides combo boxes for sticky window and protected window
selection. This makes it much less error prone to select windows to be
sticky or protected.

1.2beta increases the length of the window titles stored for sticky and
protected windows.

1.2beta ensures that the shell window cannot be protected or made sticky.

1.1beta stores its settings in a new way that is compatible
with OS/2 2.1.

1.1beta draws the desktop diagram more accurately.

1.1beta lets you set different background colors for each
virtual desktop (although it's kind of slow).

1.1beta lets you configure the size of your virtual desktop.

1.1beta fixes a nasty problem with suspended windows, where you
couldn't get 9 Lives to do anything. I think.

1.1beta uses a smoother method of painting its window.

1.0d gives you the option of activating the window you click on in
the desktop diagram. When you clicked to change a window in 1.0b,
the desktop changed but the active window didn't. Selecting the
"activate under click" option tells 9 Lives' to switch to the desktop
you clicked on AND activate the window you clicked on.

1.0d makes the number keys activate particular desktops.

1.0d lets you drag windows between desktops but have them end up in
the same position. Hold down the control key while dragging windows
on the desktop diagram to force your window to have the same screen
position it had before.

1.0c adds a zooming capability; by clicking both mouse buttons at the
same time you can tell 9 Lives to fill the entire screen. It then
becomes extremely easy to place your windows. Click both buttons
again to put 9 Lives back to its original size. You can also use the
'control-Z' key, or choose 'Zoom' from the context menu. A 'visible
margin' feature has been added to the option dialog. It's convenient
to have a margin around the virtual desktop diagram that doesn't
activate any desktop if you have the activate on first click option
turned off.

1.0c also changes all accelerator keys to use the control key as a
modifier (that means you type control-z instead of just z). This is
in reponse to users who said that, due to confusion about the focus,
they were accidentally activating 9 Lives features when they thought
they were typing in a program. No more!

1.0c removes byte alignment from its window. That makes it a little
easier to position the window.

1.0c improves upon the method used to detect the workplace shell.
The improvement to you, the user, is that you will no longer have to
enter the title of the shell window into the options dialog.

1.0c gives you sticky windows. Sticky windows are windows (such as
Pulse or a memory watcher) that you want to keep visible at all times.
To set up sticky windows, use the "sticky windows..." button in the
options dialog. Enter the titles of the windows you want to be
sticky. 9 Lives will match what you type against window titles it
looks at. It uses _prefixes_. That means if you type BIC in the
sticky list, all windows with BIC as their first three letters will

1.0c now correctly resets the shell window when deleted from the
task list.

V1.0b adds the ability to drag 9 Lives' window around on the screen.
Right click and hold anywhere there isn't a mini-window in the
desktop diagram, then drag. You'll be able to easily position 9
Lives' window. If you want to bring up the context menu, don't drag;
just click.


V1.2beta fixes the periodic lack of update in the desktop diagram.

V1.0d fixes an error that could occur during the "Retrieve Windows"
operation. Some windows might not be retrieved correctly.

V1.0c correct some shell position errors when growing and shrinking
the shell window.

V1.0c corrects an error that occurred with certain complex parent/
owner relationships. An owned-relationship was not being correctly
detected. This was primarily visible with the Help System of Borland

V1.0c unzooms before closing so that the zoomed position will not be

V1.0c improves the keep on top logic. It's still not perfect, but it
works better.

V1.0b corrects a deficiency in changing desktops when invisible,
owned windows are present. The bug identified for V1.0a was not
actually completely fixed in that release, but turns out to be
related to the code used to keep the window on top. I am searching
for a better method to do this. In the mean time, you can work
around it by turning off the keep on top option.

V1.0a corrects an oddity PM presents to 9 Lives. Apparently, after
quitting from a full screen session, the WM_BUTTON1CLICK message is
not received. This resulted in an inability to switch desktops with
the mouse, but the keyboard controls still worked! A slight change
in 9 Lives attempts to work around this, so the problem should be no
more (NOTE - not so; see preceding paragraph).

If you find any problems, please let me know. My street address and
email addresses are at the bottom of this file.

Release Notes

If you lose a window (and I hope you don't), try the following:

1 - 9 Lives' Retrieve Lost Windows option
2 - The Alt-F7 keystroke
3 - The Alt then M keystroke

One of them should help you get it back. Remember, the window isn't
lost. It's just somewhere out of sight.

There is slight problem associated with VIO window, such as an OS/2
shell window. VIO windows need to be notified when they are moved or
sized. Unfortunately, 9 Lives can't let this processing happen
(arrgg :-). 9 Lives attempts to compensate for this, but is not
always successful. I am researching ways to fix this problem.

When leaving a full screen session, if you have the "keep on top"
option active, do not immediately change to another desktop. There
is some focus confusion happening, and 9 Lives will not correctly
respond. Either choose some other program first, or turn off the
keep on top option. This will be fixed! In the mean time, it might
happen to you. Here's what you should look for. When you exit the
full screen session, you'll notice that both 9 Lives and another
window are active (have title bars/borders in the active color).
Choose the other active window (not 9 Lives). PM seems to reset the
activation correctly at this point, and everything is normal from
then on.


9 Lives is a desktop expander. It makes many "virtual desktops"
available to the user, instead of the standard one. Why is this
useful? It reduces window clutter and allows you to organize groups
of windows more effectively. 9 Lives also knows how to save your
groups of windows so that you can save even more time.


The 9 Lives package consists of three files:

9LIVES.EXE - main executable
VMAN.DLL - support library
README.TXT - documentation file (ASCII)

Please do not tamper with the archive; upload it intact to other
bulletin boards.


Installing 9 Lives is simple. Unpack the archive and place
9LIVES.EXE, VMAN.DLL, and README.TXT either in their own directory,
or with your other OS/2 utilities.

You'll probably want to make an icon on your desktop for 9 Lives.
Open up the Templates folder and drag a new Program object to the
desktop. Enter the directory and file name to locate 9 Lives.
Switch to the General Page and change the title to 9 Lives. You may
want to put the program object in your startup folder. Now you're
ready to run 9 Lives!

If you want 9 Lives to automatically start when you boot OS/2, put
its icon or a shadow of its icon in the Startup folder, which is in
your OS/2 System folder.

Using 9 Lives

Once 9 Lives is running, you'll see a grid of desktops on its window
(this is called the "Desktop Diagram" throughout the rest of this
documentation). Miniature rectangles representing the windows on
your desktop will be shown in the diagram. Some are conspicuously
absent; 9 Lives itself, your shell window (the Desktop), and anything
you have in the "sticky" list (more on the sticky list later).

You can pick a new desktop by clicking the left mouse button on it.
The windows in your current desktop disappear, and those in the new
desktop become visible. Turn on the "activate under click" option
and the window you click on while you are changing desktops will
become activate automatically. If you click on an area of the
desktop diagram that has no window, the window currently activated
will stay activated.

Click the right mouse button to show a context menu. Click the right
mouse button and drag on a mini-window to drag it somewhere else. By
default the window will move to the same position on the target
desktop. Hold down the control key while dragging a mini-window to
allow precise positioning.

Click the right mouse button where there isn't a mini-window, then drag
without releasing the button, and you can drag 9 Lives' window around.

The following accelerator keys are available (^ means control):

F1 - Bring up help (instructions)
^A - Show the about dialog
^O - Show the options dialog
^L - Show the layout dialog
^R - Retrieve lost windows
^Z- Zoom in and out
^H - Hey, cut that out! key. If 9 Lives stops updating itself,
hitting this key may return it to action.
Esc- Turn the title bar on and off

You can use the cursor keys to move the current virtual desktop. The
desktop moves in the direction of the arrow key you push.

Right clicking on an empty area (without a window underneath) will
pop up the 9 Lives context menu, from which many commands can be

Clicking both buttons at the same time zooms 9 Lives' window in and
out. Clicking both buttons is commonly called a chord. Zooming is
nice for position windows across desktops -- the big picture is much
easier to work with.

Use the retrieve lost windows to pull all other windows to the
current desktop. This is very useful if, for example, you
accidentally move windows off the virtual desktop and want to get
them back.

Use the layout feature to save and restore window arrangements.
Often you will spend time to get your windows positioned across
desktops the way you want. After you've organized them, use the
layout feature to store the positions. You can designate a layout as
the "auto layout". The automatic layout is used by 9 Lives when it
starts up. This lets you create a favourite layout and use it
automatically. When you activate a layout, 9 Lives watches for the
windows in that layout (even if they haven't been created yet). As
the windows appear, 9 Lives will position them. A small green square
is displayed in the lower right corner of the desktop diagram when a
layout is active. To deactivate a layout, display either the options
dialog or the layout dialog. Both will stop the active layout. The
"comparison stop" field tells 9 Lives where to stop comparing window
titles. This is useful if, for example, you have your word processor
running with a file loaded. The title bar might read "Word Processor
- c:\doc.txt". You want 9 Lives to move your word processor window,
but you don't want to have to enter the file name. Entering "-" in
the comparison stop characters option will cause 9 Lives to compare
everything in the names until it reaches a "-". You can enter as
many characters as you want; the defaults ot "-" and ":" seem to work


"Width" and "Height" let you tell 9 Lives how big you want your
desktop to be. You can choose anything up to 9 desktops wide and 9
desktops high. There is no penalty for making large desktops, so
feel free!

A "Follow Active" option tells 9 Lives to try to keep the currently
active window visible. If you change to another window by, say,
using the task list, 9 Lives will attempt to figure out which desktop
that window is on and go there. You can activate and deactivate this
option from the options dialog.

"Expand desktop" tells 9 lives what to do with your workplace shell.
If this option is selected, 9 Lives will expand the shell window to
cover the entire virtual desktop. Your icons will only appear in one
desktop, unless you move them to another. If this option is not
checked, the workplace shell is not touched, and will be available on
each virtual desktop.

"Activating click..." prevents 9 Lives from changing desktops when you
click on it to active it. This option is very handy if most of 9
Lives is behind another window. You can click on the 9 Lives window
to activate it, then click on the desktop you want to go to. Without
this option turned on, the click that activated 9 Lives would also
have chosen a new desktop. But, some people prefer to have 9 Lives
on top and instantly respond to desktop changes on the first click.

"Visible margin..." tells 9 Lives to draw a small margin around the
virtual desktop diagram. This makes it easy to activate 9 Lives
without changing desktops. It also looks neat on some systems.

"Activate under..." tells 9 Lives to activate the window that's under
the mouse when you click on the desktop diagram to change desktops.
Was that a run-on sentence or what. Simple explanation -- see the
desktop diagram? Left click on a window in that and 9 Lives will
change to that desktop _and_ activate that program.

"Icons" and "Titles" allow you to control what is displayed in the
desktop diagram. Check or uncheck these boxes to display the title
or icons (if they are available) for the windows that show up in the
diagram. The icons and stretched or shrunken to fit in the small
space inside each window in the diagram, so they may not be too

The "sticky windows" button brings up a dialog that lets you make
windows stay put when you change desktops. Many OS/2 users always
have a memory manager and a pulse-type program visible. If you enter
the window titles of those programs here, they will stay visible when
you change desktops. So if you want to keep Pulse visible, enter
"Pulse" (without the double quotes) into one of the sticky window
boxes. The titles you enter in this dialog are compared as
_prefixes_. That means that 9 Lives compares the window title with
what you enter for the length of the string that you enter. If you
enter PUL, all windows that start with PUL will be sticky. The
comparison is case sensitive, so make sure you have the correct
spelling and capitalization of the words. 9 Lives provides a
drop-down list of the windows in your system to make choosing the
windows you want to be sticky easier.

You can drag and drop a font from the font palette on the 9 Lives
window. 9 Lives will use that font to draw the titles of windows in
its desktop diagram.

9 Lives remembers where you put it and how you set it up.

Tips and Tricks

9 Lives' many options make it easy to configure to your tastes. If
there's something that you'd like to see, please let me know! I'll
be happy to consider your request.

I like to set up 9 Lives in a 7 wide, 1 high configuration that sits
in a strip across the lower left corner of my screen. Most programs
pop into being conveniently above it, and it makes switching very
easy. I like to use the activate clicked window, follow active, and
expand desktop options.

When you are arranging windows across desktops, it's very handy to
use the zoom feature. Click both buttons on the 9 Lives window. You
can then easily move windows from desktop to desktop in the large
desktop diagram. Select the desktop you want to work on with the
left mouse button, then click both buttons again. 9 Lives will
"unzoom", and you will be working on the desktop you selected.

I have a default layout that I use. The program objects for the
layout are in a work folder so that I can start them all with one
click. Then I tell 9 Lives to use my default layout, and all my
programs area quickly arranged across the desktop.

I have my program object for 9 Lives sitting in the lower left
corner of my screen. When 9 Lives is running, it covers up the icon.


You may use this program freely in a 14 day trial period. If you
continue to use this program after the trial period has elapsed, you
must register it by sending your name, address, and $18 (U.S.) to:

Ross Judson
13105-G Tall Shadows Lane
Fairfax, Virginia, USA

In Canada, you may send a cheque for $20 Canadian to:

John Judson
6 St. Remy Drive
Nepean, Ontario, Canada
K2J 1A3

Make Cheques (payable in U.S. dollars, drawn on a U.S. bank) payable
to Ross Judson in the U.S.A., and to John Judson in Canada. A
registration form follows in this text; you can print it, fill it
out, and send it.

You will receive a registration code in response. Entering this
registration code into 9 Lives will defeat a nag mechanism that
becomes active after you use the program a certain number of times.

If you are requesting more than 3 registrations, please contact me to
learn about volume discounts.

For support, you can reach the author via email on Compuserve. The
ID is 73657,1712. I will attempt to answer as many questions as I
can. Please email me with your comments! They are very useful for
evolving the program.

I am available on America Online. You can email my screen name,

My internet address is [email protected].

If you have access to FidoNet, you can reach me on the OS/2 Shareware
BBS. The address is 1:109/347, and my name is Ross Judson, there.
This is the least reliable way to contact me, so please try one of
the other email methods if you can.

Enjoy your expanded lifestyle under the Workplace Shell!

Thanks to Kurt Westerfeld, who drove this forward when I got
distracted. Check out his cool QWK mail reader for OS/2, KWQMail/2.
It's the best thing going for reading bulletin board mail.

I'd like to take a moment to thank the users who've registered 9
Lives. You've made this all worthwhile. If you think you should be
on this list and aren't, let me know.

Alan Casden, Columbus, OH, USA
Allan Nancoz, Bronx, NY, USA
Andre Violette, HULL, Quebec, Canada
Anthony Simonini, Smithtown, NY, USA
C. W. Thompson, Oakworth, Keighley, West Yorkshire, England
Colin Longman, Fredericton, New Brunswick, Canada
Dana White, San Diego, CA, USA
Dave Proffer, Los Angeles, California, USA
Derek Smart, Miami, FL, USA
Dirk Klages, 31311 Uetze, , Germany
Fischer Olaf, 49086 Osnabruck, , Germany
Gerri's Service, St. Louis, MO, USA
Hansjorg Zimmerman, Mellingen, AG, Switzerland
Heikki Laitala, , , Finland
Jeff Sparksworthy, Truckee, CA, USA
Jeffery Haremski, Novi, MI, USA
Jim Brandon, Santa Barbara, CA, USA
John Hughes, Sacramento, CA, USA
John Volkar, Monongahela, PA, USA
Kai Uwe Rommel, D-80807 Munchen, , Germany
Ken Sproule, Elbow Lake, MN, USA
Kreitschi Norbert, Eichenau, , Germany
Lawrence Hunsicker, Iowa City, IA, USA
Mark Mollere, Hattiesburg, MS, USA
Mark Prabucki, Milwaukee, Wisconsin, USA
Mark T. Houpt, Upper Sandusky, OH, USA
Matt Boersma, Saratoga, CA, USA
Melissa Woo, Champaign, IL, USA
Michael Klink, 53127 Bonn, , Germany
Michael White, Hoffman Estates, IL, USA
Mike Collins, Columbus, OH, USA
Mike Stewart, Indianapolis, IN, USA
Miles Wan, Pickering, Ontario, Canada
Mitch Kirsch, Toronto, Ontario, Canada
Niels Schaumann, Edina, MN, USA
Peter Brodin, Norcross, GA, USA
Philip Mulrane, , , Germany
Randolph King, Tampa, Florida, USA
Richard Melrose, Cambridge, MA, USA
Robert Waller, Rowlett, TX, USA
Roland Foerster, 60388 Frankfurt/Main, , Germany
Roman Eglin, CH-8127 Forch, , Switzerland
Sean Johnson, Clemson, SC, USA
Stefan Braun, , , Germany
Stefan Hofmann, D-91220 Schnaittach, , Germany
Ted Thorpe, Burlington, Ontario, Canada
Tom Koschate, Brampton, Ontario, Canada
Tom Pfeiffer, Alexandria, VA, USA
Tulio Quirantes, Hialean, FL, USA
Universal Dynamics, Vancouver, British Columbia, Canada
Uwe Haller, 73066 Uhingen-1, , Germany
Vextor, Inc., Boca Raton, FL, USA
Vincenzo Inorno, 8070 Zurich, , Switzerland
Walter Petlevich, Uniontown, PA, USA
Wil Cook, Metairie, LA, USA
William Peters, Raleigh, NC, USA
Wolfgang Gottbrecht, Munich, , Germany
Yo-Yoon Cho, Natick, MA, USA

Release History

v1.0 - Initial Release
v1.0a - Fix Full-Screen session release
v1.0b - Fixed change desktop bug related to invisible, owned windows
v1.0c - Add zoom feature, margin option. Corrected shell management.
Added sticky windows.
v1.0d - Added activate under click. Added control-drag of windows.
v1.1 - Zillions of things.
v1.2beta - Windows layouts, protection, etc.
v1.2 - Final bug fixes
v1.21 - Layout Indicator

Order Form for 9 Lives!

Name _________________________________________________________________

Address ______________________________________________________________


City _________________________________________________________________

State/Province _________________________ Country ____________________

Zip/Postal Code ______________________________

Compuserve ID ________________________________

America OnLine screen name ___________________

Other Email Addresses ________________________

Enclosed is a cheque for _______________, for _____ copies of 9 Lives.


Mail to:

Ross Judson
13105-G Tall Shadows Lane
Fairfax, VA, USA


John Judson
6 St. Remy Drive
Nepean, Ontario, Canada
K2J 1A3

Make cheque payable to Ross Judson in the U.S. and John Judson in Canada.

Thank you!

 December 10, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>