SoftArts Deskey by J. Edward Sanchez.
Version 1.00.005; Friday, March 15, 1996.
Copyright (c) 1995-1996 by SoftArts. All rights reserved.

Thank you for testing this public beta release of Deskey. This version of the
software is for testing purposes only, and will cease to function on April 15,
1996. Newer versions will be released to the public as they become available.

As with all beta releases of software, Deskey may contain bugs that may cause
it to operate incorrectly, and possibly cause inadvertent damage. The main
purpose of a public beta release of a product is to allow potential users to
test the software and report any problems encountered so that they can be fixed
before the product is finalized. Therefore, be forewarned: USE THIS SOFTWARE AT
YOUR OWN RISK.

During this beta period, bug reports and suggestions are welcome and are highly
appreciated. Please send all feedback via Internet e-mail to
jess@tridel.com.ph.

The latest version of Deskey is always available at the SoftArts Internet World
Wide Web site at:

  http://www.tridel.com.ph/softarts/

For a summary of what's new in this release, see "IX. Revision History" at the
end of this document.

I. What is Deskey?

Microsoft Windows 95 includes many new and useful features for managing your
desktop and windows, but leaves many things to be desired. Deskey was written
to fill in these gaps and greatly extend your control over the behavior and
organization of your desktop.

Features of Deskey include:

 - Window placement manager with manual- and auto-apply.

   Ever wish that certain windows (like Notepad and WordPad) would remember
   their window positions? Ever wish Explorer would stop forgetting window
   positions every so often? Ever wish you could instantly size and position a
   window identically to another one? This is the solution!

 - "Hide" option added to all application system menus.

   If you're running a program in the background, but don't want it to clutter
   the Taskbar, this is the solution!

 - "Hide All Windows" similar to Explorer's "Minimize All Windows".

   Want to instantly clear your entire desktop (and the Taskbar) of windows,
   but keep the windows running in the background? This is the solution!

 - Hidden window manager.

   Need to unhide a window, or a whole bunch of windows, at once? This is the
   solution!

 - Snazzy shortcut key support.

   Want to do all of the above, but at the touch of a key? This is the
   solution!

II. Requirements

Deskey requires Microsoft Windows 95 running Explorer as the Windows shell
(this is the default). Deskey's behavior if run under alternative shells (such
as Program Manager, Norton Navigator, HP Dashboard, or the Windows NT "New
Shell") is undefined.

This is the second public beta release of Deskey. The first public release
generated favorable feedback from users all over the world, who ran it on a
variety of different hardware configurations.

Deskey was developed on a 486DX4-100 with 12MB of RAM, but should run on any
machine that will run Windows 95 adequately; that is, a 486-class machine with
at least 8MB of RAM.

Deskey is packaged in a PKZIP-compatible compressed archive, DK100B05.ZIP. To
extract its contents, you will need a PKUNZIP-compatible archive extraction
program.

III. What's in the package

The Deskey package you received should contain, after unzipping, the following
files, no more and no less:

  FILE_ID  DIZ  ZIP description file
  DESKEY   EXE  Main executable
  DESKEY   DLL  Supporting DLL
  DESKEY   INF  Install/uninstall script
  DESKEY   HLP  Help
  DESKEY   CNT  Help table of contents
  DESKEY   GID  Help index template
  DESKEY   TXT  This file

If your copy of Deskey is missing one or more of these files, it may be
damaged or incomplete. Do not attempt to install Deskey if you suspect that
your copy is in any way corrupted. For information on how to obtain a complete
original copy of Deskey, contact SoftArts via Internet e-mail to
jess@tridel.com.ph, or visit the SoftArts Home Page on the Internet World Wide
Web at:

  http://www.tridel.com.ph/softarts/

Note: If you have Explorer configured to hide certain file types (this is the
default), DESKEY.DLL will appear to be missing. To quickly verify its
existence, launch an MS-DOS prompt and issue a DIR command in the directory you
extracted the Deskey files into.

IV. Installation

Deskey currently does not include its own installation program, but does
include a simple Windows 95-compatible install/uninstall script. Installation
of Deskey is a simple three-step process, whether you're installing for the
first time or upgrading from a previous version:

1. Use a PKUNZIP-compatible program to extract the files in DK100B04.ZIP into a
   temporary directory, such as C:\TEMP.

2. Navigate to this directory using Explorer. For example, if you extracted
   DK100B04.ZIP into C:\TEMP, then double-click on "My Computer", then double-
   click on "C:" then double-click on "Temp".

