Index


1. Purpose of Proxy32
2. Components of Proxy32 GUI environment
    2.1 General information
    2.2 Main window and built-in terminal
    2.3 Floating window LauncherTree
    2.4 Floating window Selector
3. Ways to organize Proxy32 GUI environment


1. Purpose of Proxy32

Fig.1. General view of Proxy32

Fig.1. General view of Proxy32

Proxy32 is professional working environment for Windows XP/Vista/7/8/10, that can be used by administrator or technical support engineer of remote equipment or by programmer that works with CYGWIN or with remote equipment. It contains workspace manager and automated terminal for CYGWIN.

Proxy32 is intended:


2. Components of Proxy32 GUI environment

2.1 General information

General view of Proxy32 is shown on fig.1.

Proxy32 contains Main Window and two floating windows.

Main window is "regular" Windows window. It has buttons "Minimize", "Maximize" and "Close" on the title bar, it is present on windows task bar, and it is positioned autonomously (independently from other windows).

Floating windows do not have buttons "Minimize", "Maximize" and "Close" on the title bar, they are not present on Windows task bar. When they overlap with the main window, they will be always located above it. Also, user can chose the mode (that is selected by default) when floating windows are moving together with the main window when user moves main window or changing its size. Both floating windows can be shown on the press of the button in the menu of the main window.

Main window contains 6 switched workspaces (Workspace0 – Workspace5) where one can create and place terminal windows.

Proxy32 GUI allows to group several terminals into one workspace (according to the common task) and then use workspaces to switch between different tasks. As an example, Fig.2 - 6 show five workspaces, by switching between them user can see different ways of positioning terminals in workspaces of Proxy32.

Fig.2. Terminals are tiled in the Workspace0

Fig.2. Terminals are tiled in the Workspace0

Fig. 3. Terminals are tiled vertically in the Workspace1

Fig. 3. Terminals are tiled vertically in the Workspace1

Fig. 4. Terminals are tiled horizontally in the Workspace2

Fig. 4. Terminals are tiled horizontally in the Workspace2

Fig. 5. Terminals are cascaded in the Workspace3

Fig. 5. Terminals are cascaded in the Workspace3

Fig. 6. Terminals are positioned arbitrarily in the Workspace4. Two terminals are minimized

Fig. 6. Terminals are positioned arbitrarily in the Workspace4. Two terminals are minimized

One of the floating windows (fig.7) contains prepared in advance connections (TERMINAL LAUNCHERS), COMMANDs, SCRIPTs and PLUGINs and intended for creating and connecting terminals and for execution of COMMANDs, SCRIPTs and PLUGINs in the terminals. Every terminal has its own individual COMMANDs/ SCRIPTs/ PLUGINs interpreter and able to execute its own SCRIPT or PLUGIN independently (concurrently) from other terminals. But at any given moment, controlling floating window can initiate launch of COMMANDs, SCRIPTs and PLUGINs only into one single terminal name of which is shown in the second floating window (fig. 8). If user types commands manually on the terminal, floating windows can be hidden.

Fig.7. Floating window LauncherTree

Fig.7. Floating window LauncherTree

Fig.8. Floating window Selector

Fig.8. Floating window Selector

2.2 Main window and built-in terminal

Main window consists of the titlebar, menubar and 6 workspaces. Only one workspace is visible at any given time.

MenuBar in the main window contains buttons that can switch between workspaces, control positioning of all three windows, control positioning of the terminals inside of the workspaces, move existing terminals from one workspace to another. It can also call popup menu that duplicates many MenuBar button functions and also have additional functions: to hide/show menubar, to set background image/color for each of the 6 workspaces, to set automatic "suck-in" (GRAB) into workspace for windows created by external processes (Notepad, Wordpad, PuTTY, Firefox), to call Proxy32 Options Dialog.

In every workspace user can create terminal windows. Proxy32 has its own built-in terminal that is the core of the whole application.

Built-in terminal has many important features, including:

2.3 Floating window LauncherTree

