Pie Commander

6.12. Особенности оболочки Pie Commander

 

            Оболочка Pie Commander создана фирмой PIE Systems International в октябре 1990 г. Эта оболочка базируется на Norton Commander'е и по утверждению разработчиков совместима с ним снизу вверх, обладая вместе с тем дополнительными возможностями. На самом же деле совместимость снизу вверх обеспечивается не полностью, на что мы обратим внимание читателя в п. 6.12.2.

            Ядро оболочки ограничивается следующими файлами:

CC.EXE                     - стартовый файл, с которого начинается выполнение Pie Commander'а и  который остается в памяти резидентно; 

CCMAIN.EXE          - главный исполняемый файл, который в памяти может перекрываться другими программами, а затем восстанавливаться путем повторной загрузки;

CC.EXT                     - файл описания действий в соответствии с расширением имен файлов (файл расширений);

CC.HLP                     - база данных интерактивного справочника (Help-файл);

CC.INI                       - файл конфигурации;

CC.MNU                   - файл главного пользовательского меню.

 

            Легко видеть, что оболочка имеет те же файлы, что и Norton Commander, но имена их начинаются с символа "с", а не "n".

            Перечисленные файлы занимают на диске около 235 Кбайт. Исполняемые файлы Pie Commander'а почти вдвое длиннее соответствующих файлов Norton Commander'а.

            Дополнительно могут поставляться визуализаторы, средства работы с ЛВС и набор утилит для облегчения работы на ПЭВМ.

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

            Если Вы запускаете Pie Commander с виртуального диска (что предпочтительнее), то поместите в файл AUTOEXEC.BAT команду вида CC=C:\SHELLS\PIECOM, чтобы оболочка могла найти каталог со своими файлами при сохранении конфигурации.

            Оболочка Pie Commander совместима с визуализаторами Norton Commander'а. Если Вы хотите их использовать, то поместите в файл AUTOEXEC.BAT команду вида SET NC=C:\SHELLS\NC, где C:\SHELLS\NC  - полная спецификация каталога, содержащего файлы оболочки Norton Commander. В качестве альтернативы можно включить командой PATH данную спецификацию в маршрут поиска.

            Запуск Pie Commander'а в работу осуществляется путем вызова на выполнение файла CC.EXE.

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

            Теперь рассмотрим расширения и ограничения оболочки Pie Commander в сравнении с возможностями Norton Commander'а.

 

6.12.1. Дополнительные возможности оболочки

             Расширение функциональных возможностей в Pie Commander'е выполнено по следующим направлениям:

            1) вдвое увеличено количество панелей;

            2) поддерживается форматирование панелей;

            3) обеспечивается манипулирование каталогами (поддеревьями файловой структуры) в полном объеме;

            4) несколько модифицировано и снабжено дополнительными командами меню оболочки;

            5) дополнен набор статистических функций;

            6) имеется новый встроеный текстовой редактор с дополнительными возможностями;

            7) поддерживаются дополнительные средства по формированию и использованию файла расширений;

            8) имеются дополнительные возможности по созданию и вызову пользовательских меню;

            9) имеются дополнительные оперативные команды.

            Pie Commander обеспечивает работу с четырьмя панелями, которые имеют фиксированные номера. Стандартное возмещение панелей на экране с закреплением номеров показано на рис. 6.21. Нумерация панелей при их перемещении по экрану не меняется. В остальном главный экран оболочки очень сильно напоминает экран Norton Commander'а.

 

Панель 1

Панель 2

Панель 3

Панель 4

