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.