Second window of Proxy32 GUI ('LauncherTree') is intended for automation of user's tasks. It has menu and toolbar. Main component of this window is mouse-driven GUI Tree made of Launcher nodes. This LauncherTree is somewhat similar to the Favorites/Bookmarks Tree in major browsers, except that it allows to create launchers not only to open web-pages, but also for several different actions (creating and connecting terminals, executing COMMANDs/ SCRIPTs/ PLUGINs into terminals, starting Windows applications).

There are 12 different types of launchers. User has to create launchers on the LauncherTree and then use them to perform current task or to execute them later as needed. Therefore, user can collect all launchers (shortcuts to create terminals and start scripts and programs) into one big GUI tree.

Launchers can be ordered on the Tree by creating Subtrees (Tree's analog of the folder) and populating them with chains of launchers prepared to execute user tasks/procedures (step-by-step). Subtree and launchers inside of it are named according to the task they perform. For example, subtree "procedure for diagnostics of the remote equipment" can contain launcher for creating new terminal window, launcher for connecting new terminal to the remote equipment (multi-step login via multiple intermediate network nodes), launcher that tells the remote equipment to start dumping diagnostic info on terminal, launcher to disconnect terminal from remote equipment (logout). Subtrees can be nested, for example, it is useful when one step of the big procedure is represented by separate multi-step procedure.

Created Tree (that contains collection of already automated user tasks) can be edited by the GUI means inside of the LauncherTree window. One can use launcher editor dialog and use mouse to copy or move individual launchers and the complete subtrees within existing tree. For example, to automate new task one can create new copy of existing subtree (using mouse-ctrl-drag-n-drop) and then edit individual launchers on the new subtree (using mouse-middle-click to call launcher edit dialog) to make modifications reflecting specifics of the new task.

One can search for COMMAND launchers on the LauncherTree. This is especially important when the tree grows large. In addition, it is possible to bookmark frequently used launchers to quickly find and/or execute them later. Bookmarked launchers can be executed not only from LauncherTree window, but also directly from terminal window or directly from main window (even when LauncherTree window is hidden). LauncherTree can be saved/ loaded/ exported/ imported and also edited in the regular text editor (XML-format). XML format allows bulk edits and easy transfer of user-created LauncherTree to another user.

Launcher can be represented on the tree either by its name that is given by the user, or by its configuration (command text for COMMAND launcher, script file name for SCRIPT launcher etc), please, see fig. 9-10.

Fig.9. Launcher is represented on the tree by its name, tooltip displays configuration

Fig.9. Launcher is represented on the tree by its name, tooltip displays configuration

Fig.10. Launcher is represented on the tree by its configuration, tooltip displays name

Fig.10. Launcher is represented on the tree by its configuration, tooltip displays name

LauncherTree window also contains simple macro recorder that allows to record keyboard and mouse events and then replay them multiple times to execute repeating GUI tasks.

2.4 Floating window Selector

Third window of Proxy32 GUI ('Selector') holds list of all running terminals. Terminals that are running in current workspace are highlighted in this list by different color.

In this list user selects "active" terminal that will receive and execute COMMANDs/ SCRIPTs/ PLUGINs from LauncherTree window. For further clarity, such "active" terminal is highlighted with red frame.

In most cases, user does not need to explicitly select "active" terminal from list. Terminal is automatically selected in the list and becomes "active" when user clicks inside of this terminal.

Some terminals may be hidden because they are located in another workspace, or because they are covered by other terminals, or because they are outside of visible part of workspace after user reduced the size of the main window. Such terminals can be found and selected in the terminal list in Selector window. When terminal is selected from the list it becomes visible to the user and receives keyboard focus.

Unlike in UNIX GUI environments, where keyboard focus follows movement of the mouse pointer, Proxy32 GUI follows Windows conventions where keyboard focus has to be explicitly set by clicking mouse in particular terminal window.


3. Ways to organize Proxy32 GUI environment

Proxy32 offers different ways of organizing working environment, and user can chose working environment in accordance with his/her preferences to work comfortable.

User can position windows on one or many monitors in a convenient way. In particular, all three windows can be attached together and behave as one piece, or, alternatively, they can be separated from each other and their positioning can be partially or completely independent from each other.

Fig.11 demonstrates arbitrary positioning of floating windows.

Fig.11. Arbitrary positioning of floating windows

Fig.11. Arbitrary positioning of floating windows

Some users who has two monitors prefer to position both floating windows on one monitor and to position workspace on another monitor (see fig.12). In multi-monitor environment main window and terminal window can span several monitors (see fig.13). Everything depends on the user's taste. Windows behavior is selected by check marks in menu.

Fig.12. Main window is positioned on one monitor and floating windows are positioned on another monitor.

Fig.12. Main window is positioned on one monitor and floating windows are positioned on another monitor.

Fig.13. Main window is maximized on two monitors and floating windows are positioned above main window

Fig.13. Main window is maximized on two monitors and floating windows are positioned above main window

If one chooses the option with all three windows behaving as one piece, one can also choose convenient positioning of the floating window relative to the main window (see fig. 14-17).

Fig.14. Floating windows are on the left outside

Fig.14. Floating windows are on the left outside

Fig.15. Floating windows are on the right outside

Fig.15. Floating windows are on the right outside

Fig.16. Floating windows are on the left inside

Fig.16. Floating windows are on the left inside

Fig.17. Floating windows are on the right inside

Fig.17. Floating windows are on the right inside

It can be seen from fig.14-17 that floating windows can be positioned over the main window or outside of it. The choice depends on monitor size and on the number of terminal windows that user wants to use simultaneously.

In all cases it is worth remembering that there is a button in the menu of the main window that can hide floating windows when they are not needed for work.

In each workspace user can create unlimited number of terminals and position them either manually or automatically (via buttons in menu of the main window) by applying different layouts (Tile/Cascade/Maximize/Minimize, see fig.2-6).

As noted above, Proxy32 GUI allows to group several terminals into one workspace (according to the common task) and then use workspaces to switch between different tasks.

RightClick in the workspace opens "WorkspaceNavigator" pop-up window that shows list of all workspaces and list of all terminals running in each workspace. In WorkspaceNavigator user can move (by drag-n-drop) running terminal from one workspace to another.

Proxy32 GUI also allows to put windows of external processes (Notepad, Wordpad, Firefox etc) into workspace to group them together with terminals.

User can assign a name (Title) to Workspace and to Terminal window to easily identify associated task. Title of Terminal window also forms part of the name of the terminal log file. RightClick on the window title starts title editing "in-place".

To make more space on monitor both floating windows can be hidden by simple press of the button in menu of the main window. The same way they can be shown again when they needed. Both floating windows are serving the same purpose and, therefore, they are considered as one logical unit. One cannot show/hide them individually.

To increase working area inside of main window and terminal window, Proxy32 GUI allows to hide menu bar located under title bar of those windows. Hidden menus are still available via CtrlRightClick on window background/title and via left click on window title icon. Many Proxy32 commands and options are accessible in different windows and via different ways (by selection from menu or by keyboard/mouse shortcuts).

User can select fonts and colors for different windows and background images or background colors for workspaces.

To make user's work easier Proxy32 uses tooltips (small text windows that pop up when mouse pointer hovers over some button). There are three types of tooltips:

There is a button on the LauncherTree toolbar that allows to turn on and off built-in tooltips. After installation of Proxy32 built-in tooltips are on by default. When user has become familiar with Proxy32 controls, built-in tooltips can be turned off. Next to this button there is a small drop-down arrow button that invokes popup menu that allows to turn on and off each of three types of tooltips and also select tooltips font and colors.

Proxy32 can create Separate Windows Desktop and start Proxy32 GUI on it. In this case programs started on Common Windows Desktop will be unable to interact with Proxy32 GUI (manipulate Proxy32 windows and send mouse and keyboard events into them). When Proxy32 GUI is started on the Separate Windows Desktop, it allows user to switch back and forth between Separate and Common Windows Desktops via special key combination. Running Proxy32 on the Separate Windows Desktop can be used for executing mission-critical tasks when user wants to avoid any interference from the other Windows applications.


1. Purpose of Proxy32
2. Components of Proxy32 GUI environment
    2.1 General information
    2.2 Main window and built-in terminal
    2.3 Floating window LauncherTree
    2.4 Floating window Selector
3. Ways to organize Proxy32 GUI environment


Index