Рис. 6.21. Стандартное размещение панелей на экране

 

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

            В связи с увеличением числа панелей требуется уточнение алгоритмов выполнения тех команд оболочки, заимствованных у Norton Commander'а (например, Tab или Ctrl-L), которые воздействуют на несколько или используют несколько панелей. Для этого в Pie Commander'е введены понятия следующей (соседней) и предыдущей панелей. Считается, что все включенные панели связаны в циклический список в порядке увеличения их номеров. Следующей для i-й панели будет панель i+1, а предыдущей - панель i-1. Однако для последней панели следующей будет первая, а предыдущей за первой - последняя.

            Так, нажатие клавиши Tab обеспечивает активизацию следующей панели, а комбинации клавиш Shift-Tab - предыдущей. После нажатия комбинации клавиш Ctrl-L информационной становится следующая панель. Это справедливо и для других аналогичных команд.

            Необходимость работы сразу с четырьмя панелями возникает не часто. Поэтому, на наш взгляд, целесообразно сконфигурировать оболочку таким образом, чтобы панели 3 и 4 были выключены, а включенные первые две панели занимали максимально возможное пространство экрана, как показано на рис. 6.22. В этом случае главный экран оболочки (за исключением несущественных декоративных деталей) совпадает с экраном Norton Commander'а, а действие описанной выше группы команд становится традиционным (пассивная панель будет выступать одновременно в роли предыдущей и следующей). Панели 3 и 4 можно увеличить в размере так, чтобы при их включении были видны только заголовки первых двух панелей (рис. 6.23). Это позволит добиться максимальной информационной емкости всех четырех панелей. Нет ничего страшного в том, что панели перекрывают друг друга. Видимость панелей зависит от порядка их активизации. Активная панель всегда видна целиком.

 

 Рис. 6.22. Пример главного экрана с двумя включенными панелями

 

            Под форматированием панели понимается изменение ее местоположения, размера и оцветовки.

            Чтобы войти в режим изменения местоположения и размера требуемой панели, активизируйте ее и нажмите комбинацию клавиш Ctrl-М, после чего рамка, ограничивающая панель, начнет мигать. Теперь можно перемещать панель клавишами со стрелками и изменять ее размер теми же клавишами, но на фоне нажатой клавиши Shift. Для выхода из данного режима с сохранением сделанных изменений нажмите клавишу Esc.

            Если Вы хотите изменить оцветовку той или иной панели, то активизируйте ее и нажмите комбинацию клавиш Ctrl-F10. После этого клавишами со стрелками можно позиционировать курсор на различных эм\лементах панели с тем, чтобы изменить их цвет. В нижней строке экрана будет появляться подсказка с названием указанного курсором элемента. Для изменения оцветовки данного элемента используйте те же клавиши со стрелками, но на фоне нажатой клавиши Shift. Нажатие комбинаций клавиш Shift-← и Shift-→ обеспечит выбор цвета текста, а Shift- и Shift- - цвета фона указанного элемента. Измените описанным способом оцветовку всех требуемых элементов панели и завершите этот процесс нажатием клавиши Esc.

 

 Рис. 6.23. Пример главного экрана с четырьмя включенными панелями

 

            Под обеспечением манипулирования каталогами в полном объеме понимается возможность выполнения с каталогами (пусть даже непустым) тех же действий, что и с файлами. Так, допускается:

            - выделять каталоги для групповых операций (но только явно, клавишей Ins);

            - копировать помаркированный каталог или группу выделенных каталогов;

            - пересылать помаркированный каталог или группу выделенных каталогов;

            - удалять помаркированный каталог или группу выделенных каталогов;

            - переименовывать помаркированный каталог или группу выделенных каталогов. 

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

            Меню оболочки имеет уровень вложенности более двух и поэтому является более структурированным. Меню верхнего уровня содержит следующие пункты: Left, Files, Commands, Options, Right, Panels и Help.

            Первые пять пунктов в основном совпадают с одноименными пунктами меню Norton Commander'а, причем левой панелью считается панель 1, а правой панель - 2.

            Пункт Panels (панели) разворачивается в подменю, позициями которого являются номера четырех панелей. Выбор одной из них приводит к входу в следующее подменю для конфигурирования соответствующей панели (рис. 6.24.). Это подменю совпадает с подменю Left (Right). Таким образом, сконфигурировать панели 1 и 2 можно двумя способами, а 3 и 4 - только через пункт Panels меню верхнего уровня. Дублирование подменю для панелей обеспечивает лучшую совместимость с Norton Commander'ом и одновременно унифицирует средства конфигурирования всех четырех панелей Pie Commander'а.

            Пункт Help (помощь) служит для входа в интерактивный справочник.

            В Pie Commander'е недоступна команда Shift-F10, которая в Norton Commander'е служит для упрощения выдачи серии одинаковых команд. Взамен этого в рассматриваемой оболочке нажатие клавиши F9 приводит к раскрытию подменю, из которого была выдана предыдущая команда, и к маркировке этой команды. Для ее повторения достаточно нажать клавишу Enter. В Norton Commander'е же при нажатии клавиши F9 маркируется пункт Left (если активна левая панель) или Right (если активна правая панель) в меню верхнего уровня.

            Подменю для конфигурирования панели очень напоминает соответствующее подменю Norton Commander'а, но команды для выбора типа панели сгруппированы в подменю Panel Type (вновь обратитесь к рис. 6.24). Кроме того, имеется два дополнительных пункта:

Colors - для изменения оцветовки панели;

