SendToBack - Send windows to the back Version 3.1.1 Copyright Luis B. Almeida, 1996, 1998, 2002 Contents 1. Overview 2. Installation 2.1. Installing for the first time 2.2. Upgrading from former versions 3. Uninstallation 4. Basic operation 5. Options 6. Compatibility 7. Operation details 7.1. Sending windows to the back 7.1.1. Basic operation 7.1.2. Right-clicks and system menus 7.2. Bringing windows to the front 7.3. Toggling the "always on top" state of windows 7.4. Windows within windows 8. Known limitations 9. Source code 10. Copyright and licensing 11. Contacting the author 12. Homepage and downloading 13. Version information 14. Trademarks 1. Overview Ever had a cluttered display, with some windows totally hidden under other ones? SendToBack is a small utility that will enable you to send any window to the back (or bottom) of the pile of windows on your desktop, allowing you to access windows that were under it. To send a window to the back, simply click the right or middle mouse button on its title bar, or use a hotkey of your choice. By successively sending windows to the back, you will be able to access all the windows on your desktop without having to minimize or close any of them. Since version 3.0, SendToBack includes the possibility of using hotkeys to send windows to the back, to bring them to the front and to change their "always on top" status. The hotkeys can be any keys that the user chooses, possibly combined with the SHIFT, CTRL and/or ALT keys. Other features: - Choice of whether to use the middle mouse button or the right- hand one to send windows to the back. - Ability to disable SendToBack's mouse and/or hotkey actions. - Choice of whether to show an icon in the taskbar. - Ability to save settings, if desired. - SendToBack hides itself on startup, but its options window can be displayed when desired. - SendToBack won't interfere with Xmouse, Winshade or other similar utilities. In fact, SendToBack and Xmouse make a nice combination. Version 3.1.1 is equal to version 3.1, except that it is released (including the source code) under the GNU General Public License (see file LICENSE.TXT). NOTE: Version 3.1.1 involves just a change in license and distribution mode, relative to version 3.1. Therefore the program still displays "Version 3.1" in its About box. 2. Installation 2.1. Installing for the first time To install, simply unzip the SENDBK31.ZIP file into a directory of your choice. This will place four files in that directory: SENDBK.EXE - The executable program MOUSEBK.DLL - A dynamic link library needed by the program README.TXT - This file LICENSE.TXT – The GNU General Public License If you like SendToBack and want to use it permanently, you may want to place a shortcut to it in your StartUp directory, so that it starts automatically whenever you run Windows. 2.2. Upgrading from former versions To upgrade, unzip the SENDBK31.ZIP file into the directory where you had installed the previous version. You'll be asked whether to overwrite the files that belonged to the former version. Always answer "y" (or the "yes" response of your unzipper). The new files will replace the old ones. You don't need to do anything further to use the program, but read the next paragraph! When you upgrade, you may want to delete the SENDBK.INI file from your Windows directory, if that file exists. That file keeps SendToBack's saved settings. The file's entries in versions 3.x are different from those of version 2.0. If the SENDBK.INI file from version 2.0 is not deleted, the old entries will remain, together with the new ones. This won't cause any harm, it will just take a little space. If in doubt whether you have a SENDBK.INI file with version 3.x settings only, you can always delete the file, and SendToBack will re-create it the next time you save your settings. 3. Uninstallation To uninstall, delete the three files SENDBK.EXE, MOUSEBK.EXE, README.TXT and LICENSE.TXT. If you created a shortcut in the StartUp directory, delete it. Finally, look for a file named SENDBK.INI, in your Windows directory. If it exists, delete it too. 4. Basic operation Start the SENDBK.EXE program. Then try right-clicking on the title bars of windows, to uncover the windows that are behind them. SendToBack will start hidden, so you won't see any new window when you start it. In the default configuration, an icon will be displayed in the system tray area (near the clock, on the right-hand side of the taskbar). To change SendToBack's options (e.g. to enable hotkeys), click the icon in the system tray area, or start SENDBK.EXE again. See the next section for an explanation of the various options available. To stop the utility, open its options window by clicking on its icon in the system tray area or by starting SENDBK.EXE again, and click the "Remove" button. 5. Options To set SendToBack's options, first open its options window, in one of two ways: either by left-clicking on its icon in the system tray area, or by starting SENDBK.EXE again. In the options window, you have the following options: - Mouse - Right button: Right-clicking on a window's title bar will send that window to the back. - Middle button: Clicking with the middle button on a window's title bar will send that window to the back. This option will only operate if the windows mouse driver that is installed detects middle button clicks. This option has the advantage of not interfering with other actions triggered by right-clicks. - Mouse actions disabled: Check this box to disable SendToBack's mouse actions. - Hotkeys There are three rows in this section, one for each of the hotkey actions: - Send to back: Hotkey to be used to send windows to the back. - Bring to front: Hotkey to be used to bring windows to the front. - Always on top: Hotkey to be used to toggle a window between "always- on-top" and "non-always-on-top" states. In each of the rows there are two controls: - White rectangle: This is where you can choose a hotkey to send windows to the back. Left-click on the white rectangle and then press the hotkey that you wish to use. You can choose virtually any key, combined with SHIFT, CTRL and/or ALT as desired. Be careful, however, not to choose any hotkey that already has another action defined in Windows (e.g. ALT+F4). SendToBack doesn't check whether the key you chose already has another action defined. - Disabled: Check this box to disable the corresponding hotkey. - Tray icon: If checked, SendToBack's icon will be shown in the system tray area. If unchecked, no icon will be shown. In the latter case, the way to redisplay SendToBack's options window once it is hidden, is to start SENDBK.EXE again. There are three buttons in the dialog: - OK: Sets the options that were selected, and hides the dialog window. - Save options: The currently selected options are set, and are saved in the SENDBK.INI file in the Windows directory. The next time that SendToBack is started these options will be set automatically. - Remove: Stops SendToBack and removes it from memory. If you click the close button (the one with an X, on the top-right corner of the options window) SendToBack will act as if you had pressed OK. The default configuration of SendToBack is as follows: - Right-hand mouse button selected, with mouse actions enabled. - Tray icon displayed. - Hotkeys: - Send to back: Ctrl+Alt+B, disabled - Bring to front: Ctrl+Alt+F, disabled - Always on top: Ctrl+Alt+T, disabled These are the options that SendToBack chooses when it is installed for the first time, and whenever it doesn't find a SENDBK.INI file with saved options in the Windows directory. 6. Compatibility SendToBack was developed as a 32 bit Windows 95 utility. As far as the author knows, it also works under Windows 98, Windows NT and Windows 2000. The author has no information on its use under other versions of Windows. An user reported difficulties when using SendToBack together with Microsoft's IntelliMouse. The author would appreciate receiving news about the users' experience under other systems. 7. Operation details 7.1. Sending windows to the back 7.1.1. Basic operation This utility sends a window to the back of the window pile when a right- click (or middle-click, if that is selected) is made on the window's title bar, or when the corresponding hotkey is pressed. If the window that is sent to the back is an "always-on-top" one, it will be sent to the back of all other always-on-top windows, but will stay in front of normal (non-always-on-top) windows. The operation of SendToBack depends slightly on whether a mouse click or a hotkey is used to send a window to the back. With a mouse click, the window that is sent to the back is the one whose title bar was clicked. With a hotkey, the window that is sent to the back is the so-called "foreground window". This is the window whose title bar is highlighted with a different color, and to which keyboard input is being directed at the moment. It may not be the window that is at the top of the window pile. 7.1.2. Right-clicks and system menus In Windows 95, the usual action triggered by right-clicking on the title bar of a window is to display the system menu. If the right mouse button is the option selected in SendToBack, the display of the menu will be inhibited, because it would be unpleasant to get the menu when sending a window to the back. The system menu will still be available by left- clicking on the icon on the upper left corner of the window. If the middle mouse button option is chosen in SendToBack, the display of the menu won't be disturbed. In some windows, the action triggered by right-clicking on the title bar may be different from what was indicated above, and/or there may be no icon on the upper left corner. If you can't obtain the desired action because SendToBack inhibits it, try right-clicking on the window border (where the cursor becomes a double arrow). In some cases, right-clicking on some places inside the window may also work (e.g. on buttons in toolbars). If necessary, SendToBack's mouse actions can be temporarily disabled to restore the normal right-clicking behavior (see the Options section above). 7.1.2 The taskbar The task bar is a special case. If the middle mouse button is selected in SendToBack, middle-clicking on the taskbar will send it to the back. But if the right-hand mouse button is selected, right-clicking on the taskbar will perform the normal action of displaying the taskbar's menu. This was done on purpose, as there seems to be no easy way of displaying that menu, other than right-clicking on the taskbar. This means that it won't be possible to send the taskbar to the back by means of a right-click. However, the "Send to back" hotkey will act on the taskbar as on any other window. The taskbar is often set as "always on top", and if so it will only be sent to the back of other always-on-top windows. To send it to the back of all windows, one has to disable its always-on-top status, which can easily be done with SendToBack's "Always on top" hotkey. 7.2. Bringing windows to the front The "Bring to front" hotkey will bring the "foreground window" (see 7.1.1 above) to the front of other windows. If the window being brought to the front is not an "always on top" window, it will stay behind all such windows. 7.3. Toggling the "always on top" state of windows The "Always on top" hotkey will toggle the always-on-top state of the "foreground window" (see 7.1.1 above). If the window is being changed to always-on-top state, it will also be brought to the front of all other windows, as a visual clue of the hotkey's action. If the window is being changed to non-always-on-top, it will also be sent to the back of all other windows, as a visual clue. Some applications (e.g. the taskbar) have the capability of being set as always-on-top by means of one of their menus or option windows. Usually these applications won't notice that SendToBack has changed their always- on-top status, and thus may indicate that they are always-on-top when they are not, and vice-versa. I don't know of any application whose operation is impaired by this. 7.4. Windows within windows Some applications (e.g. word processors) can have several document windows open at the same time, within the application's main window. In these cases, if SendToBack is running, sending a document window to the back with the mouse will send that window behind all other document windows within that application, but the application's main window won't be disturbed. To send the whole application to the back, click on the main window's title bar. Hotkeys will act on the application's main window. Some applications may behave differently from what is described here. 8. Known limitations There are some known limitations in SendToBack: In some rare cases, Windows informs SendToBack that a window's title bar has been clicked, when it has not. In such cases, the corresponding window may be sent to the back. If that is not desired, SendToBack's mouse actions should be temporarily disabled. Sometimes, when a window has been sent to the back, left-clicking inside the window will activate it, but won't bring it to the front. In such cases, left-clicking on the window's title bar or on its border will normally bring it to the front. Version 3.1.1 involves just a change in license and distribution mode, relative to version 3.1. Therefore the program still displays "Version 3.1" in its About box. 9. Source code The source code of SendToBack is available through its home page, as file SBK31SRC.ZIP. The homepage is http://neural.inesc-id.pt/~lba/sendtoback.htm SendToBack was developed with Microsoft Visual C++ 5.0, using Microsoft Foundation Classes. The SBK31SRC.ZIP file contains the whole directory structure that was used for the development. 10. Copyright and licensing Copyright Luis B. Almeida, 1996, 1998, 2002. SendToBack is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. SendToBack is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with SendToBack; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA A copy of the GNU General Public License is contained in the file LICENSE.TXT. 11. Contacting the author I will be glad to receive comments, and even simple "hello" messages from users. Suggested improvements may be incorporated in future versions of the program, although I now have very little time available for working on such matters. I would be glad to be informed of improvements that are made to the program by others. To contact me send e-mail to: luis.almeida@inesc-id.pt 12. Homepage and downloading SendToBack's homepage is at http://neural.inesc-id.pt/~lba/sendtoback.htm The most recent version can be downloaded through the homepage. 13. Version information Version 1.0: - First version, relatively crude. Was named "Sendback". Version 2.0: - Added facilities for using the middle mouse button, showing an icon in the system tray area, disabling the program and saving the user's settings. - The utility now hides itself on startup. - Included instance checking. Starting a second instance of SendToBack will now simply show the first instance's dialog window. - Eliminated a bug that caused this utility to disable Xmouse, Winshade and other similar utilities. - Prevented SendToBack from sending the taskbar to the back. - Changed the name from "Sendback" to "SendToBack". Version 3.0: - Added the capability to use hotkeys for sending windows to the back, bringing them to the front and toggling their always-on-top status. - Changed the behavior of the close button (on the top-right corner of the dialog window) from stopping the application to an equivalent of pressing the OK button. - Allowed the middle mouse button to send the taskbar to the back. - Changed the behavior when sending always-on-top windows to the back: instead of not affecting them, they now are placed behind all other always-on-top windows, and in front of non-always-on-top windows. - The format of some entries in SENDBK.INI has been changed, to account for the hotkey options. Old-format entries in SENDBK.INI, if existant, are ignored. - When the "Save" button is pressed, besides saving the newly selected options in SENDBK.INI, all these options are now also set active. - Corrected bugs that prevented the tray icon from immediately disappearing when the "Tray icon" option was unset or when the application was stopped. Version 3.1 - Corrected a bug, which appeared on version 3.0, and which made SendToBack hang the Windows system when one attempted to display the options window by running SENDBK.EXE again. Version 3.1.1 - Equal to version 3.1, but released (including source code) under the GNU General Public License. 14. Trademarks Windows 95, Windows 98, Windows NT, Windows 2000, Visual C++, Microsoft Foundation Classes and IntelliMouse are trademarks of Microsoft Corporation.