1. Назначение программы Proxy32
2. Компоненты рабочей среды Proxy32
    2.1 Общие сведения
    2.2 Главное окно и встроенный терминал
    2.3 Плавающее окно LauncherTree
    2.4 Плавающее окно Selector
3. Способы организации рабочей среды Proxy32

1. Назначение программы Proxy32

linked/screenshoot001-300x165.png

linked/screenshoot001-300x165.png

Рис.1. Общий вид программы Proxy32. (Кликните на рисунке, чтобы увеличить)

Proxy32 - это профессиональная рабочая среда для Windows XP/Vista/7/8, которая может быть использована администратором или инженером технической поддержки удаленного оборудования, а также программистом, который работает с CYGWIN или с удаленным оборудованием. Она содержит менеджер рабочих пространств и автоматизированный терминал для СYGWIN.

Proxy32 предназначена:

2. Компоненты рабочей среды Proxy32

2.1 Общие сведения

Общий вид программы Proxy32 приведен на рис.1.

Proxy32 содержит главное окно и два плавающих окна.

Главное окно – это обычное окно Windows. Оно имеет кнопки минимизировать, максимизировать и закрыть в заголовке окна, оно представлено на панели задач и его положение автономно (не зависит от положения других окон).

Плавающие окна не имеют своих кнопок минимизировать, максимизировать и закрыть в заголовке окна, они не представлены на панели задач, а, когда они перекрываются с главным окном, они всегда будут расположены поверх него. Кроме того, пользователь может выбрать режим (он выбран по умолчанию), при котором плавающие окна перемещаются вместе с главным окном, когда пользователь перемещает главное окно или изменяет его размер. Оба плавающих окна вызываются на экран нажатием кнопки в меню главного окна.

Главное окно содержит 6 переключаемых рабочих пространств (Workspace0 - Workspace5), в которых создаются и размещаются окна терминалов.

Оболочка Proxy32 позволяет группировать несколько терминалов в одно рабочее пространство (в соответствии с общей задачей), а затем использовать рабочие пространства, чтобы переключаться между разными задачами. На рис.2-6 в качестве примера приведены пять рабочих пространств, переключаясь между которыми пользователь может видеть возможные способы расположения терминалов в рабочих пространствах программы Proxy32.

linked/screenshoot019-230x150.png

linked/screenshoot019-230x150.png

Рис.2. Терминалы разложены плиткой в Workspace0

linked/screenshoot020-231x150.png

linked/screenshoot020-231x150.png

Рис.3. Терминалы разложены плиткой вертикально в Workspace1

linked/screenshoot021-231x150.png

linked/screenshoot021-231x150.png

Рис.4. Терминалы разложены плиткой горизонтально в Workspace2

linked/screenshoot022-230x150.png

linked/screenshoot022-230x150.png

Рис.5. Терминалы разложены каскадом в Workspace3

linked/screenshoot023-231x150.png

linked/screenshoot023-231x150.png

Рис.6. Терминалы разложены в произвольном порядке в Workspace4. Два терминала минимизированы

Одно из плавающих окон (рис.7) содержит заранее заготовленные соединения, команды, скрипты и плугины и используется для создания и подключения терминалов и для выполнения команд, скриптов и плугин в терминалах. Каждый терминал имеет свой индивидуальный интерпретатор команд, скриптов и плугин и может выполнять свой собственный скрипт или плугин независимо от другого терминала (параллельно), но в каждый момент времени управляющее плавающее окно может инициировать запуск команд, скриптов или плугин только в один терминал, имя которого отображается во втором плавающем окне (рис.8). Если пользователь печатает команды на терминале вручную, то плавающие окна могут быть скрыты.

linked/screenshoot024-170x150.png

linked/screenshoot024-170x150.png

Рис.7. Плавающее окно LauncherTree

linked/screenshoot025-250x25.png

linked/screenshoot025-250x25.png

Рис.8. Плавающее окно Selector

2.2 Главное окно и встроенный терминал

Главное окно состоит из заголовка, полоски меню и 6-ти рабочих пространств, из которых только одно видимо в каждый момент времени.

Полоска меню в главном окне предназначена для переключения между рабочими пространствами, управления расположением указанных 3-х окон друг относительно друга, расположением окон терминалов внутри рабочего пространства, для перемещения окон терминалов из одного рабочего пространства в другое. Специальная кнопка этого меню открывает всплывающее меню. В этом всплывающем меню дублируются многие кнопки, представленные в полоске меню, а также присутствуют дополнительные функции, включая возможность скрыть/показать полоску меню, выбрать фоновый рисунок или фоновый цвет для каждого из 6-ти рабочих пространств, настроить режимы автоматического "всасывания" (GRAB) окон внешних процессов (Notepad, Wordpad, Putty, Firefox и т.д.) внутрь рабочих пространств, а также вызов диалога настроек всей программы.