moVe - для изменения местоположения и размера панели.  

 

 Рис. 6.24. Пример подменю Panels

 

            Подменю Files полностью совпадает с одноименным подменю Norton Commander'а. После выдачи команды Copy или Rename or move открывается диалоговое окно, в котором предлагается выбрать в качестве целевого любой из каталогов, за за которыми закрепленывключенные панели,напечатать другой целевой каталог, выбрать целевой каталог на дереве файловой структуры (клавиша F10) или отказаться от выполнения команды (клавиша Esc). Процесс копирования, пересылки и переименования файлов (каталогов) в Pie Commander'е отображается информативнее чем в Norton Commander'е. При выполнении любой из двух названных команд открывается окно, аналогичное приведенному на рис. 6.25, в котором выдаются следующие динамически обновляемые сведения:

 

Remain                       - количество еще не обработанных (оставшихся) байтов;

Time                           - время выполнения операции;

Copy (Move Rename)            - имя копируемого (пересылаемого или переименовываемого) файла;

To                               - спецификация целевого каталога;

Current                       - степень завершенности операции для текущего файла  

                                      (каталога), в процентах;

Total                           - степень завершенности операции для всей обрабатываемой группы  

                                      файлов (каталогов), в процентах.

            В отличие от Norton Commander'а оболочка Pie Commander запрашивает подтверждение у пользователя на удаление файлов с атрибутами  H и/или S.

            Подменю Commands содержит те же команды, что и одноименное подменю Norton Commander'а. Однако выбор пункта Compare directories приводит к входу в подменю, содержащее следующие позиции:

select Non equal files - выделить на активной (и следующей) панели те файлы, которые  

                                      отсутствуют на следующей (активной) панели, а при совпадении  

                                      составных имен созданы не одновременно и/или имеют разные длины;

select Greater files      - выделить на активной (и следующей) панели те файлы, которые

                                      отсутствуют на следующей (активной) панели, созданы позже (только

                                      по дате), чем одноименные файлы на следующей (активной) панели  

                                      и/или созданы не в то же время. Эта команда наиболее близка к

                                      соответствующей команде Norton Commander'а, но не эквивалентна ей;

select Equal files        - выделить на активной (и следующей) панели те файлы, которые

                                      совпадают с файлами на следующей (активной) панели по составному

                                      имени, моменту (дате и времени) создания, а также длине.

            Чтобы получить корректные результаты сравнения, нужно заранее отменить выделение файлов на сравниваемых панелях (в Norton Commander'е все выделения предварительно и автоматически сбрасываются).

 

Рис. 6.25. Пример информационного окна Copy

 

            В диалоговом окне, открываем по команде Find file, остановить процесс поиска можно клавишей Esc, а вновь продолжить - клавишей Enter. В соответствующем же окне Norton Commander'а имеется явный пункт Stop.

            Подменю Options содержит одну дополнительную команду - Global colors (глобальные цвета), обеспечивающую смену оцветовки различных типов окон оболочки (не панелей!). Эта операция осуществляется так же, как и оцветовка панели. При выборе пункта Configuration в подменю Options дополнительно можно включить следующие факультативные опции:

 

Draw SUBDIR sizes  - показывать для подкаталогов в поле Size файловой панели размеры (в  

                                       байтах) поддеревьев, из них произрастающих. Эта возможность  

                                       требует дополнительного времени, замедляя работу в среде оболочки;

 

Russian Messages       - переключить оболочку в режим выдачи сообщений на русском (или

                                       другом национальном) языке;

 

Draw window items   - показывать элементы окна (знаки управления).

 

            Работа в диалоговом окне Configuration, так же как и в других диалоговых окнах оболочки, осуществляется несколько иначе, чем в Norton Commander'е. Для перехода к другой (соседней) группе опций служит клавиша Tab, для выбора альтернативной опции - клавиши со стрелками, а для установки факультативной опции - клавиши со стрелками (с целью подвода курсора к ней) и клавиша Space (с целью переключения). После выполнения всех переключений следует нажать клавишу Enter для фиксации установок или Esc для их отмены.

            К числу дополнительных статистических функций оболочки относятся:

            1) подсчет размеров поддеревьев файловой структуры;

            2) сохранение составных имен выделенных файлов.

            Первая функция полезна, когда опция Draw SUBDIR sizes выключена. Нажмите комбинацию клавиш Ctrl-F8, и в полях Size всех каталогов, представленных на активной файловой панели, появятся размеры поддеревьев файловых структур, из них произрастающих. Это полезно при анализе загрузки жесткого диска и перед выполнением операций с каталогами.

            Вторая функция применяется перед запуском программ, допускающих указание подлежащих обработке файлов их списком в текстовом файле (таковыми, к примеру, являются архиваторы). Для реализации этой функции нажмите комбинацию клавиш Shift-Ins, и составные имена выделенных на активной панели файлов запишутся в текстовый файл CC.TMP, который будет помещен в рабочий каталог, т.е. на ту же активную панель.

            Встроенный текстовый редактор оболочки поддерживает блочные операции, средства поиска и замены, работу с "мышью", а также обладает рядом других возможностей. Его команды совпадают с командами текстового редактора в интегрированной среде программирования Quick C. Мы же советуем (чтобы не переучиваться) подключить к оболочке внешний текстовый редактор Simple speed editor версии 3.5, разработанный А.Сафоненковым и опубликованный в одном из выпусков электронного журнала "Софтпанорама". Он совместим снизу вверх со встроенным редактором Norton Commander'а, работает в два раза быстрее своего прототипа и дополнительно к нему поддерживает:

            - выполнение операций с блоками;

            - минимально необходимые средства поиска и замены;

            - команды перехода по маркеру;

            - производство вычислений при помощи калькулятора, работающего в десятичном, шестнадцатеричном, двоичном и ASCII-режиме;

            - загрузку и сохранение произвольных файлов;

            - временный выход на уровень DOS;

            - использование отображаемой памяти, если установлен соответствующий драйвер (тем не менее размер обрабатываемого файла ограничивается величиной 64К);

            - контекстно-зависимые подсказки.

            Формирование и использование файла расширений дополнено следующими возможностями:

