Третье окно оболочки Proxy32 (“Selector” – селектор активного терминала) содержит список терминалов, запущенных во всех рабочих пространствах. Терминалы, которые запущены в текущем рабочем пространстве, выделены в этом списке другим цветом.

Терминал в списке “Selector” представлен своей иконкой за которой следует текст заголовка окна терминала. При изменении заголовка окна терминала одновременно изменяется название терминала в списке “Selector”. При желании высота элемента списка “Selector” может быть увеличена в настройках программы с 16 до 32 пискелей (для использования более крупных иконок и более крупного текста).

Selector Window Small Font

Selector Window Small Font

Selector Window Large Font

Selector Window Large Font

Некоторые терминалы в текущем рабочем пространстве могут быть не видны из-за того, что они заслоняются другими терминалами или пользователь уменьшил текущее рабочее пространство так, что некоторые терминалы оказались за пределами видимой части рабочего пространства. Другие терминалы могут быть не видны в данный момент, так как они запущены в другом рабочем пространстве. Терминал, который не виден, может быть найден в списке терминалов в окне “Selector”.

При выборе терминала из списка, он становится видимым пользователю и получает фокус клавиатуры. Для того, чтобы сделать терминал видимым Proxy32 (при необходимости) переключается на то пространство, в котором терминал запущен, возвращает терминал в видимую часть рабочего пространства и располагает его поверх остальных терминалов, которые запущены в этом рабочем пространстве. Если выбрана опция "максимизировать терминал при выборе из списка", то окно выбранного терминала максимизируется внутри видимой части рабочего пространства.

Когда пользователь помещает фокус клавиатуры в один из терминалов, кликая мышкой внутри этого терминала, то этот терминал автоматически становится выбранным в “Selector”.

В этом списке пользователь выбирает “активный” терминал, который будет получать и выполнять команды/скрипты/плугины, запущенные из окна LauncherTree. Для большей ясности такой “активный” терминал выделен красной рамкой. При желании, красную рамку можно отключить или изменить ее цвет в диалоге конфигурации программы Proxy32.

После запуска команд из LauncherTree “активный” терминал теряет фокус клавиатуры, так что пользователь должен кликнуть внутри терминала, чтобы восстановить фокус клавиатуры в терминале перед тем, как пытаться печатать команды вручную в терминал. В отличие от графической оболочки UNIX, где фокус клавиатуры перемещается вместе с указателем мышки, оболочка Proxy32 следует соглашениям Windows, где фокус клавиатуры должен быть явно установлен путем кликанья мышкой внутри конкретного терминала.

Proxy32 также позволяет помещать окна внешних процессов (Notepad, Wordpad, Firefox и т.д.) внутрь рабочего пространства, чтобы группировать их вместе с окнами терминалов. Окна внешних процессов также отображаются в списке “Selector” и ведут себя в основном также как и окна встроенного терминала за несколькими исключениями.

Окна внешних процессов не выделяются красной рамкой (за исключением встроенного в Proxy32 редактора скриптов).

Окна внешних процессов, в принципе, могут сами управлять своим положением, размером и фокусом клавиатуры, что может приводить к непредсказуемому поведению таких окон внутри рабочего пространства. К счастью, Notepad, Wordpad, Firefox и т.д. не пытаются сами контролировать поведение своего окна наперекор желаниям пользователя и поэтому могут быть успешно использованы внутри рабочего пространства.

Заголовок окна внешнего процесса может быть изменен, но его нельзя редактировать "на месте" как для встроенного терминала. Кроме того, заголовок может быть позднее изменен самим внешним процессом если такая функция заложена в его программу (примером служит окно внешнего терминала PuTTY, которое может изменять свой заголовок по команде с удаленного компьютера). Встроенный терминал Proxy32 тоже может изменять свой заголовок по команде с удаленного компьютера, но эта функция первоначально запрещена до тех пор пока пользователь не решит изменить настройки встроенного терминала.

В отличие от окна Proxy32 терминала (который содержит встроенные модули для выполнения команд, скриптов и плугин, запущенных из LauncherTree) активное окно внешнего процесса может принимать только команды (но не скрипты и плугины) из LauncherTree. При выполнении команды активное окно внешнего процесса поднимается на передний план и получает фокус клавиатуры, затем текст команды (после подстановки именованных параметров и паролей) вставляется в системный буфер клавиатуры так, как будто он был введен туда пользователем, нажимающим клавиши. Из системного буфера клавиатуры текст команды попадает в окно активного внешнего процесса в текстовое поле, которое в данный момент имеет фокус клавиатуры. Например, это может быть поле ввода имени пользователя или пароля на веб-странице, которая в данный момент отображается в браузере (если окно браузера выбрано в качестве активного в списке внутренних окон в “Selector”). В этом примере команда может содержать имя пользователя и пароль разделенные символом табуляции. Если в начале выполнения такой команды пользователь поставил курсор (фокус клавиатуры) в поле ввода имени пользователя на веб-странице, то команда сначала введет имя пользователя в поле ввода имени пользователя. Затем символ табуляции (содержащийся дальше в команде после имени пользователя) переведет фокус клавиатуры в поле ввода пароля на веб-странице и команда продолжит печатать теперь уже в поле ввода пароля. В программе имеется глобальная настройка которая позволяет пользователю выбрать что посылается в конце текста команды когда команда выполняется в окно внешнего процесса выбранного в списке селестора активного терминала. По умолчанию, команда автоматически завершается символом перехода на новую строку. При выполнении комады этот символ автоматически добавляется к тексту команды заданному пользователем. Две другие опции это не добавлять ничего или добавлять пару символов (возврат каретки а за ним перевод строки). Символ перехода на новую строку (который содержится в команде после пароля) вызовет срабатывание кнопки "Login" на веб-странице. В итоге выполнение одной единственной команды (двойное нажатие мышкой на команде, которая содержит имя пользователя, символ табуляции, пароль и, неявно, символ перехода на новую строку) заменяет полную процедуру "Login" как будто она была выполнена пользователем вручную с клавиатуры. Дополнительное удобство состоит в том, что имя пользователя и пароль могут храниться в именованных парамерах и паролях в программе Proxy32 и в этом случае их нельзя видеть открытым текстом при использовании и они хранятся в отдельном защищенном списке в программе Proxy32.

На рисунках внизу приведена конфигурация Proxy32 для процедуры "Login" для веб-страницы "Google checkout". Сначала пользователь запускает страницу в браузере путем двойного нажатия мышкой на VIEWER (который содержит адрес веб-страницы и этот адрес через файл "ViewerDefinition.xml" задает конкретный браузер и его настройки). При этом окно браузера становится активным окном внутри текущего рабочего пространства, а фокус клавиатуры помещается в поле ввода имени пользователя (которое является первым текстовым полем на веб-странице). После этого пользователь путем двойного нажатия мышкой на COMMAND (которая содержит имя пользователя, символ табуляции, пароль и, неявно, символ перехода на новую строку) выполняет полную процедуру “Login” как будто она была выполнена пользователем вручную с клавиатуры. Для успешного выполнения команды два именованных пароля должны быть заданы заранее в диалоге редактирования именованных параметров и паролей программы Proxy32.

Tree

Tree

COMMAND EDITOR DIALOG

COMMAND EDITOR DIALOG

VIEWER EDITOR DIALOG

VIEWER EDITOR DIALOG

PARAMETERS AND PASSWORD EDITOR

PARAMETERS AND PASSWORD EDITOR