В каждом рабочем пространстве пользователь может создавать окна терминалов. Proxy32 имеет свой собственный встроенный терминал, который является ядром всей программы.

Важные функциональные возможности встроенного терминала:

2.3 Плавающее окно LauncherTree

Второе окно оболочки Proxy32 (LauncherTree – дерево пускачей) предназначено для автоматизации задач пользователей. Оно имеет меню и тулбар. Основным компонентом этого окна является дерево пускачей, которое представляет собой графическое дерево, управляемое мышкой. Это дерево похоже на дерево Favorites (Избранное)/Bookmarks (Закладки) в популярных браузерах, но при этом оно позволяет создавать пускачи не только для того, чтобы открывать Web страницы, но и для других типов операций, таких как создание терминалов, выполнение команд и скриптов в терминалах и запуск программ Windows.

Имеется всего 12 типов пускачей. При этом пользователь должен создать на дереве пускачи и с их помощью выполнять текущие задачи или запускать их впоследствии при необходимости. Таким образом, пользователь может собрать все пускачи, которые фактически являются ярлыками для запуска терминалов, скриптов и программ, в одно большое графическое дерево.

Имеется возможность упорядочивать пускачи на дереве, создавая SubTree (поддеревья) – аналоги папок на дереве – и помещать в них цепочки пускачей для выполнения каких-либо задач (процедур) пользователя. При этом поддереву и пускачам даются имена, соответствующие выполняемой задаче. Например, поддерево "процедура диагностики удаленного оборудования" может содержать пускач для создания окна терминала, пускач для подключения нового терминала к удаленному оборудованию (многоступенчатый логин через множественные промежуточные сетевые узлы), пускач который дает команду начать распечатку диагностики оборудования на терминал, пускач для отключения терминала от удаленного оборудования (логаут). Поддеревья можно вкладывать одно в другое, например, когда шаг существующей процедуры представляет собой отдельную многошаговую процедуру.

Созданное дерево, которое содержит коллекцию уже автоматизированных задач пользователя, можно редактировать средствами графической оболочки окна LauncherTree. Для этого можно вызвать диалог редактирования пускачей, а также использовать мышку для копирования и перемещения отдельных пускачей и целых поддеревьев внутри существующего дерева. Например, чтобы автоматизировать новую задачу можно создать новую копию уже существующего поддерева (используя mouse-ctrl-drag-and-drop), а затем редактировать отдельные пускачи на этом новом поддереве (используя mouse-middle-click для вызова редактора пускача), чтобы учесть специфику новой задачи.

Имеется также система поиска команд/пускачей на дереве. Это особенно полезно, когда дерево большое. Кроме того, имеется возможность записывать в закладки часто используемые пускачи для дальнейшего быстрого их вызова и выполнения не только из окна LauncherTree, но и непосредственно из терминала или из меню главного окна (даже когда окно LauncherTree скрыто). Дерево пускачей можно сохранять/загружать/экспортировать/импортировать, а также редактировать в обычном текстовом редакторе (формат XML).

Пускач может быть представлен на дереве или своим именем, которое ему присваивает пользователь, или своей конфигурацией (текст команды для пускача команд, имя файла скрипта для пускача скрипта и т.д.), см. рис.9-10.

linked/screenshoot034-300x276.png

linked/screenshoot034-300x276.png

Рис.9. Пускач представлен на дереве своим именем, тултип показывает конфигурацию

linked/screenshoot035-300x274.png

linked/screenshoot035-300x274.png

Рис.10. Пускач представлен на дереве своей конфигурацией, тултип показывает имя

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

2.4 Плавающее окно Selector

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

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

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

Но те терминалы, которые не видны в данный момент (заслонены другими терминалами, или при уменьшении главного окна оказались за пределами видимой части рабочего пространства, или находятся в других рабочих пространствах), могут быть найдены и выбраны из списка терминалов в окне "Selector". При выборе терминала из списка он становится видимым пользователю и получает фокус клавиатуры.

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

3. Способы организации рабочей среды Proxy32

Proxy32 предлагает различные способы организации рабочей среды, при этом пользователь может выбрать рабочую среду в соответствии со своими предпочтениями, чтобы работать комфортно.

Пользователь может располагать окна удобным образом на одном или нескольких мониторах. В частности, все три окна могут быть соединены друг с другом и вести себя как одно целое или, наоборот, они могут быть отделены друг от друга, и их расположение может быть частично или полностью независимо друг от друга.