1) допускается определять действия не только при выборе файла клавишей Enter, но также комбинациями клавиш  Shift-Enter и Alt-Enter;

2) расширен список параметров файла расширений.

            Чтобы определить действие по Shift-Enter или Alt-Enter, необходимо ограничить расширение справа не двоеточием, а символом # или @ соответственно.

            В качестве дополнительных параметров в файле расширений можно использовать:

 

!%       - для обозначения имени рабочего каталога (например, для того, чтобы его можно  

              было использовать для именования создаваемого файла);

$:         - для обозначения привода, за которым закреплена следующая панель.

 

            В случае коллизий расширений в файле расширений (в частности, при задании *), действует текстуально первое предписание. Иными словами, строки файла расширений обрабатываются строго последовательно. В результате этого с пользой для дела можно использовать шаблоны, задающие пересекающиеся подмножества расширений. Norton Commander задание шаблонов в файле расширений не поддерживает.

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

            Рассмотрим следующий фрагмент файла расширений:

 

                                                           ARJ:    ARJ  L !.!

                                                           ARJ#   ARJ  E !.!

                                                           ARJ@  ARJ T !.!

                                                                                     ...

                                                           *: ECHO  Действие не определено

 

            Первая строка определяет выдачу оглавления ARJ-архива при его выборе клавишей Enter, вторая- извлечение файлов из выбранного комбинацией клавиш Shift-Enter ARJ-архива с их размещением на активной панели, а третья - проверку целостности ARJ-архива, выбранного комбинацией клавиш Alt-Enter. Последняя строка обеспечивает адекватную реакцию на выбор клавишей Enter файла, расширение которого в файле расширений не зарегистрировано.

            Размер файла расширений не ограничивается.  

            Дополнительно к главному файлу расширений можно завести локальные файлы расширений (аналогично локальным пользовательским меню). Если в рабочем каталоге имеется файл CC.EXT (локальный), то будет использоваться именно он, а в противном случае - главный файл.

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

            Чтобы вложить одно меню в другое, следует в строке реализации команды вызова вложенного меню указать MENUCHAIN=file, где file - спецификация файла, его содержащего. Этот файл может иметь любое имя.

            Например, для архивации всех файлов из рабочего каталога (т.е. с активной панели) и записи архивного файла с именем архивируемого каталога на следующую панель можно в пользовательское меню поместить команду вида

 

                                                           A: Создание ARJ-архива

                                                                ARJ A $:!%  *.*

 

            В данном случае может возникнуть проблема, если текущая и следующая панели закреплены за одним и тем же приводом: архив будет помещен на активную панель. Если бы оболочка Pie Commander допускала указание каталога, отображенного на следующей панели, то возникшую трудность можно было бы легко преодолеть.

            При нажатии клавиши F2 в Pie Commander'е, как и в Norton Commander'е, вызывается локальное пользовательское меню, если оно имеется, или главное пользовательское меню в противном случае. Дополнительно к этому рассматриваемая оболочка позволяет безвариантно вызвать главное меню путем нажатия комбинации клавиш Shift-F2.

            Дополнительные оперативные команды оболочки обеспечивают реализацию как дополнительных функций, так и ряда традиционных действий, которые в Norton Commander'е были доступны только через меню.

            Среди новых оперативных команд в первую очередь следует назвать комбинацию клавиш Ctrl-F6, нажатие которой обеспечивает переименование помаркированного на панели файла (каталога) «на месте» аналогично тому, как редактируются слова в текстовом редакторе. Режимы вставки и замены можно переключать клавишей Ins (это справедливо, впрочем, для всех диалоговых окон). Завершается переименование путем нажатия клавиши Enter. Выход из режима переименования без сохранения изменений осуществляется нажатием клавиши Esc.

            Все другие, а также уже описанные дополнительные оперативные команды оболочки Pie Commander сведены на табл. 6.2. Наложите ее не табл. 6.1 (возможно, с замещением некоторых полей последней) и Вы получите полный перечень оперативных команд рассматриваемой оболочки.

 