3. Right-click on the DESKEY.INF icon (it looks like a text file icon with a
   little yellow gear on it), and select "Install" from the popup menu.

That's it! Deskey is now installed on your system, in "Program Files\Deskey".

The install script automatically configures Deskey to run every time you start
Windows. To run Deskey manually, click the Start button, point to Programs,
point to SoftArts Deskey, and then click on Deskey. To remove Deskey from
memory, either choose "Exit" from the Deskey popup menu, or, alternatively,
simply launch Deskey again. (If you launch Deskey when another copy is already
running, both copies are automatically closed for you. Thus, running Deskey is
like an on/off switch.)

V. Using Deskey

This section is organized as a series of short tutorials to help you get
acquainted with Deskey's features. To get the most out of Deskey, go through
them one by one, then experiment on your own. Deskey has a lot of helpful
little goodies that you can discover on your own!

A. Gearing up

When you run Deskey, it appears as a small gold key icon on the Windows 95
System Notification Tray (this is the area of your Taskbar that displays the
current time, and also contains the "speaker" volume control icon on most
systems).

Deskey has no main window; instead, you perform all of Deskey's functions
through Deskey's popup menu, which is accessed by clicking on the Deskey icon
with your secondary mouse button.

Before you begin this short series of tutorials, make sure Deskey is correctly
installed, and up and running.

B. Playing hide-and-seek

The first thing to try out is Deskey's "hide all windows" feature. Open a bunch
of windows on your desktop, then click on the Deskey icon with your secondary
mouse button, and select "Hide All Windows" from the Deskey popup menu. All the
open windows should disappear from your desktop, as well as from the Taskbar.
Whoa! What happened? Don't worry; getting them back is a snap: just bring up
Deskey's popup menu again, and this time, select "Undo Hide All", and
everything's back the way it was.

What if you had wanted to unhide just one window, instead of all of them? Well,
Deskey can do that too. Let's try it out. Select "Hide All Windows" from
Deskey's popup menu to hide all the windows again. Now, open Deskey's popup
menu again, and this time, select "Hidden Windows...".

Deskey pops up a dialog box that lists all the hidden windows present on the
system. Select a few of titles that correspond to windows that were visible
earlier, and press the "Unhide" button. Voila! Deskey selectively unhides only
the windows you specified!

(Note: You may notice some strange and unfamiliar window titles on this list.
These window titles correspond to windows that Windows 95 and your applications
keep hidden during normal operation. Select and unhide these windows at your
own risk! Deskey tries to filter out some of the more dangerous windows from
this list, but can't weed them all out. As a rule of thumb, if you see a window
title you don't recognize, don't unhide it.)

Is the Hidden Windows dialog box a bit too cumbersome for you? Well, there's an
even faster way to unhide a particular window. Click on the Deskey icon with
your *primary* mouse button, and up pops a menu listing all the hidden windows.
Select an item, and the window instantly pops into view!

Now, what if you don't want to hide all windows at once -- just the active one?
Simple. Open the active window's system menu by clicking on the icon in its
upper-left corner. To the standard list of options (Restore, Move, Size,
Minimize, Maximize, and Close), Deskey has magically added a new item: Hide.
Click on "Hide" and the active window obediently vanishes! To get it back, of
course, simply bring up Deskey's popup menu, select "Hidden Windows...", pick
the desired window from the list, and click the "Unhide" button. (Or, click on
Deskey's icon with the primary mouse button, and choose the window title from
the menu.)

The ability to hide and unhide windows on your Desktop is a very powerful
feature that has many uses. For example, if you have so many windows open that
each one is just a useless sliver on the Taskbar, then hide the ones that you
aren't working with at the moment to regain some valuable Taskbar space.
Explore and experiment and see what you come up with!

