? Introduction Console Windows in Windows NT Console Windows Advanced Management Quickly Attaining the Most Convenient Layout of Console Windows Keep Console Windows Always-on-Top New Ways of Keeping Currently Unused Console Windows Quickly Place a Console Window to Desired Monitor Conclusion Useful Links Introduction Though Windows? is an operating system with graphical user interface (GUI), it also supports applications using a system console for input/output, which have a textual (text-based) interface. Such applications (and their windows) are called console. There is a great number of popular applications that use textual interface: Far Manager, Apache web server for Windows, MySQL DBMS server for Windows, Cygwin-based applications, most cross-platform ports from Unix/Linux, and many others. The most well-known and typical example of a console window is the Windows Command Prompt facility which is the instance of the command-line shell available in Windows. Command-line shell is the integral part of any modern operating system: it's used whenever a large vocabulary of internal commands or external command-line utilities, coupled with a wide (or arbitrary) range of options, can be entered more rapidly as text than with a pure GUI. Moreover, considering the ability to compound separate commands into a batch scripts that can automatically do sophisticated jobs, it's obvious that command-line shell is a powerful, flexible and fast facility which is widely used by programmers and system administrators, in engineering and scientific environments, and by technically advanced personal computer users. Due to such popularity, console windows are also known as command prompt windows (or CMD windows because the filename of shell's executable is cmd.exe). Console Windows in Windows NT In Win9x product line (Windows? 95/98/ME) console windows were processed identically to GUI ones but in WinNT line (Windows? NT/2000/XP/2003/Vista) console windows' processing was carried out into a separate subsystem, not available for common applications. Its "separate" nature is especially obvious in Windows XP, where console windows do not support extended visual styles of XP interface themes. According to the same reason, console windows were not extended by Actual Tools utilities and no advanced opportunities were available for them. Nevertheless, starting from version 5.0, Actual Tools software engineers have developed a unique technology which finally allows the extended manipulations with console windows in WinNT product line. Though some features are still not accessible due to a specific nature of console windows, the most important and helpful Actual Tools functions now can be easily applied to console windows as well as to common ones: minimize to tray/on screen, keep always-on-top, resize, align, change priority/affinity, etc. Moreover, all these features can be triggered in various ways (both automatically and manually) and are available either in Default settings or in Specific settings, which you can create just for a particular kind of console windows (e.g. all Apache web server windows). Console Windows Advanced Management 1. Quickly Attaining the Most Convenient Layout of Console Windows It is always pleasurable to work with computer where all important windows are placed in order so that you can easily find them. If you often use different console windows and want to open them where you indicate - our Actual Window Manager program is made for you! With its help, you can set position and size of any console window automatically at its startup. To develop a better understanding, let's take the Command Prompt window mentioned above and assume we want it to open positioned at the top-center of the desktop with a small displacement to the bottom and sized to 640 pixels in width and 480 pixels in height. Here is the step-by-step instruction on how to achieve this: Create specific settings for the Command Prompt window (view the live demo on how to do this). Finally, its Target Window pane should look as follows: Figure 1. Target Window values for the Command Prompt windows Please note that all console windows share the same Window class value (ConsoleWindowClass), so we should also enable both Window caption and Program criteria (as in the Figure 1) to define more exactly that just created settings are for Command Prompt windows only. Go to the Position property sheet and mark there the Align at startup to check box in the Change Window Position Automatically group, then select the top-center alignment and specify, for example, 50 pixels as Vertical shift value: Figure 2. Align at Startup values for the Command Prompt windows Go to the Size property sheet and mark there the At startup to check box in the Resize Window Automatically group, then specify 640 as Width value and 480 as Height value, then select pixels as measure units (the other way is to click the Predefined button and select the 640x480 predefined size to automatically fill these values): Figure 3. Resize at Startup values for the Command Prompt windows Save the configuration to apply the just made tunings. Spending just a few seconds (just once!) on making some specific settings for often used console windows in the manner described above will save seconds (then minutes, then hours!) of your precious time which you are used to spend on tedious manual manipulations every time you open them. You can also change the size and position of any console window on-the-fly clicking Resize and Align title buttons, choosing the corresponding window menu items or using hotkeys ( for Resize and for Align by default). 2. Keep Console Windows Always-on-Top If you have such console windows which are used for monitoring some activity (well-known ping utility, for example) and as such must always remain visible you will certainly prefer them to stay on top of all the others. Use the Stay Always-On-Top action, which will allow you keeping the selected window on top of other open windows so that it's always accessible and never covered by them - even when it becomes inactive. Figure 4. Keep monitoring console windows (such as ping, telnet, netstat etc.) always-on-top It is an ideal solution when working with multiple windows open at once (as it happens every day). You can select a window to Stay Always-on-Top all the time, so it never falls behind another window. 3. New Ways of Keeping Currently Unused Console Windows While working with several console windows you usually have to move the currently unused ones out of your way without closing them to keep them operational in background (when they become idle for some reason or you just need to refer to some more urgent affairs). The options described below can be especially useful to manipulate different server windows (e.g. already mentioned above Apache, MySQL etc.) because of their inherent "running in background" nature. Actual Window Manager presents you several options to do it in the most advanced ways: Minimize Alternatively (AltMin) title button lets you save the taskbar space by hiding a console window to Windows? notification area (also known as system tray) or to virtually any place on your desktop Roll Up title button lets you minimize a console window to its title bar Send to Bottom title button lets you put the foreground console window under all currently open windows without closing it and maintaining its original size and position Pin to desktop action allows you keeping a particular console window always open on the desktop behind all other windows, denying any attempts of its minimization in any standard way (including Windows? "Minimize all" and "Show desktop" system commands). Title buttons are the fastest and the easiest way to activate the functions described above, but Actual Window Manager lets you use other alternative triggers, both manual and automatic ones. 4. Quickly Place a Console Window to Desired Monitor If you have several monitors connected to your computer, the Move to Monitor action can be extremely useful to manage console windows in multiple display environment. With the help of this action, you will be able to: quickly move a console window to a next monitor via Move to Monitor title button quickly place a console window to desired monitor either using Move to Monitor title button's context menu (to call it, simply right-click this button) or via Move to submenu automatically place the particular console window upon its startup to selected monitor (note that this feature is available in Specific settings only) Conclusion Starting from version 5.0, Actual Window Manager introduces a unique technology which finally allows the extended manipulations with console windows in WinNT series of Microsoft? Windows? operating systems. Due to this technological breakthrough, now you can operate console windows as easy as usual ones in many advanced ways that Actual Window Manager offers: minimize them to tray, make always-on-top, roll them up, easily position and resize them, change their priority and affinity - and do all this stuff in any conventional way provided by our software, either automatically or manually. Almost 50 functions, which many users have already got accustomed to, are now available for any type of windows. Actual Tools bring in the full spectrum of features to the full spectrum of windows! Enjoy the advanced window management with no limit! About the Author: Alex Fadeyev is the software engineer and technical writer at Actual Tools software development company.