6.12.2. Ограничения оболочки

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

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

Not enough space on output drive

Continue                       Cancel

(Недостаточно места на целевом приводе.

Продолжить                 Отменить)

Здесь возможны два варианта реакции пользователя – выбрать пункт Continue или пункт Cancel. При ответе Continue посылается только часть выделенных файлов (каталогов), т.е. только те из них, которые поместились, но удалены будут все выделенные файлы (каталоги). В результате этого пользователь потратит не мало времени и сил, чтобы восстановить потерянное. При ответе Cancel ничего непредсказуемого не происходит.

            Сказанное выше свидетельствует о плохой защите оболочки от ошибок пользователя.

            В случае копирования файлов (каталогов) при нехватке места на целевом диске открывается аналогичное окно, но ответ Continue ни к каким неприятностям не приводит: осуществляется частичное копирование, а необработанные файлы (каталоги) остаются выделенными.

            Копирование и пересылка файлов (каталогов) одновременно с переименованием оболочкой не поддерживается. Переименование реализуется отдельно путем ввода в диалоговом окне Copy/ Rename/ Move требуемого шаблона составного имени файла (каталога). Например, если нужно переименовать PAS-файлы в BAK-файлы, то выделите исходные файлы, нажмите клавишу F6 и введите в открывшемся окне шаблон *.BAK.

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

            В режиме быстрого поиска файла (каталога) на панели удерживать клавишу Alt необходимо не только при печати первого, но и всех последующих символов имени, что неудобно.

            Контекстная зависимость интерактивного справочника оболочки слабая. К тому же он не содержит исчерпывающего оглавления и не может считаться полным. В случае нажатия клавиши F1 обычно открывается окно с перечнем основных разделов справочника. Выберите требуемый раздел по его наименованию, и на экране отобразится интересующая Вас информация. В рамках раздела могут быть ссылки на подразделы и т.д. Вместе с тем весь справочник можно пройти путем последовательного нажатия клавиш PgDn/PgUp. Клавиша Esc обеспечивает откат назад (к объемлющему фрагменту справочника). Для немедленного выхода из справочника следует нажать комбинацию клавиш Ctrl-Esc.

            В Pie Commander’е клавиша Esc используется еще более непоследовательно (вспомните ее роль при оцветовке панели, а также при изменении местоположения и размера панели). 

Таблица 6.2

Дополнительные команды Pie Commander'а

Клавиши Основной регистр Shift- Ctrl- Alt-
Пишущей машинки:
1       Сменить привод на первой панели
2       Сменить привод на второй пане
3       Сменить привод на третьей панели
4       Сменить привод на четвертой панели
A    

Отобразить или изменить атрибуты промаркированного файла

 
C     изменить конфигурацию оболочки  
F     включить/выключить опцию Full Screen  
M     изменить местоположение и/или размер активной панели  
T     сделать следующую панель структурной  
Z     переключить режим выдачи сообщений с одного языка на другой  

Служебные:

Esc Отменить действие; выйти из меню; отключить/включить все панели (при пустом поле командной строки); удалить командную строку      
Tab   Активизировать предыдущую панель    
Enter   Выбрать файл   Выбрать файл

Функциональные

F2   Вызвать главное пользовательское меню    
F3     Отключить/включить третью панель  
F4     Отключить/включить четвертую панель  
F6     Переименовать помаркированный файл (каталог) «на месте»  
F8     Вычислить размеры поддеревьев файловой структуры, входящих в активную панель  
F9     Проинвертировать статус выделенности файлов  
F10     Изменить оцветовку активной панели  
Малой цифровой клавиатуры:
ß   Переместить курсор на символ влево    
à   Переместить курсор на символ вправо    
Ins   Запомнить имена выделенных файлов Включить/выключить режим замены в командной строке