DeZkTop v2.0 DeZkTop is a program launcher, that is an application that starts other programs. In Windows 3.x or Windows NT you normally use Program Manager to start programs by double clicking on an icon, though you will probably have found that you can start programs from File manager as well. DeZkTop does basically the same job as Program Manager, but it does it better and more conveniently. A lot of thought has gone in to making DeZkTop as quick and intuitive to use as possible, and if you can think of any way to make it better then let me know and I'll add it to the next version. There are four ways that DeZkTop can run programs: Floaters DeZkTop allows you to create icons for applications that sit on the Windows desktop, and you simply click on the icon to run the program. You can create Floaters manually or by drag-dropping files out of File Manager or Explorer. Menus DeZkTop has Menu windows which contain icons for applications. These are similar to Program Manager windows, but the Menu windows can contain submenus and these in turn can contain subsubmenus and so on. There is a special form of Menu window which shows all the files in a directory. You can create icons and submenus manually or by drag-dropping files out of File Manager or Explorer. You can also drag-drop Menu icons out onto the desktop to create Floaters and vice versa. Hotkeys DeZkTop allows you to setup Hotkeys to run applications. These Hotkeys work from anywhere in Windows with the exception of within DOS boxes. On both Windows 95 and NT the design of DOS boxes inherently prevents Hotkeys working. From the file name If you know the name of a program file than you can run it without needing a Floater, Menu icon or Hotkey simply by entering the file name in a dialog box. Whichever way you choose to run a program DeZkTop allows you considerable control over how the application is run. You can control how the application appears, ie minimised, maximised etc, and on Windows NT you can also control the execution priority and you can run 16 bit applications in their own address space. Multiple desktops DeZkTop allows you to have different desktops, that is different arrangements of Floaters, Menus and Hotkeys and to switch rapidly between them. See the chapter on Multiple Desktops below for details. Common and user desktops DeZkTop allows you to set up a common desktop. The Floaters, Menus and Hotkeys in the common desktop appear in all other desktops. This facility is also useful on a network as the network administrator can create a basic common desktop which individual users can then add to. See the chapter on Common Desktops and Restrictions below for details. Installing DeZkTop Before you start note that DeZkTop v2.0 will not run on Windows 3.x. I have tested it on Windows 95 and NT3.51 but not on NT3.50. On Windows 95 there are some unwelcome interactions between DeZkTop and Explorer, though these are mostly cosmetic. The same problems are likely to exist with NT3.52 as it will have the new Windows 95 style shell. To install DeZkTop simply copy the two files dezktop.exe and dezklb20.dll into any convenient directory. DeZkTop would normally be run at startup by creating an icon for it in the Program Manager startup group. You may wish to replace Program Manager or Explorer by DeZkTop by making DeZkTop the shell; see the section below to find out how to do this. By default DeZkTop will store its data in the Windows directory, creating the directory \windows\dezktop20 for the purpose. Normally there will be no need to change this, but one situation where it will need changing is if you have different people using the same PC and each person wants their own individual setup. Supporting multiple users on the same PC When you have different people using the same PC you need to arrange for each persons DeZkTop data to be stored in a different directory. To do this simply define the environment variable DZK20DIRECTORY to contain the name of the directory where the data should be stored. For example, for the user fred you could define the environment variable to be fred = c:\users\fred and DeZkTop will put its data in c:\users\fred\dezktop20. Since the environment variable can be defined differently for each user then each user has their own private set of data. You can also set up a common desktop containing data that each user will share; see the chapter on Common Desktops and Restrictions below for details. Importing Program Manager groups When you first use DeZkTop there won't be any Floaters, Menus or Hotkeys. You can create these in a variety of ways as described later, but a quick way to get started is to import the data from Program Manager. To do this left click on the Windows background and the top Menu window should appear. Right click in this window and select Import from ProgMan from the Menu and a dialog box will appear allowing you to choose which groups to import. You can import from Program Manager at any time, for example if you install a new application which creates a new group then simply import that group from Program Manager into DeZkTop to keep your DeZkTop Menus up to date. After importing groups from Program Manager into DeZkTop some NT users have found that running things like File Manager and Control Panel from DeZkTop causes strange results. This only happens if you have a dual NT/W3.1 installation, and it happens because you are actually running the 16 bit program not the NT version. This is why it happens. If you look at the way icons are set up in Program Manager you'll notice that a lot of the exe file names from Progman don't have a path, eg the File Manager icon will be just "winfile.exe" not "c:\windows\system32\winfile.exe". So when you import into DeZkTop the path won't be in DeZkTop either. Unfortunately a lot of the NT and Windows 3.1 applets have the same exe name, so if the current directory happens to be \windows, or if \windows is ahead of \windows\system32 on the path then the 16 bit W3.1 app will be run instead of the 32 bit NT app you wanted. This seems to be an especial problem when DeZkTop is the shell, since for some reason under these circumstances apps seem to be picked up from \windows first. To fix the problem simply manually edit the icon so that program includes the path, eg change winfile.exe to c:\windows\system32\winfile.exe. Making DeZkTop the shell In Windows the shell is the first application that is started when Windows starts. This application has some special responsibilities, for example it has to log the user out when it exits. In Windows NT the shell is Program Manager and in Windows 95 the shell is Explorer. You can use DeZkTop as the shell instead, but I do not recommend it, personally I suggest running DeZkTop from the Startup group and leaving the shell as it is. However if you really want to make DeZkTop the shell this is how to do it. Windows 95 In Windows 95 the shell is very much more sophisticated and in many ways is an integral part of the operating system. Though you can replace it with DeZkTop you may find some applications expect the standard shell to be present and will stop working if it isn't. If you still want to make DeZkTop the shell then here's how to do it. In Windows 95 edit the file \windows\system.ini and in the section [boot] look for the line: shell=Explorer.exe and change this to shell=\dezktop.exe where is the directory that dezktop.exe is kept in. If you do this then copy the file dezklb20.dll to the directory \windows\system or DeZkTop will not be able to find it when it starts. If things go wrong then when 95 boots hit the key F8, select the Command line only option and use the command edit to change system.ini back again. Make a backup before you change anything! Windows NT Before you make DeZkTop the NT shell pause for a moment. You have to edit the NT registry to change the shell, and if you mess this up you'll find that NT will boot happily but on logging in you'll be left with a blank screen. If you're lucky then hitting ctrl-escape will allow you to run regedt32.exe and repair the damage, but you may find this doesn't work, and you'll have to use the NT repair disk to undo the damage. In extreme cases you may have to reinstall NT. If, thus warned, you want to go ahead then here's how you do it. To make DeZkTop the Windows NT shell start the Registry Editor, regedt32.exe in \winnt\system32, and open the tree HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Winlogon and change the entry for shell from progman.exe to taskman.exe,dezktop.exe The reason for including taskman.exe is that unlike Windows 3.1 the Task Manager, i.e. the ctrl-escape handler, is not started automatically. Unless you include it in the shell entry or autorun it from DeZkTop you'll find that ctrl-escape won't do anything. NB If you make DeZkTop the shell then the library dezklb20.dll must be in a directory that is on the path. The easiest way to ensure this is to place it in the directory \windows\system32, but any directory on the path will do. You will need to logoff and log on again for the change to take effect. Be damned careful when messing with the registry files! Using DeZkTop on Windows 95 The main problem with using DeZkTop on Windows 95 is that both DeZkTop and Windows 95 use mouse clisks on the desktop to do something and conflicts arise. For example, when you right click on the desktop both Windows and DeZkTop want to display their shortcut menu. To get around this problem DeZkTop uses the alt key in combination with the mouse. Right clicks If you right click on the desktop in Windows 95 then the Windows 95 shortcut menu will be displayed. If you hold down the alt key as you right click then the DeZkTop shortcut menu will be displayed instead. Left clicks If you left click on the desktop then the top DeZkTop Menu windows will be displayed. If you hold down the alt key then the menu will not be displayed. This is especially important when using Windows 95 desktop icons. If you just left click on a icon name to rename it then every time you try to click the DeZkTop menu will pop up instead. If you hold down alt as you click then you will be able to rename the icon as normal. Note that this does not apply when using DeZkTop in Windows NT 3.51; at the time of writing the '95 shell had not been released for NT, but when released it should behave like Windows 95. Using DeZkTop DeZkTop's purpose in life is to run applications and the facilities it provides are there only to make running applications quick and easy. We'll start here with the most basic way of running an application and then move on to the more sophisticated ways of doing it. The simplest way to run an application is to right click on the desktop, and from the shortcut menu choose Run. This will display the Run Application dialog box. If you know the application name then you can type it into the Program box, or if you aren't sure of the name then click the Browse button and you can search for the file. DeZkTop will launch any file, not just .exes, so for example running ssstars.scr /s will run the starts screen saver. You can also run data files, for example if you entered c:\excel\mysheet.xls then assuming Excel is properly installed DeZkTop will start Excel with the file mysheet.xls loaded. There are three other settings you can control. The Startup style can be set to Normal, Minimised, Maximised, or Hidden and controls how the launched application's window will appear. Note however that applications can override this setting so it may not always work. The Priority setting only works on NT and controls the application's execution priority. Low priority apps will only run when nothing else is running, High priority apps take priority over all other applications and Super priority apps take priority over even system code like the cursor. Use Super priority with caution as if a Super priority app gets into a loop then turning off the PC is about the only way to kill it. The Separate address space setting only applies to 16 bit apps launched on NT. 16 bit apps can only pre-emptively multitask with respect to each other when running in separate address spaces; the penalty is an extra few hundred Kb of memory used per app. Using DeZkTop as a Task switcher Not only will DeZkTop run programs and data files, you can also use it to switch to programs already running. This isn't likely to be used from the Run Application dialog box as it's more useful in Hotkeys, or possibly Menus and Floaters, but I'll mention it here because it applies to anything in DeZkTop that runs a program. Suppose somewhere in a clutter of windows you had Notepad running. You could switch to it by setting the Program edit control to @Notepad*. The @ symbol tells DeZkTop to switch to a window instead of launching a program. The * is a wildcard which matches any text. I've used it here because the title of a Notepad window would actually be something like Notepad - (untitled) or Notepad - myfile.txt. The wildcard ensures that Notepad* will match the title of any Notepad window irrespective of which file is loaded. Actually DeZkTop can be even more cunning than this. If instead of @Notepad* you put @Notepad*|notepad.exe then DeZkTop will look for a window whose title matches Notepad*, and if it cannot find a matching window then it will execute notepad.exe instead. This is particularly valuable in Hotkeys, as you could set up a Hotkey which will always bring up Notepad either by using the currently running version or starting a new version if necessary. Finally there is a variation on the task switching. The @ syntax will bring up any window that matches the title given, and this includes DeZkTop Menu windows. If you only want to display DeZkTop Menu windows then use > instead of @. This will search only for a DeZkTop window whose title matches that given. Again this is most useful in a Hotkey, for example a Hotkey with the Program set to >DeZkTop will pop up the top DeZkTop Menu. Floaters etc I've gone on a bit here because it's important to note that everything that applies to the Run Application dialog also applies to Floaters, Menus and Hotkeys. As far as possible in DeZkTop everything behaves in a consistent way. DeZkTop Options While we're here you may have noticed that when you right click on the desktop at the top of the shortcut menu is the command DeZkTop options. This controls basic DeZkTop settings and displays the dialog: Working through this dialog from top to bottom: Icon spacing This controls the spacing of the icons in Menu windows. This is discussed further in the chapter on Menu windows. Single click launches app If this is checked then just a single click on a DeZkTop icon will launch the application. If you uncheck this then apps are launched by double clicking as in Program Manager. Allow alt-tab to floaters Windows allows you to switch between applications by pressing alt-tab, and when DeZkTop is running one of the applications you will see as you press alt-tab is DeZkTopMain. If the Allow alt-tab to floaters box is checked then alt-tabbing to DeZkTopMain will pop up all the DeZkTop Floaters. This can be very useful if you want to get to a Floater that is hidden behind another window. Confirm deletion of icons If checked DeZkTop will warn you before it deletes anything and if unchecked there is no warning. Confirm exit If checked then DeZkTop will ask for confirmation when you exit. Save changes immediately For the paranoid at heart, checking this box will ensure DeZkTop saves any changes to your data immediately. If unchecked then DeZkTop will save its data when it exits. Don't save changes If checked DeZkTop will not save any changes you make to the data. This can be useful as you can drag Floaters around, in and out of Menus and generally make a terrific mess secure in the knowledge that when you next start DeZkTop everything will be back to the way it was before. Don't cache icons Normally DeZkTop caches icons along with its data. This saves having to reread all the icons every time it starts and speeds up loading of data. On Windows 95 however there is a bug in Windows (honestly it's in Windows 95 not DeZkTop) which corrupts cached icons. If you're using DeZkTop on Windows 95 then check this box to make DeZkTop reread the icons each time it starts. Icon snapping When you drag Floaters around they snap to a grid to make them easy to align. From this list you can choose a fine or coarse grid or no grid at all. Hotkeys The Hot keys on check box controls whether Hotkeys are active or not. Clicking the Hot key window button displays the Hotkey control window. Font This allows you to choose the font used by DeZkTop for icon captions. Reset icons This forces DeZkTop to immediately reread all it's icons. Exiting Finally, a word on exiting DeZkTop. Normally DeZkTop just exits when you tell it to. If DeZkTop is the shell then it will log you out when it exits, but as discussed above I don't recommend using DeZkTop as the shell. However you can tell DeZkTop to log you out or shut down or reboot the PC when it exits. To do this simply hold down control, shift or shift and control as you select the Exit command from any of the shortcut menus. Control/Exit will log you out, shift/Exit will shut down the PC and control/shift/Exit will reboot the PC. Floaters A Floater is an icon that floats on the Windows desktop. You can move the icon around by dragging it with the mouse and clicking on the icon launches the associated application. Floaters offer a quick and convenient way of launching commonly used applications. Creating Floaters There are several ways to create Floaters, for now we will start with the most basic. Right click on the desktop or on an existing Floater and from the shortcut menu choose New Floater. This will display the Floater Options dialog box. The fields Program, Startup style, Priority and Separate address space have the same function as in the Run Applications dialog box described above. The dialog box has the new fields: Title This is the caption that will appear under the Floater. If you do not want a caption under the Floater you can leave the title blank. However if you want to have a title to remind you what the program is but not have the title appear then uncheck the Visible box. This box controls whether the title is displayed or not. Icon file DeZkTop will normally extract an icon from the program file. However you can choose a different icon by entering a file that contains icons and the number of the icon that you want. Though you can type in the file name and icon number these are most easily chosen by clicking the Browse... button. Arguments If you need to supply arguments to the program then you should enter them here. Don't append arguments to the program name in the Program field as this will prevent DeZkTop from extracting the icon from the program. If you check the Prompt box then before DeZkTop starts the program it will ask you for the argument. Startup dir. If you want your program to start in a particular directory then enter the directory name in this field. If this is left blank the program starts in the directory that the program .exe file is in. Immovable Normally Floaters can be dragged around with the mouse to move them. If you have carefully positioned the Floater you may not want it to be easily moved, and in this case you can check the Immovable box. If you later want to move the Floater then simply uncheck the box again. Always on top If this box is checked the Floater will always be visible on top of other windows even when the other window is active. Run when DeZkTop starts If this is checked then the program will be run when DeZkTop starts. This is similar to the behaviour of the Startup group in Program Manager, but unlike Program Manager and Floater can be marked to start automatically. There are several other ways you can create Floaters. You can drag-drop files out of File Manager onto the desktop and they will automatically appear as Floaters. You can also drag-drop icons out of Menu windows onto the desktop. Finally you can copy and paste Floaters. If you right click on a Floater and choose Copy then you can right click on the desktop and choose Paste to create a copy of the Floater. You can use this to move Floaters between different desktops. I've been asked many times why you can't drag-drop out of Program Manager to create Floaters. This is because unlike File Manager Program Manager does not act as a drag-drop server and there just isn't any way to detect the drag-drop. Running Floaters Once you have created a Floater simply click on it to run the associated program. You can select whether a single or double click runs the Floater from the DeZkTop Options dialog box described above. Right click on the desktop and choose DeZkTop options from the shortcut menu to open this dialog box. You can also drag-drop files out of File Manager onto a Floater. For example suppose you have a Floater for Excel, if you drag-drop the file mysheet.xls out of File Manager onto the Floater then DeZkTop will run Excel and load the file mysheet.xls. The Floater shortcut menu Once you have created a Floater you can right click on it to display its shortcut menu. This has a number of useful commands that are used to manage Floaters. Floater options This displays the Floater Options dialog box that I've described when creating a Floater. After a Floater has been created you can change it by using this command. Copy This makes a copy of the Floater into the clipboard. You can then use the Paste command in other areas of DeZkTop to create a copy of the Floater. If you want to move Floaters between different desktops then this is the only way to do it. Note that you can only copy and paste one Floater at a time. Delete As expected this deletes the Floater. Note that it only removes the Floater, it does not affect any files associated with the Floater. Arrange floaters You can arrange Floaters on the desktop by dragging them around, but DeZkTop can also automatically arrange the Floaters for you. If you select this command it displays the Arrange Floaters dialog box. Click on one of the eight radio buttons to choose which corner DeZkTop will arrange the Floaters in. The Cols/rows box determines how many columns or rows DeZkTop will arrange the Floaters in and the two scroll bars control the spacing between the Floaters. When you are ready click the Arrange button to arrange the Floaters. The Align button can be used instead of Arrange. This leaves the Floaters where they are but adjusts their position to the nearest point on a grid. The grid size is controlled by the scroll bars. Note that immovable Floaters, ie those with the Immovable box checked in the Floater Options dialog box will not be moved when DeZkTop arranges the Floaters. You can remove the immovable status from all Floaters by clicking the Free all button or make all Floaters immovable by clicking Lock all. You will have spotted I haven't mentioned some of the commands on the menu. The DeZkTop options, Change desktop, Run and New floater commands are exactly the same as on the DeZkTop shortcut menu described above and the HotKey options command I'll come to later. Some more on drag-drop DeZkTop is an OLE2 drag-drop server and when you drag a Floater you are actually starting an OLE2 operation. I've already mentioned above that you can drag-drop Floaters to move them around the desktop, but you can also drag-drop Floaters into other windows. What happens when you drop the Floaters depends on the drop client. If you drag-drop into other DeZkTop windows like a Menu or Hotkey window then it will move the Floater off the desktop and into that window. You can do the reverse, eg drag-drop a Menu icon out of a Menu onto the desktop where it appears as a Floater. If you drag-drop a Floater onto another Floater this will execute the destination Floater and load the file from the dropped Floater, ie the same as if you drag-drop a file from File manager. If you want to copy the Floater instead of moving it then hold down the control key as you drag; this is standard Windows drag-drop behaviour. If you want to cancel a drag-drop then hit the escape key before you do the drop. Again this is standard Windows drag-drop behaviour. You can drag-drop Floaters into any application that accepts dropped files. For example if you drag a Floater into Word then Word will load the file in the Program field of the Floater; this is only likely to be useful if the Program field contains a .doc file! Even humble Notepad will accept dropped Floaters. On Windows 95 you can drag-drop Floaters in Explorer windows, but be careful there is a hidden catch here. When you drag-drop into an Explorer window Explorer will assume this is a move operation and it will actually move the dropped file. If you just want to copy the file then hold down the control key as you drag. Everything I've said about drag-dropping Floaters also applies to Menus and Hotkeys. I've tried to make all DeZkTop behaviour as consistent as possible. OK I'll admit it, there is a minor problem with drag-drop that I haven't mentioned. Although you can drag-drop Floaters into apps like Notepad it sometimes works and sometimes doesn't. I think there is some bit of the OLE2 system that I am not initialising properly, because once you've run an OLE2 app like Word or Excel the drag-drop always works. Sometimes it won't work until Word, Excel or whatever is run. If anyone can suggest what is causing the problem please let me know! Menus A DeZkTop Menu is like a Program Manager group in that it contains icons for applications which you click on to run. Unlike a Program Manager group Menus can contain submenus and these in turn can contain subsubmenus and so on. There is a special form of Menu window which shows all the files in a directory which is known as a Snapshot Menu. DeZkTop creates the top Menu for you the first time it is run. Left click on the desktop to display this top Menu. The Menu will initially be empty so you will want to create icons and submenus. A good start is to import the data currently in Program Manager, and this has already been described above. You can create Menu icons in the same sorts of ways that you create Floaters. Menus automatically arrange the icons in them and resize themselves when new icons are added. However you can manually rearrange icons by dragging them and resize Menus by dragging their borders. You can also change the spacing of icons within a Menu; more on this below. Creating a Menu icon The basic method for creating a Menu icon is the similar to that for creating a Floater. Right click in the Menu and from the shortcut menu choose New icon. This displays the Icon Options dialog box. This dialog box has the same fields as the Floater Options dialog described above, though some of the fields specific to Floaters are missing. As with Floaters you can create icons by drag-dropping from File Manager. You can also drag-drop Floaters into the Menu to create icons, and you can use the Paste command from the shortcut menu to paste previously copied icons or Floaters. Creating a sub-menu To create a submenu right click in the Menu and choose New menu. This displays the Menu Options dialog box. The Title and Icon file fields are the same as for a Floater or Menu icon, but there are some other fields specific to Menu windows. Snapshot The Snapshot field allows you to use the Menu to display the contents of a directory. To do this enter a wildcard file name in the Snapshot field. For example if you entered c:\temp\*.* then when the Menu is opened it will display icons for all the files in c:\temp. You can click on the icons to run them or drag them around to copy them or whatever. If you make the Snapshot field c:\temp\*.doc then the Menu will only display files with the suffix .doc. Snapshot Menus are not all that useful, and they can be a bit slow to open because the Menu refreshes itself each time it opens to ensure its contents are up to date. However I do use them from time to time to keep track of files appearing in my temporary directory. Note that Snapshot Menus cannot contain submenus and you cannot manually add icons to them. Icon spacing This controls the spacing of icons in a Menu. There usually isn't any reason to change this, but one use is to make toolbars. If you have a Menu with commonly used programs in then you can set the spacing to 32 by 32 to make the icons crowd closely together. You can then resize the Menu into a single row or a single column to make a horizontal or vertical toolbar. For this application the Permanently open and Always on top settings are also likely to be useful. Permanently open By default when you run a program from a Menu the Menu hides itself. This means Menus don't hang around cluttering up your desktop, but it also means that when you want to reopen the Menu you have to left click on the desktop to bring up the top Menu and maybe click your way down through several levels of submenus to reach the Menu you want. If you set the Menu to be Permanently open then the Menu will not disappear when you launch a program from it. If you click the minimise button on a permanent Menu then the Menu will turn into a Floater showing a Menu icon, and if you click on this Floater it reopens the Menu. Always on top Checking this box makes the Menu remain visible on top of other windows even when the other window is active. This is the same effect as you get from the Always on top setting in a Floater. Changing a Menu icon To change a Menu icon after it has been created simply right click on the icon and choose the Icon options command from the shortcut menu. This works for both submenu icons and program icons. Some more on drag-drop Drag-drop in Menus works in a similar way to drag-drop in Floaters. You can also drag icons around inside a Menu to rearrange them and you can drag icons between Menus. Submenu icons can be dragged around in the same way as program icons. I've already mentioned that you can drag-drop files out of File Manager into Menus, but you can also drag-drop directories and the effect is to create a Snapshot submenu which shows the contents of the dropped directory. You can also drag-drop a directory out of File Manager onto the desktop. This appears to create a Floater, but what it has actually done is create a minimised Snapshot Menu. If you click on the Floater it will open a Snapshot Menu showing the contents of the dropped directory. The icon for this new submenu is created in the top Menu. Finally, a couple of useful extras Using keystrokes in menus in a menu pressing the keys 1 - 9 launch the corresponding menu icon. (There is no way to launch icon 10 and above using keystrokes). This is most useful if you have set up a Hotkey to open the top menu, since you can then open the menu and launch an app without ever needng the mouse. See the chapter on Hotkeys below for the details of how to open the top menu from a Hotkey. If you don't like graphical menus ... If you really don't like graphical menus then there is a quick text based shortcut to the items in the menus. Right click on the desktop and two thirds of the way down the shortcut menu you will see an entry called DeZkTop. This opens a set of cascading shortcut menus which match the entries in DeZkTop's graphical menus. Hotkeys A Hotkey allows you to run a program with a single keypress. This works from whatever application you are working in with the exception of DOS boxes. On both Windows NT and Windows 95 keystrokes in DOS boxes are handled differently to other applications and DeZkTop cannot detect them. Hotkeys are created by adding icons to the Hotkey window. This is similar to a Menu window except that it can only contain Hotkeys; it cannot contain submenus. By default the Hotkey window is hidden, and you can display it by selecting the Hotkey options command from any of the shortcut menus or by clicking the Hotkey window button in the DeZkTop Options dialog box. Creating Hotkeys Hotkeys are created in the same way as icons in a Menu. The basic route is to right click in the Hotkey window and select New hotkey from the shortcut menu. This displays the Hotkey dialog box. This is very similar to the Icon Options dialog except that it has extra fields to choose which key launches the program. Simply select the key from the Hotkey list and check any or all of the Control, Shift and Alt boxes to specify which modifiers are combined with the key. You should obviously use a little care in selecting a Hotkey. You could select A to be a Hotkey, but then every time you pressed A on the keyboard it would run a program, which would make your word processing a little tedious! You can also create Hotkeys by drag-dropping, pasting etc just like Menu icons and Floaters. Note that if you drag a file, Floater or Menu icon into the Hotkey window you will still have to manually set which key is the hotkey. To set which key is the hotkey or to edit the Hotkey in any other way just right click on the Hotkey icon in the Hotkey window and select Hotkey options from the shortcut menu. Turning Hotkeys on and off By default Hotkeys are active but you can turn them off if necessary. To do this either right click in the Hotkey window and select Hotkeys off from the shortcut menu or open the DeZkTop Options dialog box and uncheck the Hotkeys on box. Turn the Hotkeys back on in the same way. Useful tricks with Hotkeys Hotkeys are intended for running programs, but there are some useful tricks you can do with them by using DeZkTop's task switching facilities. As described when I first talked about running programs, if you set the Program field of any DeZkTop object to @atitle then when this is run DeZkTop will look for a window whose title matches atitle and if found it will display that window. There is another form of this >amenutitle which will look for a DeZkTop Menu whose title matches amenutitle and display that. A Hotkey to display the top menu It can be useful to have a Hotkey which pops up the top Menu. This is done very simply by creating a Hotkey with Program set to >DeZkTop. This works because the title of the top Menu is DeZkTop. It is possible to change the title of the top Menu, and if you do that you should change the Hotkey to match the new title. A Hotkey to display the Floaters It is also useful to have a Hotkey which pops up the Floaters. It isn't quite so obvious how this is done, you need to know that the Floaters are child windows of a hidden window called DeZkTopMain. Simply create a Hotkey with Program set to @DeZkTopMain, and when run this Hotkey will activate the hidden window and with it all the Floaters. Note that this will only work if the Allow alt-tab to floaters box is checked in the DeZkTop Options dialog box. Multiple Desktops The Floaters, Menus and Hotkeys collectively form a desktop. DeZkTop allows you to have different desktops and to switch between them. I confess that I haven't found this as useful as I thought, but it can be of use if you use the same PC for very different tasks. For example you can have one set of Floaters for one task and another set for a different task. Creating and changing desktops To change desktops or to create a new desktop simply select the Change desktop command from any of the shortcut menus. This displays the Choose Desktop dialog box. To change the desktop simply select its name from the list and click OK. If you check the Start icons marked as auto-run box then any programs with the Run when DeZkTop starts box checked will be executed when the new desktop is opened. At first only one desktop exists and this is called Default. To create a new desktop click the New button to display the Create New Desktop dialog box. To create the new desktop simply type in the desktop name and click OK. If you check the Copy current desktop box then all the data from the current desktop will be copied into the new one. To delete a desktop simply select its name in the Choose Desktop dialog box and click Delete. Note that you cannot delete the current desktop, you have to switch to a different desktop first. Copying data between desktops When you first create a new desktop you can copy data from the current desktop by checking the Copy current desktop button in the Create New Desktop dialog box. If you later want to copy data between desktops then change to the source desktop, use Copy from the appropriate shortcut menu, change to the destination desktop and use Paste. This is rather a slow way of copying Floaters, but entire Menu/submenu trees can be copied this way in a single operation. Common data and Restrictions DeZkTop has two facilities intended for use on a network. The first of these is the Common desktop which allows a network administrator to create a set of Floaters, Menus and Hotkeys which are common to all users and which the users cannot edit. Users can then add their own Floaters etc to the common ones to customise their own working environment. For unusually strict administrators there is also a facility called Restrictions to prevent users from modifying the own DeZkTop setup. Although intended for use on a network both these facilities can be used on standalone DeZkTop installations, though they are less useful in this context. Common desktop As described earlier, users can specify which directory their DeZkTop data is stored in by defining the environment variable DZK20DIRECTORY. They can also define another environment variable DZK20COMMON. If this is set to the name of a directory then DeZkTop will read the data from \dezktop.v20\common before it reads the users own data ( indicates the directory whose name is held in the environment variable DZK20COMMON). Note that this data is read once when DeZkTop starts and is not read again. The common data is present in all the users desktops and the user cannot change any of the common objects. The administrator needs to setup the common data for his users. There is no special facility to do this, it can be done in two ways. 1. The administrator can create a new desktop of their own called Common and create in it the Floaters, Menus and Hotkeys for the common data. This will be stored in the administrators file space as \dezktop.v20\Common. When the common data is complete the administrator can use File Manager or something similar to copy this directory into \dezktop.v20\Common where the users can read it. This is my preferred method. 2. The administrator can define the environment variable DZK20DIRECTORY to contain the name of the common data directory. Then when the administrator runs DeZkTop it will read all its data from the common area. As above the administrator should switch to the desktop Common and they can then edit the common data directly. In both methods I recommend that the administrator does not have DZK20COMMON defined or life will get rather complicated. This is especially true in method 2 as if DZK20DIRECTORY and DZK20COMMON contain the same directory name then DeZkTop will read the same data twice! Restrictions The Restrictions facility is similar to the restrictions you can use in Program Manager. These restrictions are specified in the user's registry in the key HKEY_CURRENT_USER\Software\Rhs\DeZkTop20. To create a restriction simply define any of the values described below using the registry editor regedt32.exe. Note that experienced users will be able to hack into the registry and modify it themselves unless you prevent them running regedt32.exe. Even so there are shareware registry editors around which they can use. The restrictions available are: DisableChangePrefs Set this to 1 to prevent users modifying the DeZkTop Options dialog box. The default is 0. DisableEditFloater Set this to 1 to prevent users changing their Floaters. The default is 0. DisableCreateFloater Set this to 1 to prevent users creating Floaters. The default is 0. DisableEditMenu Set this to 1 to prevent users modifying their Menus. The default is 0. DisableResizeMenu Set this to 1 to prevent users resizing Menus. The default is 0. DisableEditHotKey Set this to 1 to prevent users modifying their Hotkeys. The default is 0. And finally Well that's it, I think I've covered everything, and if I haven't then just experiment anyway. DeZkTop is fairly obvious to use. Have fun with DeZkTop and if you have any bug reports or ideas for improvements then mail them to me at the address below. Many of the features in DeZkTop started out as suggestions by users. It just remains for me to remind you that DeZkTop is shareware, so if you like it enough to use it then please send ten pounds sterling or fifteen US dollars to me: John Rennie 18 Shaftesbury Avenue Vicars Cross Chester. CH3 5LQ UK email to jrennie@cix.compulink.co.uk Ideally send cheques, UK banks will honour cheques drawn against foreign banks, or alternatively just send cash. If you cannot get sterling or US dollars then just send whatever comes to hand, I've never been known to refuse any form of money! I'm afraid I don't take credit cards. If you have a Compuserve account you can register by typing GO SWREG. The number for DeZkTop is 2943. SWREG might claim the version number to be less than 2.0, if so just ignore it as a single registration entitles you to use all current and future versions.