There are shortcut keys that correspond to the hide/unhide functions of Deskey:

 - To "Hide All Windows" or "Undo Hide All", press Alt+Caps Lock.

 - To bring up the Hidden Windows dialog box from within any application,
   press Alt+`. (That's the backquote key, located on the upper-left of most
   keyboards. International keyboards may vary.)

C. Window placements: "Stay!"

Deskey's powerful window placement manager allows you to control precisely
exactly where each window on your system goes -- and stays. There are a
variety of ways to use this feature for maximum flexibility and convenience.
Let's dive in.

Many applications automatically save their window positions so that they always
open in the same spot. On the other hand, many applications don't. Notepad is
one example of this kind of ill-behaved application. Let's use Deskey's
auto-apply window placement feature to assign a permanent window position to
those wayward Notepad windows.

First, start Notepad by clicking on the Start button, pointing to Accessories,
then clicking on Notepad. Notepad's window opens up -- wherever it pleases.
Now position and size Notepad exactly where you want it to be permanently. Then
bring up Deskey's popup menu and select "Window Placements..."

Deskey brings up the Window Placements dialog box, where you organize and
manage all your window placements. The list is empty, because we haven't saved
anything there yet. Let's add a window placement now. Click the on "Add..."
button.

Another dialog box comes up, asking us what kind of window placement we want to
add to our list. We can either add a blank (default) placement, or capture one
from an existing window. Since we've just painstakingly positioned Notepad,
let's capture its placement now. Click on "Capture from window" and choose
"Untitled - Notepad" from the list.

Deskey captures the current window placement of Notepad, and presents another
dialog box, allowing us to manually edit the window placement before it gets
added to the list. For the meantime, we'll just accept all the settings as they
are, and press "OK".

Now we're back at the main Window Placements dialog box. We now have one item
on the list, "Untitled - Notepad". Now let's try it out.

Press the "Close" button to dismiss the Window Placements dialog box. Then
close the Notepad window, and launch it again (Start button, Accessories,
Notepad). Presto! The new Notepad window appears exactly where the old one was!

How does Deskey perform this miracle? Well, every time a new window is opened,
Deskey checks against its list of saved window positions. Deskey looks for the
first window placement whose name is contained in the title bar of the new
window, and if it finds one, applies the saved window placement to the new
window. It's as simple as that!

In this case, we opened a window that contained "Untitled - Notepad" as its
title bar. Since our first (and only) saved window position was called
"Untitled - Notepad", Deskey took the saved placement and applied it to the
new window.

However, not all Notepad windows are titled "Untitled - Notepad". For example,
if we had opened an *existing* Notepad document -- say, something like, "To-do
list", Notepad would have started with the following title bar: "To-do list -
Notepad". This title bar no longer contains the name of our saved window
position, so Deskey ignores it, and the new Notepad window positions itself
wherever it pleases! Drat!

The solution is to name the saved window position to a string of text that is
*always* contained in the title bar of the target window. In Notepad's case,
the one thing that will always be in Notepad's title bar is the application
name itself: "Notepad". So let's go into Deskey's Window Placement manager and
change the name of our saved window placement to simply "Notepad". Select
"Window Placements..." from Deskey's popup menu, and the Window Placements
dialog box comes up. Select "Untitled - Notepad" and click on the "Edit"
button. Now, edit the saved placement's name to simply "Notepad", and press OK.
Then close the Window Placements manager, and you're all set! From now on,
every window that contains "Notepad" in its title will be automatically
positioned to your "Notepad" saved window placement.

If you're feeling adventurous, go back into the "Edit" dialog box and have a
look at the options available to you. For example, you can set the window
orientation to "Normal", "Maximized", "Minimized", or "Hidden". This is useful
if you want a certain application to always start, say, maximized, or hidden.
(Note: There is a bug in Windows 95 that causes Deskey's "Hidden" auto-apply
feature to work improperly. Specifically, if a window has "Hidden" auto-applied
to it, it becomes impossible to unhide the window in any way. We are feverishly
trying to devise a workaround to this annoying and perplexing problem.)

Another thing you can do is set the maximized and minimized position of the
window. This specifies the upper-left corner of the window whenever it gets
maximized or minimized. (The default values of -1 tell Windows to maximize the
window to the full size of the screen and minimize to the default position.
Note: Minimized position has no effect under Explorer, because minimized
windows are always placed on the Taskbar.)

One interesting and useful option is the shortcut key. This allows you to
assign a key combination (from Alt+1 to Alt+9) to the current window placement,
which allows you to manually apply the window placement to the active window.
For example, try setting Notepad's shortcut key to Alt+1. Press OK, then close
the Window Placements dialog box. Then open another window, say WordPad. Now,
while WordPad is the active window, press Alt+1, and like magic, WordPad is
instantly zapped to your saved window position. (Make sure you press the "1" on
the top row of your keyboard -- not the one on the numeric keypad.) You can use
this feature to apply your favorite saved window positions to just about any
open window! (As of this release, manual apply using shortcut keys doesn't work
with DOS boxes, but auto-apply does.)

Deskey also has a standard shortcut key that allows you to pop up the Window
Placements dialog box from within any application: Alt+0. (Again, press the
"0" on the top row of the keyboard -- not the one on the keypad.) When you use
Alt-0 over an application, Deskey automatically finds and selects the
appropriate saved window placement (if any) from its list, for easy editing
and re-applying (using the "Apply" button). Pressing "Add" also automatically
selects the "Capture" option and selects the active window, for maximum
convenience.

VI. Uninstalling

If, for some reason, you want to uninstall Deskey from your system, there are
two simple ways to do it:

A. Click the Start button, point to Programs, point to SoftArts Deskey, and
   then click on Uninstall.

B. Go to the Install/Uninstall tab of Add/Remove Programs in Control Panel,
   select "SoftArts Deskey Version 1.00 Beta, Build 5 (Remove only)", and click
   on the "Add/Remove" button.

That's it. If Deskey is currently running (or if DESKEY.DLL is currently
loaded) when you uninistall, you may be asked to restart Windows to complete
the uninstall. After doing so, Deskey should be totally eradicated from your
system (except for the "Program Files\Deskey" folder itself -- you'll have to
remove that yourself).

Note: Uninstalling Deskey this way deletes all configuration information as
well. If you're planning to upgrade Deskey to a newer version, do *not*
uninstall it first. That way, your existing settings and saved window
placements can be imported into the new version of Deskey.

VII. Notes from the author

I wrote Deskey, first and foremost, for myself. It incorporates a slew of
features that I've long been looking for in a Windows utility, and I have tried
to make it as useful and easy-to-use as possible, so that as many people as
possible can benefit from it.

I hope to increase its functionality, as well as add Windows 95-specific
features such as popup help windows.

Like most people, I need to pay bills, and am hoping that Deskey will be useful
enough to some people for them to want to pay for it. I'm contemplating a
shareware registration fee of $10. Does this sound reasonable to you? Too high?
Or do you think I deserve a little more for all the long hours I've put in
debugging and polishing this project? I invite you to write me e-mail on this
and any other feedback you can give me about Deskey. As stated numerous times
throughout this documentation, my e-mail address is jess@tridel.com.ph. In any
case, the beta version is free.

I would also like to state that SoftArts is a Philippine-based software
company, and that Deskey is proudly Philippine-made. There isn't enough good
Philippine software out there; through Deskey, I hope to add to the list in my
own little way.

And lastly, I would like to dedicate Deskey to Irene, the most beautiful person
in the world.

VIII. Known problems and limitations

Known problems:

 - Deskey does not check to make sure Explorer is running as the shell.
 - Auto-apply is somewhat flickery.
 - "Minimize All Windows" should bypass window animation, the way the Taskbar's
   does.
 - Active semaphore is not consistently used (might *conceivably* cause a
   reentrancy crash in extremely rare situations).
 - The icon/sound used in message boxes is not always appropriate.
 - Auto-apply of Hide doesn't work properly, due to a bug in Windows 95. Don't
   use this feature for now.
 - Shortcut keys may not work on some keyboards; also, Alt+Caps Lock is
   annoying because it affects the keyboard Caps Lock indicator.
 - Re-opening a hidden Explorer window causes duplicate open windows. Benign,
   but weird.

Known limitations:

 - Controls in dialog boxes are not Windows-95-style 3D.
 - "Hide All Windows" doesn't appear on the Taskbar's popup menu.
 - Auto-apply doesn't support module names or filenames -- just title bars.
 - Shortcut keys don't work in DOS boxes.

IX. Revision history

1.00.001: Monday, September 25, 1995 (first alpha release)

1.00.002: Tuesday, September 26, 1995 (second alpha release)

1.00.003: Saturday, October 28, 1995 (third alpha release)

1.00.004: Wednesday, February 14, 1996 (first beta release)

1.00.005: Friday, March 15, 1996 (second beta release)

 + Added "System Tray" support. Deskey no longer appears on the Taskbar.

 + Added the Hidden Windows popup menu.

 * Fixed a minor bug with maximized window positions that caused positioning
   problems when the window border width was changed.

 * Fixed a minor bug with the Window Placements dialog box that sometimes
   caused Deskey to fail to auto-select a window placement when invoked
   using the Alt+0 shortcut key.

 * Fixed a bug that sometimes caused window placements to be auto-applied when
   an Explorer folder window was renamed.

 * Worked around a Windows 95 bug that caused window placements to be auto-
   applied whenever a window was being unhidden (instead of just when it was
   being created).

 - Removed the "List all windows" option from the Hidden Windows dialog box. It
   wasn't useful for anything, and only served to confuse users.

 - Removed a feature that automatically closed Deskey dialog boxes when they
   lost the input focus. It was causing a problem with Microsoft's X-Mouse
   Power Toy.