Рис.11 иллюстрирует произвольное расположение плавающих окон.

linked/screenshoot033-202x150.png

linked/screenshoot033-202x150.png

Рис.11. Произвольное расположение плавающих окон

Некоторые пользователи, имеющие два монитора, любят располагать оба плавающих окна произвольным образом на одном мониторе, а рабочее пространство - на другом мониторе (см. рис.12). В среде со многими мониторами главное окно и окно терминала могут простираться на несколько мониторов (см. рис.13). Все определяется вкусами пользователя. Поведение окон выбирается галочками в меню.

linked/screenshoot031-1-250x105.png

linked/screenshoot031-1-250x105.png

Рис.12. Главное окно размещено на одном мониторе, а плавающие окна на другом

linked/screenshoot032-2-250x101.png

linked/screenshoot032-2-250x101.png

Рис.13. Главное окно максимизировано на два монитора, а плавающие окна размещены поверх главного окна

Если пользователь выбирает для работы вариант, когда все три окна представляют одно целое, то он также может выбирать удобное для него расположение плавающих окон относительно главного окна (см. рис.14-17).

linked/screenshoot001-250x137.png

linked/screenshoot001-250x137.png

Рис.14. Плавающие окна слева снаружи

linked/screenshoot002-250x138.png

linked/screenshoot002-250x138.png

Рис.15. Плавающие окна справа снаружи

linked/screenshoot003-250x126.png

linked/screenshoot003-250x126.png

Рис.16. Плавающие окна слева внутри

linked/screenshoot004-250x128.png

linked/screenshoot004-250x128.png

Рис.17. Плавающие окна справа внутри

Из рисунков 14-17 видно, что плавающие окна могут располагаться поверх главного окна или за его пределами. Выбор того или другого варианта расположения окон определяется размером монитора и количеством терминалов в рабочем пространстве, с которыми пользователь работает одновременно. Во всех случаях, необходимо помнить, что есть кнопка в меню главного окна, с помощью которой можно убрать плавающие окна с экрана монитора, когда они не нужны для работы.

В каждом рабочем пространстве пользователь может создать неограниченное число терминалов и располагать их вручную или автоматически (кнопками в меню главного окна), используя различные раскладки окон (плитка/ каскад/ максимизировать/ минимизировать), см. рис. 2-6.

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

Правый клик внутри рабочего пространства открывает всплывающее окно “WorkspaceNavigator” - навигатор рабочих пространств, который отображает список всех рабочих пространств и список всех терминалов, запущенных в каждом рабочем пространстве. Внутри “WorkspaceNavigator” пользователь может перемещать (путем перетаскивания мышкой) запущенный терминал из одного рабочего пространства в другое.

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

Пользователь может задать имя (заголовок) для каждого рабочего пространства и для каждого терминала, чтобы легче определять, с какой задачей связано каждое окно. Заголовок окна терминала также включается как часть в имя лога терминала. Чтобы начать редактировать заголовок окна "на месте" пользователь должен выполнить правый клик на заголовке.

Чтобы освободить больше места на мониторе оба плавающих окна могут быть скрыты простым нажатием кнопки в меню главного окна. Тем же самым образом они могут быть оба показаны, когда они нужны. Оба плавающих окна служат общей цели и поэтому они логически рассматриваются как одно целое. Их нельзя скрыть/показать по отдельности.

Чтобы увеличить рабочую область внутри главного окна и окна терминала оболочка Proxy32 позволяет скрывать полоски меню, расположенные под заголовками этих окон. Скрытая полоска меню остается доступной через CtrlRightClick внутри окна или на заголовке окна, а также через левый клик на иконке, которая расположена в левой части заголовка окна. Многие команды и опции Proxy32 доступны в разных окнах и разными способами (путем выбора из меню или сочетаниями нажатий клавиш и нажатий мышки).

Пользователь может выбирать шрифты и цвета для разных окон, а также фоновые изображения или фоновые цвета для разных рабочих пространств.

В программе для облегчения работы пользователя имеются тултипсы (маленькие окна с текстом, которые всплывают, когда указатель мышки висит над какой-либо кнопкой). Имеется три типа тултипсов:

На тулбаре LauncherTree имеется кнопка, которая позволяет оперативно включать и выключать тултипсы, встроенные в программу. После установки программы эти тултипсы включены. Когда пользователь ознакомился со всеми органами управления программы, то эти тултипсы не нужны и пользователь может их отключить. Рядом с этой кнопкой имеется маленькая кнопка со стрелкой вниз, которая открывает всплывающее меню. В нем можно включать и отключать все три типа тултипсов, а также выбирать шрифт и цвета для их отображения.

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