Глава 5
Workbench
В этой главе будет описана организация графического интерфейса пользователя (GUI) Workbench, который представляет собой одну из двух базовых операционных сред компьютера Амига. Мы рассмотрим свойства наиболее свежих версий 3.0 и 3.1. Те владельцы Амиг, у которых версии Workbench устарели, будут лишены части описываемых ниже возможностей. В принципе для всех них можно только дать совет — постарайтесь обновить либо вашу Амигу, приобретя как минимум А1200, либо заменить ПЗУ устаревшей версии на Kickstart 3.1. Возможность подобной замены ПЗУ существует практически для всех устаревших моделей за исключением CDTV, т.е. для А500, А500+, А2000, А600 и АЗ000. Соответствующие наборы можно приобрести у фирм, торгующих Амигами.
Если на вашей машине установлена ОС 2.00 или 2.04 (Kickstart 36.ххх или 37.ххх) то есть прямой смысл установить ОС 2.1, содержащую массу новых возможностей (например, полная локализация системы — практически все системные сообщения и меню можно сделать русскими). Для этого надо скопировать все системные диски ОС 2.1 (версия 38.ххх) на винчестер вашего компьютера, либо просто пользоваться этими дисками, если винчестер отстутствует. Поскольку разница между ОС 2.1 и 2.04 (2.00) заключается ТОЛЬКО в использовании иных дисковых файлов, то менять системное ПЗУ нет никакой необходимости. ОС 2.1 стандартно поставлялась с компьютерами А500+, ОС 2.04 — с А600 и А3000.
Workbench упрощает работу на компьютере, позволяя, даже не подозревающему о существовании команд операционной системы пользователю, более-менее успешно манипулировать файлами и каталогами.
Как вы уже наверное заметили, амижная мышка имеет две кнопки. Левая кнопка используется, как правило для выбора (однократное нажатие) или активации (двойное нажатие) некоторого объекта, на который показывает указатель мышки (курсор). Правая кнопка вызывает к жизни различные раскрывающиеся меню, которые возникают из небытия тогда и только тогда, когда вы нажимаете и удерживаете эту кнопку. Амига может работать и с трехкнопочными мышками, однако третья кнопка задействована только в некоторых прикладных программах (например, Directory OPUS 5).
Между прочим, мышки от IBM-совместимых компьютеров для Амиги не годятся — они совершенно по-другому общаются с машиной. (Однако сегодня уже существуют контроллеры для подключения обычных PC-гарнитур, в том числе оптики и беспроводных мышей/клавиатур к классике, а на новых Амигах (Pegasos/AmigaONE) такая поддержка предусмотрена изначально — прим.редакции)
Стандартные мышки для Амиг (за исключением поставляемых с моделями А1200 и А4000) весьма неудобны из-за чрезмерно жёсткого шнура и общего дизайна, весьма далекого от идеала.
ОС поддерживает двухступенчатый уровень иерархии для хранимой информации: уровень каталогов и уровень файлов. Образно говоря, можно представить каталоги в виде ящиков письменного стола, выдвигая которые можно получить доступ к хранимым в них документам (файлам). Правда, ОС-овский письменный стол устроен похитрее обычного: в открытых ящиках кроме документов можно обнаружить другие ящички, а в них — в свою очередь документы и ящички и т.д. Сам письменный стол будет называться корневым каталогом устройства (устройствам посвящена одна из наших следующих глав). Разумеется, в рабочем кабинете, которым мы с полным правом можем считать нашу Амигу, может стоять не один, а несколько письменных столов, то бишь устройств, каждое из которых может иметь свой корневой каталог. Правда некоторые устройства, например, принтер, являются, если продолжить построение житейских аналогий, не письменными столами, а чем-то вроде почтовых ящиков, куда можно только "опустить" письмо-файл; понятие каталога, разумеется, к принтеру никак не применимо
Каталоги и файлы (иначе называемые "объектами ОС") являются тем "материалом", над которым ОС может производить некоторые манипуляции. Любому объекту может быть поставлена в соответствие некоторая "иконка" (если сам объект считать акулой, то иконка — рыба-прилипала). Имя иконки всегда соответствует имени описываемого ею объекта, к которому добавлено расширение ".info" (на экране Workbench расширение ".info" не показывается). Иконка является файлом-спутником заданного объекта и описывает некоторые его свойства. Следует хорошо понимать, что иконки используются исключительно графическим интерфейсом Workbench и при работе в Shell просто игнорируются. Иконки всегда содержат один или несколько графических "образов", ассоциируемых с заданным объектом (обычно один из образов соответствует пассивному "невыбранному" состоянию объекта, когда изображение как бы "выпирает" из экрана, а другой образ соответствует активному, т.е. "выбранному" состоянию, когда изображение "вдавлено" в экран). Так, обычно иконки каталогов выглядят, как ящики, иконки дисков — как диски, и т.д. Когда мы смотрим на экран Workbench, мы видим именно иконки и именно на изображения иконок ставим указатель мышки для каких-либо манипуляций с соответствующими объектами. Тип манипуляций зависит от типа выбранного объекта, который в свою очередь однозначно определяется типом иконки.
Любые данные, имеющиеся на диске, и представляющие практический интерес для пользователя, хранятся в виде файлов. Основные типы файлов — ПРОЕКТ (Project) и ИНСТРУМЕНТ (Tool). Файл проекта содержит некоторые данные, которые могут быть использованы программами (например, некоторый текст, который можно загрузить в редактор). Сама же программа (например, редактор) — это файл-инструмент. Указание, какой конкретно инструмент соответствует заданному проекту, находится в соответствующем поле иконки проекта. Для некоторых проектов инструментом является сама ОС. Такие файлы называются командными или сценариями (Script) и содержат некоторую последовательность ОС-команд и их параметров. Типичным примером командного файла можно считать автоматически исполняемый при каждом запуске компьютера файл "Startup-Sequence" из директории "S:". Командные файлы ещё называются интерпретируемыми, т.к. исполняет их ОС, анализируя их содержимое. Ещё одним распространенным типом интерпретируемых файлов являются ARexx-файлы, инструментом для которых всегда служит программа "RX" из директории "Rexxc". Встроенный в ОС версий 2 и 3 язык ARexx — более мощное средство, нежели командные файлы. ARexx описан в соответствующей главе этой книги.
Вся работа в Workbench сводится к выбору объекта (или группы объектов) и действий над ними. Прежде всего, надо указать объект, установив на него указатель мышки. Затем можно либо выбрать объект (однократный щелчок левой кнопкой мышки), либо активировать его (двойной щелчок той же кнопкой). Выбрать можно сразу несколько объектов, если во время выбора удерживать любую из клавиш "Shift" (клавиши с изображением широкой стрелки направленной вверх).
В версии ОС от 3.0 существует ещё одна очень удобная возможность выбора сразу нескольких объектов. Для этого нужно поместить их (хотя бы частично) внутрь некоторой условной прямоугольной области: ставим указатель на пустое место в окне Workbench (один из углов этой области), нажимаем левую кнопку мышки, и, не отпуская её, ведём указатель на то место, где должен находиться противоположный угол прямоугольника. Контур, обрисованный движущимися штриховыми линиями, покажет область выбора. Теперь, если отпустить кнопку мышки, все объекты внутри полученного прямоугольника (а также объекты, по которым прошла любая из его границ) будут выбраны.
Хоть иконки и располагаются внутри своих ящиков-каталогов, тем не менее Workbench дает нам возможность "вытащить" наиболее часто используемые из них на основной экран Workbench. Для этого в меню "Icons" (Иконки) есть специальная строка — "Leave out" (Вытащить). При её активации все выбранные иконки будут перенесены на рабочий стол Workbench и нам не нужно будет далее открывать один за другим кучу ящиков, чтобы добраться, например, до глубоко запрятанного в дереве каталогов любимого текстового редактора. Красивой альтернативой вытаскиванию иконок является использование специальных "доков" программы ToolManager (автор — немецкий программист Стефан Беккер).
Начиная с AmigaOS 3.5 стандартным средством для организации "доков" является программа AmiDock. Идея получило такое признание, что появилось множество альтернативных программ для тематической группировки иконок, самой популярной из которых является PixLoad. В общепринятом менеджере файлов Directory OPUS 5, также предусмотрены средства для создания "доков" ничем не ограниченной степени вложенности. — прим.редакции
Вытащенные на основной экран Workbench иконки в случае необходимости всегда можно вернуть в родной каталог, воспользовавшись опцией Workbench-меню "Put away" (Вернуть).
Всего может быть 8 типов иконок:
- Диск.
- Каталог (Drawer). Буквальный перевод — "ящик" по-русски как-то не звучит…
- Исполняемый файл (Tool — инструмент).
- Файл данных (Project — проект).
- Мусорная корзина (Trashcan). Специальный вид каталога. Иконку этого типа нельзя "вытащить" в основное окно Workbench или удалить, используя меню Workbench.
- Устройство (Device). Этот тип иконки зарезервирован и в настоящее время не поддерживается.
- Кик-иконка (KickIcon). Бутовый диск для Амиги 1000, представляет чисто исторический интерес.
- Иконка-пожиратель (AppIcon). Активирует некоторую спящую прикладную программу, либо сообщает активной прикладной программе о каком-либо событии, если уронить на неё файл данных; передает разбуженной или работающей программе имя этого файла в качестве параметра (способ Drag'n'Drop — "протащи и урони"). Иначе называется "спящей" (Sleep) иконкой.
Наибольший интерес представляют первые четыре типа иконок. Но прежде чем перейти непосредственно к их описанию, расскажем о правилах поименования дисковых накопителей в Амиге. ОС делит эти имена на два типа — физические и логические. Для гибких дисков физические имена всегда жестко привязаны к реально существующим дисководам; например, встроенный в Амигу дисковод всегда имеет физическое имя "DF0:". Дополнительные дисководы, коих может быть не более трех, всегда именуются "DF1:", "DF2:" и "DF3:". Что касается жёстких дисков, то их физические имена определяются однажды при установке дисководов в машину (как правило, с использованием программы HDToolBox) и далее не изменяются. В принципе можно назначить каждой партиции жесткого диска произвольное физическое имя, но настоятельно рекомендуется, чтобы бутовая (т.е. партиция, с которой производится начальная загрузка системы) — была поименована "DH0:", а остальные, возможно имеющиеся в вашей системе партиции имели бы имена "DH1:", "DH2:" и так далее. Дело в том, что иногда встречаются не очень грамотно написанные программы, которые абсолютно убеждены, что "DH0:" обязательно есть в вашей системе, и крайне удивляются, если "DH0:" не обнаруживается. Затем настает наш черед удивляться, почему программа отказывается работать. А просто автор программы, видимо, забыл поговорку "незаряженное ружье раз в год само стреляет".
Ещё одно дополнительное имя ОС автоматически присваивает устройству, с которого был произведен старт системы — "SYS:". Так, если старт был произведен с диска "Workbench" в дисководе "DF0:", то обращения к "Workbench:", "DF0:" и "SYS:" по сути равнозначны. Если вы в силу каких-то обстоятельств должны ссылаться на диск, с которого произошел старт системы, всегда используйте имя "SYS:" в качестве идентификатора. Раз уж система умудрилась стартовать, значит такое устройство всегда в ней присутствует.
Логические имена для дисководов всегда соответствуют имени диска, вставленного в этот дисковод; если дисковод — пустой, то идентифицирующей его иконки на Workbench-экране быть не должно! В отличие, скажем, от PC-совместимых машин, Амига постоянно следит за тем, что творится с дисководом, и уж такие эпохальные события, как вынимание или вставление диска, никак не останутся незамеченными системой.
Кстати говоря, именно с этим отслеживанием связано известное свойство амижных дисководов щёлкать при отсутствии в них дисков. Дело в том, что так уж загадочно дисководы устроены, что сообщить системе о том, что диск был вставлен в пустой дисковод они могут только в момент шага головки с дорожки на дорожку. Поэтому ОС при отсутствии диска в дисководе вынуждена периодически дергать головку, чтобы не проворонить этот момент. Правда, нервы у амижных программистов оказались, видимо, недостаточно крепкими, чтобы вечно слушать эти щелчки и в результате появилась масса мелких утилит, действие которых сводится к тому, чтобы при отсутствии диска в дисководе головка вставала на нулевую (наружную) дорожку и затем пыталась бы шагнуть на дорожку "минус первую". Поскольку в дисководах стоит ограничитель хода головки, такой номер не проходит, хотя факт вставки диска отлавливается как обычно. Шум же пропадает, раз головка не движется.
Что касается винчестеров, то поскольку вы вряд ли сумеете на лету менять в них диски (мы сознательно не касаемся пока ещё экзотических сменных винчестеров вроде SyQuest), то логические имена для партиций можно считать неизменными (хотя их, как и гибкие диски, можно переименовать, используя команду ОС Relabel, либо командой "Rename…" (Переименовать…) меню Workbench).
Дисковые иконки, как можно догадаться из названия, соответствуют различным устройствам-накопителям информации, подключенным к вашей Амиге. Эти иконки могут располагаться только в основном окне Workbench — перетащить их в какое-либо другое окно нельзя. Надпись под иконкой всегда соответствует логическому имени накопителя. Дисковые иконки также ставятся в соответствие псевдодисковым устройствам Амиги (например, "RAD:"), которые эмулируют реальные дисководы.
Работа с иконками позволяет в наглядной форме и при минимальном использовании клавиатуры исполнять базовые операции файловой системы — такие, как например, копирование, удаление, переименование файлов и т.д. На диске иконкам соответствуют файлы с расширением ".info" и тем же именем, что и файл, который они представляют. Например, если текстовый файл этой книги называется "Книга.текст", то ему соответствует иконка "Книга.текст.info". Важно, чтобы имя основного файла и иконки было тем же самым (регистр букв не играет роли, т.е. иконка может называться например "кНиГа.тЕКст.INFO"), в противном случае файл будет сам по себе, а иконка — сама по себе (это не совсем верно сегодня, т.к. для большинства используемых на Амигах файловых систем можно при желании включить свойство "Case Sensitivity" — чувствительность к регистру имён — прим.редакции). Учтите, что если вы используете русские имена файлов, то ваш диск должен быть отформатирован в международном режиме (FFS International). Этот режим — прерогатива версий ОС, начиная с 2.1. В предыдущих версиях вы также можете использовать русские имена файлов, однако заглавные и строчные русские буквы будут трактоваться по-разному.
Основными компонентами Workbench являются:
- Экран Workbench.
- Окно Workbench.
- Меню Workbench.
- Программы-расширители Workbench.
Следует заметить, что загрузчиком Workbench является программа LoadWB, находящаяся в каталога "С" системного диска (т.е. того диска, с которого стартовала ОС). Длина этой программы — чуть больше килобайта, а всё её действие в основном сводится к серии вызовов библиотечных функций, находящихся в постоянной памяти компьютера (ПЗУ) и старте обслуживающего графический интерфейс системного процесса. При старте Workbench происходят следующие основные события:
- Открывается экран Workbench имеющий заголовок — "Amiga Workbench".
- На Workbench-экране открывается главное Workbench-окно имеющее заголовок — "Workbench".
- В окне показываются иконки, соответствующие подключенным дисководам, а также RAM-диску.
- Запускаются на исполнение все программы, находящиеся в каталоге "WBStartup" системного диска.
- Система переходит в состояние ожидания ручной активации каких-либо объектов (иконок или меню).
Теперь рассмотрим различные составляющие Workbench по порядку.
С точки зрения системы, экран — просто некоторый ресурс, пользоваться которым (т.е. открывать на нём свои окна) могут самые разные программы. Поэтому все экраны (а их может быть сколько угодно — пока хватает памяти) делятся на две группы: общие (public) и личные (custom). Если какая-либо из программ открывает свой собственный экран, то он по умолчанию будет являться её личным экраном. Именно эта программа определяет все свойства своего личного экрана — размеры (разрешение), число цветов (глубина экрана), заголовок и т.д. Если программа считает, что открытый ею экран может быть интересен для других работающих в системе программ, то она может великодушно объявить свой экран общим и присвоить ему имя. Теперь другие программы смогут открывать окна и на этом экране.
Обычно экран вместе со всеми его окнами можно сдвинуть вниз, приоткрыв другой экран, возможно находящийся за исходным. Для этого надо переместить указатель мыши на строку заголовка экрана (т.е. его верхнюю часть, нажать левую кнопку мышки и, не отпуская кнопку, потащить экран вниз. Можно даже не ставить указатель на заголовок экрана, а вместо этого нажать клавишу "Левая Амига" — результат будет тем же самым. Теперь мы сможем одновременно работать с окнами находящимися сразу на нескольких экранах!
Экран нельзя передвинуть так, чтобы его нижний край приподнялся над нижним краем полной области изображения на дисплее.
Перелистывать экраны (разумеется, если их несколько) можно с использованием комбинации клавиш "Левая Амига + М". Нажатие комбинации "Левая Амига + N" вернёт нас на экран Workbench. Иконки нельзя перетащить с одного экрана на другой; единственным объектом, игнорирующим границы экранов, является указатель мышки.
У вас может возникнуть вопрос — а что произойдет, если разные программы откроют несовместимые по видеорежиму экраны (например, один экран — VGA, а другой — телевизионный), а мы попытаемся увидеть несколько экранов сразу, передвинув один или несколько из них. Неужели же полкадра будут показываться в VGA режиме, а полкадра — в телевизионном?
Амига вполне могла бы показать часть кадра на одной частоте развёртки, а следующую часть — на другой; правда о реакции монитора на подобный видеосигнал лучше даже не думать. Поэтому система пытается привести все одновременно видимые экраны к некоторому общему знаменателю, щадя неустойчивую "психику" монитора. Для вышеприведённого примера телевизионный кадр будет приведен к "VGA-виду" за счет того, что каждая строка будет показываться дважды (то, что называется термином "mode promotion", либо "coercion"). В любом случае над преобразуемым экраном будет осуществлено некоторое "насилие", чтобы частоты развёрток всех частей показываемого кадра совпадали. Побочным эффектом может стать некоторое искажение пропорций скорректированной части кадра.
Амига поддерживает 2 принципиально различных варианта развёрток — прогрессивный и чересстрочный (interlaced). При прогрессивном режиме электронный луч бежит по экрану так, как мы читаем книгу — слева направо по строкам и сверху вниз по кадру, равномерно заполняя весь экран. При чересстрочном режиме луч в одном кадре прорисовывает только нечётные строки, а в другом — только чётные, что даёт удвоение общего числа строк на экране (именно такой режим применяется на телевидении). Если на телевизоре мы можем как-то мириться с чересстрочной разверткой из-за того, что отдельные точки практически малоразличимы, а показываемые поверхности имеют достаточно большой размер, то на компьютерном экране чересстрочная развертка вызывает крайне неприятный эффект мерцания (flickering) отдельных частей изображения. Избавиться от мерцания можно только при наличии монитора с большим послесвечением экрана (например, А2024), однако подобные мониторы абсолютно непригодны для показа движущихся изображений (на экране возникают характерные "тянучки") и находят применение исключительно для работы с текстами. Мерцание также устраняет фликкер-подавитель (штатно встраивается в модель АЗ000), однако он стоит достаточно дорого. Поэтому можно только посоветовать — никогда не применяйте чересстрочные режимы без крайней необходимости — ваши глаза вам этого не простят…
Вот пример достаточно типичного Workbench-экрана:
Нетрудно заметить, что экран состоит из двух частей: заголовка и основного поля. В правой части поля заголовка расположено поле глубины, позволяющее — тасовать — экраны, т.е. переставлять передний экран на самый задний план. Остальное, наверное, в объяснениях не нуждается.
Экран Workbench является поверхностью, на которой могут располагаться (и всегда располагается по крайней мере одно окно) окна Workbench.
Хотя на рабочем столе может быть открыто одновременно несколько окон, только одно из них может быть активным и указатель мышки работает с объектами именно этого окна. Для того, чтобы сделать окно активным, достаточно щелкнуть левой кнопкой мышки при нахождении указателя мышки внутри этого окна — цвет окантовки окна немедленно изменится. Экран является "прародителем" всех открытых на нём окон в том плане, что окна наследуют от породившего их экрана его видеорежим, который включает в себя такие понятия, как палитра, число доступных цветов, а также горизонтальное и вертикальное разрешение. Окна, разумеется, ни при каких обстоятельствах не могут выходить за пределы "своего" экрана.
Типичное окно, открытое на Workbench-экране после двойного щелчка по иконке устройства "Workbench":
Если вы, например, щёлкнете по иконке диска (устройства) или каталога, то на Workbench-экране будет открыто новое окно, которое сразу же станет активным, т.е. его окантовка будет синего цвета. Активное окно готово принимать от вас информацию (если это Workbench-окно, то манипуляции производятся с помощью мышки; Shell-окно, в основном, принимает ввод с клавиатуры, хотя для переноса текста в клип-устройство или из него необходимо помечать с помощью мышки нужные участки текста). Щелчок где-нибудь за пределами окна деактивирует его.
Окна могут частично или полностью перекрывать друг друга. Для того, чтобы расположить окна в нужном вам порядке, можно воспользоваться различными управляющими полями окна. В общем случае для этого используется поле глубины, действующее аналогично такому же полю для экрана. Естественно, "тасовка" окон по глубине происходит только на "своём" экране.
Если вы установите указатель мышки на поле передвижки, нажмете левую кнопку и, не отпуская её, поведете указатель по экрану, то от окна отделится рамка и последует за указателем, куда бы вы не пожелали. Теперь, если отпустить кнопку мышки, окно будет немедленно зафиксировано на новом месте. Существуют также расширители системы, позволяющие перетаскивать "окно в исходном виде", не превращая его временно в рамку.
Иногда бывает удобно резко уменьшить размер окна. Для этого предназначено поле схлопывания (свёртывания). Щелчок по нему вызовет резкое уменьшение оконных габаритов, повторный щелчок вернет окну исходный размер.
Начиная с AmigaOS 3.5, окна Workbench стало возможным сворачивать в иконку на рабочем столе. Щелчок по иконке свёрнутого окна приводит к его восстановлению в исходных размерах — прим.редакции.
Поле размера позволяет плавно изменять размеры окна, передвигая его правую и/или нижнюю границы. Если окно станет слишком маленьким для того, чтобы в нем были видны все иконки без исключения, то вы заметите, что голубые линии скроллеров перестали занимать всю ширину скроллерных полей. Теперь для просмотра "временно невидимых" областей окна достаточно установить указатель мышки на голубой движок скроллера, нажать на левую кнопку и подвигать движком, не отпуская кнопки. Всё содержимое окна начнет перемещаться внутри оконной рамки, открывая свои невидимые области. Можно сделать то же самое и без использования скроллерных движков, а просто пощелкать по полям шага, которых всего четыре — результат будет тем же.
Поле закрытия действует в полном соответствии со своим названием (а что тут можно ещё придумать?) и просто закрывает окно.
Кроме экрана, окон и иконок, неотъемлемой частью Workbench являются выпадающие меню. Многие необходимые операции в Workbench производятся именно с их помощью. Прежде чем попытаться воспользоваться какими-либо из меню Workbench, необходимо убедиться, что окно Workbench активно, иначе меню просто не откроются (на всякий случай можно разок щелкнуть левой кнопкой где угодно на экране Workbench). Теперь можно поставить указатель мышки в левую часть информационного поля Workbench-экрана и нажать правую кнопку мышки. Мы сразу увидим 4 надписи в информационном поле: "Workbench, Window, Icons, Tools" (Workbench, Окно, Иконки, Инструменты). Все эти надписи являются ни чем иным, как опциями меню (у опций меню иногда могут оказаться дополнительные "дочерние" опции, представляющие из себя дополнительные меню, открываемые справа от основного). Теперь просьба не отпускать правую кнопку мышки вплоть до особого распоряжения! Попробуем поставить указатель на любой из заголовков меню. Внизу сразу же распахнется красивая белая страничка с несколькими строчками — само меню. Некоторые (или даже все) строчки могут выглядеть раздробленными на кусочки — не пугайтесь, это ещё не повод для того, чтобы выбрасывать Амигу и покупать Pentium 5 — просто в силу тех или иных причин соответствующие опции меню отключены. Как вы уже заметили, часть строк меню имеет справа дополнительные символы — белую жирную букву "А" на черном фоне с латинской буквой справа от "А". Это значит, что при активном окне Workbench вы можете нажать комбинацию клавиш "Правая Амига + клавиша с соответствующей латинской буквой", и результат будет тот же самый, как и при активации соответствующей опции меню (клавиша "Правая Амига" находится справа от клавиши "Пробел"). Некоторые опции содержат после своего имени многоточие — это значит, что их активация вызовет появление на экране некоторого риквестера, запрашивающего у вас дополнительную информацию, требуемую для исполнения заданной опции.
Откройте меню "Workbench" и опустите указатель мышки на строчку "Задний план" — фон этой строки немедленно из белого станет черным, что значит: курок взведён, опция готова к исполнению. Если теперь отпустить правую кнопку мышки, то опция исполнится (можно исполнить сразу несколько опций, если не отпуская правой кнопки пощелкать левой кнопкой при нахождении указателя на нужных строчках меню). А сейчас рассмотрим по порядку опции всех четырех Worbench-меню.
Workbench
Backdrop (Задний план)
Переключить режим вывода Workbench-окна на Workbench-экране. Окно Workbench может быть невидимым и "прилипать" к экрану Workbench по всей его площади вроде прозрачной целлофановой пленки — в этом случае напротив опции "Backdrop" (Задний план) будет стоять "галочка"; в противном случае, окно Workbench будет выглядеть так же, как и окна директорий (только вот иконок устройств в окнах директорий быть не может). Для того, чтобы режим вывода окна Workbench был зафиксирован навеки, необходимо исполнить еще и опцию "Snapshot" (Зафиксировать) из меню "Window" (Окно). В общем случае, окно заднего плана несколько предпочтительнее обычного, поскольку позволяет использовать всю площадь Workbench-экрана под иконки.
Execute command… (Исполнить команду…)
Иногда бывает необходимым исполнить какую-либо Shell-команду, не открывая специально для этой цели Shell-окно. После активации этой опции на экране Workbench откроется небольшое окошко, где вы можете набрать как саму команду, так и её аргументы (все стандартные Shell-команды описаны в соответствующей главе этой книги). Текущей директорией на момент исполнения команды будет устройство "RAM:".
Redraw all (Перерисовать всё)
Аварийная операция, перерисовывающая все окна на экране Workbench, если в силу каких-либо причин вид экрана окажется испорченным.
Update all (Обновить всё)
Перерисовать все иконки в возможно открытых окнах директорий. Дело в том, что почти всегда иконки "знают" о своем расположении в окне каталогов; если передвинуть их в соответствующем окне "вручную", то "знания" иконок от этого не изменятся, если не применить описанную далее операцию "snapshot" (фиксации). При исполнении опции "Update all" (Обновить всё), Workbench опрашивает все иконки в открытых окнах об их местоположении и заново прорисовывает их в соответствии с полученной информацией. Опция также полезна в том случае, если вы производили какие-либо Shell-операции, изменяющие содержимое открытых на экране Workbench окон; Workbench в этом случае ничего не будет знать, например, о том, что вы скопировали какой-либо файл в открытое окно и, соответственно, не покажет его иконку, пока вы не обновите содержимое окон.
Last message (Последнее сообщение)
Опция дает развёрнутую информацию о последней ошибке, зафиксированной системой, если такая ошибка имела место. В противном случае вам будет сказано, что "Последняя программа ничего не сообщила".
About… (О программе…)
Выводится риквестер, сообщающий о версиях Workbench и Kickstart, а также об авторских правах на систему.
Quit… (Выход…)
Опция прекращает работу программы Workbench (тот же результат даст щелчок по полю закрытия окна Workbench). Закрытие Workbench возможно только в том случае, если в системе отсутствуют работающие программы, порождённые из Workbench-процесса (эти программы совершенно не обязательно должны иметь окна, открытые на экране Workbench). В список запускаемых из Workbench программ, в частности, входят все программы, находящиеся в директории "SYS:WBStartup". На момент исполнения опции "Quit…" (Выход…) на экране Workbench могут быть открытыми только окна директорий и/или Shell-окна. Учтите, что после закрытия Workbench единственным связующим звеном между вами и Амигой может быть только Shell-окно! Позаботьтесь о его заблаговременном открытии перед выходом из Workbench, иначе вам придётся общаться со "слепоглухонемой" Амигой (вот раздолье для настоящего хакера!). Если вы захотите вновь запустить Workbench, то в Shell-окне надо набрать команду LoadWB.
Window (Окно)
Все опции меню "Window" (Окно) станут готовыми к действию тогда и только тогда, когда будет выбранным какое-либо из окон устройств на экране Workbench. Опции относятся только к выбранному окну (при выборе окна устройств, соответствующий ему путь автоматически становится текущей директорией системы).
New drawer (Новая директория, Новый каталог)
Создать новую директорию. В окне немедленно появится "ящик" с именем "Unnamed 1" (Безымянный 1) и риквестер с просьбой присвоить новой директории имя. Если вы удовлетворитесь именем "Unnamed 1", то в следующий раз при создании в этом же окне директории из меню Workbench вам предложат имя "Unnamed 2"; всё же лучше напрячь фантазию и придумать для порожденного каталога более благозвучное имя, ну, хотя бы "128–битные суперпрограммы". Для моментального удаления предложенного вам по умолчанию имени можно нажать комбинацию клавиш "Shift + Backspace". В AmigaOS 3.5 и выше, для вновь создаваемых директорий, по умолчанию будет предложено имя: "Rename_Me". — прим.редакции
Open parent (Предыдущий, Предыдущее)
Открыть окно директории, являющейся родительской для текущего активного окна (того окна устройств, где находится иконка с изображением ящика, соответствующего активному окну). Если нужное окно уже открыто, то оно активируется и выскакивает на передний план.
Close (Закрыть)
Закрыть окно (то же, что щелчок по полю закрытия окна, правда, этого поля иногда может и не быть).
Update (Обновить)
Аналогично соответствующей опции меню Workbench, однако действует не для всех открытых на экране Workbench окнах, а только для активного.
Select contents (Выбрать всё)
Выбрать все иконки окна.
Clear Selection (Отменить всё, Отмена выбора)
Снять выделение со всех иконок окна. Эта опция доступна только в AmigaOS 3.5 и выше.
Clean up (Расставить, Упорядочить, Группировать)
Расставить иконки в окне таким образом, чтобы они не перекрывали друг друга. Если новое расположение иконок желательно сохранить для последующих запусков системы, необходимо воспользоваться опцией "Snapshot" (Фиксация) этого же меню. В AmigaOS 3.5 и выше, имя этой опции поменялось на "Clean up by" (Расставить по) и позволяет расставлять иконки согласно следующим критериям:
- Column (Колонка, По колонкам) — расставить иконки в несколько колонок, ориентируясь на размеры окна и стараясь сделать так, чтобы все они были видны;
- Name (Имя, По имени) — расставить иконки по возростанию их имён в алфавитном порядке, начиная с тех, что имеют цифры в начале имени;
- Date (Дата, По дате) — расставить иконки по времени создания принадлежащих им файлов. Чем раньше был создан или модифицирован очередной по списку файл или директория, тем ниже будет его позиция в выводимом списке;
- Size (Размер, По размеру) — расставить иконки по размеру принадлежащих им файлов. Поскольку директории размера не имеют, они будут показаны в списке первыми и расставленны по именам; затем будет дан список файлов, причем самые короткие файлы будут показаны первыми;
- Type (Тип, По типу) — расставить иконки по типу файла к которому они принадлежат. Сначала выводятся drawers (директории), затем tools (инструменты), и наконец projects (данные). Trashcan (корзина, мусоросборник) всегда выводится последней.
Resize to fit (Подогнать размер, Сжать окно)
Уменьшить размер окна ориентируясь на то пространство, которое занимают видимые в нём иконки. Эта опция доступна только в AmigaOS 3.5 и выше.
Snapshot (Фиксация)
- Window (Окно) — Окно запоминает свои габариты и координаты относительно левого верхнего угла экрана, на котором его открыли. Запоминается также режим показа файлов в окне и общий вид окна (см. следующие опции этого же меню);
- All (Всё) — То же, что "Snapshot/Window" (Фиксация/Окно), но к тому же иконки окна запоминают свои координаты относительно левого верхнего угла окна. Часто используется сразу после опции "Clean up" (Расставить).
Show (Показать)
- Only icons (Только иконки) — Включить обычный режим показа файлов и директорий в окне, когда показываются только те файлы и директории, у которых есть иконки;
- All files (Все файлы) — Включить специальный режим показа файлов и директорий, когда станут видны все без исключения файлы и директории, имеющиеся в активном окне. Те несчастные файлы/директории, у которых нет иконок, будут в порядке гуманитарной помощи со стороны Workbench снабжаться т.н. псевдоиконками — ".info-файлами" из директории "ENV:Sys", которые система считает наиболее подходящими по смыслу для показа объектов без иконок. Так, для директории без иконки будет "подсунута" иконка "def_drawer.info". Псевдоиконки не копируются в директорию, соответствующий активному окну, хотя любые манипуляции с ними можно осуществлять так же, как и с обычными иконками.
View by (Общий вид)
- Icon (Иконка) — Стандартный вид окна с иконками в нем. Остальные опции вместо иконок дают имена файлов и/или директорий вместо изображений иконок и различаются только типом сортировки.
- Name (Имя) — Рассортировать показываемый список по именам файлов/директорий.
- Date (Дата) — Рассортировать показываемый список по времени создания/последней модификации файлов/директорий. Чем раньше был создан или модифицирован очередной по списку файл или директория, тем ниже будет его позиция в выводимом списке.
- Size (Размер) — Рассортировать показываемый список по размерам файлов/директорий. Поскольку директории размера не имеют, они будут показаны в списке первыми и рассортированными по именам; затем будет дан список файлов, причем самые короткие файлы будут показаны первыми.
- Type (Тип) — Рассортировать показываемый список по типам файлов/директорий. Сначала выводятся drawers (директории), затем tools (инструменты), и наконец projects (данные). Trashcan (корзина, мусоросборник) всегда выводится последней. Эта опция доступна только в AmigaOS 3.5 и выше.
Find… (Поиск…)
При выборе этой опции Workbench вызовет внешнюю программу "FindFile" (Поисковик файлов) находящуюся в директории "SYS:Tools". Отправной точкой для поиска будет считаться директория текущего активного окна, для которого была исполнена опция. Эта опция доступна только в AmigaOS 3.5 и выше.
Icons (Иконки)
Для того, чтобы заработали опции меню "Icons" (Иконки), необходимо, чтобы по крайней мере одна из имеющихся на экране Workbench иконок была "выбрана" (выбранные иконки как бы "вдавлены" в экран).
Open (Открыть)
Открытие иконки является полным аналогом её активации двойным щелчком по ней, наверное, поэтому этой опцией меню практически никогда не пользуются — гораздо проще дважды щёлкнуть по нужной иконке и всё. Правда, может возникнуть гипотетическая необходимость активировать сразу целую группу иконок — тогда есть смысл после выбора нужных иконок воспользоваться этой опцией, что будет скорее и удобней, нежели дважды щёлкать по каждой из иконок в отдельности. (Необходимость в этой опции возникает каждый раз когда по тем или иным причинам приходится управлять Workbench с клавиатуры, например, вследствие неисправности мыши — прим.редакции)
Copy (Копировать)
Опция позволяет копировать файл или директорию со всем её содержимым в своё же окно. Поскольку ОС не допускает наличия двух или более объектов с одинаковыми именами, находящихся в одной и той же директории, созданной копии будет присвоено имя "Copy_of_xxx", где ххх — исходное имя копируемого объекта (файла или директории). Если вы копируете объект с именем "Copy_of_xxx", то ему будет присвоено имя "Copy2_of_xxx" и т.д. Для копирования объекта в другое окно или на другой диск просто перетащите соответствующую иконку и уроните на нужный ящик (окно, дисковую иконку).
Rename… (Переименовать…)
Переименовать файл или директорию. В появившемся риквестере необходимо набрать новое имя (можно русское).
Information… (Информация…)
Опция позволяет просмотреть и при необходимости отредактировать различные параметры, относящиеся к выбранной иконке. На экране появляется риквестер с полями, отображающими те или иные параметры иконки. Поскольку иконки бывают разных типов, то и содержимое риквестера будет различным в зависимости от того, параметры какого именно типа иконки вы хотите просмотреть и/или изменить. Риквестеры сами по себе достаточно информативны, поэтому мы покажем только их внешний вид для разных типов иконок и дадим небольшие комментарии.
В AmigaOS 3.5 и выше, за вывод этих риквесторов отвечает специальное расширение — RawBInfo, которое по умолчанию запускается из директории "SYS:WBStartup", а также имеет копию в "SYS:Tools".Иконка "Trashcan" (мусорной корзины)
Самый простой из риквестеров. Можно изменить только признаки защиты директории "Trashcan" (мусорной корзинки). Подробнее о признаках защиты см. описание команды Protect в соответствующей главе этой книги.
В AmigaOS 3.5 и выше, за управление содержимым директории "Trashcan" отвечает специальное расширение — BenchTrash, которое по умолчанию запускается из директории "SYS:WBStartup", а также имеет копию в "SYS:Tools". При этом директории "Trashcan" на рабочем столе Workbench будет соответствовать иконка "BenchTrash", а иконка "Trashcan" исчезнет.Дисковая иконка (иконка устройства)
Дисковая иконка показывает нам общий объём диска, а также насколько он заполнен — как в байтах, так и в блоках (стандартный размер блока — 512 байт). Инструментом для такой иконки как правило является стандартная системная программа DiskCopy, копирующая диски на физическом уровне "дорожка в дорожку".
Иконка директории (каталога)
Поле инструментария (Tooltypes) для иконки директории не имеет никакого системного смысла и может использоваться для дополнительных пояснений о характере содержимого этой директории (разумеется, пояснения предназначены для человека, а не для Амиги).
Иконка приложения (инструмента)
Инструментом (Tool) может являться любая исполняемая программа в машинных кодах. Содержимое поля "Tooltypes" (Инструментарий) будет передаваться запускаемой программе в качестве аргументов. Между прочим, если на момент запуска некоторого инструмента в каком либо из окон Workbench (не обязательно в том же самом) будут выбраны одна или несколько других иконок, то полные маршруты соответствующих этим иконкам файлов и/или директорий будут добавлены к списку передаваемых запускаемой программе-инструменту параметров (напомним: для того, чтобы уже выбранные иконки не переходили в неактивное состояние во время выбора (одинарный щелчок) или активации (двойной щелчок) последующих иконок, необходимо нажать и удерживать любую из клавиш "Shift".
Иконка данных (проекта)
Проектом может быть любой файл данных, например, содержащий текст или картинку. Активация проекта двойным щелчком имеет смысл только тогда, когда в поле "Tooltypes" (Инструмент) имеется маршрут той программы, которой будет передано имя проекта и которая знает, что делать именно с этим файлом. Например, если проектом является текстовый файл, и мы хотим просматривать его после двойного щелчка по его иконке, то имеет смысл в поле инструмента вставить строку:
SYS:Utilities/MoreMore является стандартной программой просмотра текстовых файлов, находящейся в каталоге "SYS:Utilities" того диска, с которого ваша машина стартовала (система всегда присваивает этому диску логическое имя устройства "SYS:"). После активации иконки файла проекта программа More будет немедленно запущена на исполнение, и ей будет передано в качестве параметра имя файла проекта.
Snapshot (Фиксация)
Аналогично соответствующей опции меню "Window" (Окно), но относится только к выбранным иконкам.
UnSnapshot (Отмена фиксации)
Каждая иконка может "помнить" или "не помнить" свои координаты относительно левого верхнего угла окна, в котором она появляется. Исполнение опции "UnSnapshot" (Отмены фиксации) заставляет иконку сообщить Workbench в момент открытия окна: "Ставь меня куда сочтёшь нужным, мне абсолютно всё равно".
Leave out (Вытащить)
Как быть, если ваши любимые и часто требуемые файлы запрятаны, как на грех, в самых разных глубоко вложенных директориях в недрах файловой системы, и у вас нет великолепной программы ToolManager, позволяющей разом решить подобные проблемы? Workbench по этой опции вытаскивает в своё основное окно (на рабочий стол) любые иконки — вам больше не нужно будет открывать массу окон, чтобы добраться, скажем, до файла "Worк:Творчество/Поэмы/Гениальные/Гекзаметр/Неоконченое/Песнь_об_Амиге".
Put away (Вернуть)
Вы всегда можете вернуть "Песнь_об_Амиге" в её родное окошко, убрав соответствующую иконку с экрана Workbench, если воспользуетесь этой опцией.
Delete… (Удалить…)
Опция работает в полном соответствии со своим названием — удаляет все выбранные объекты с диска. Если вы не уверены на 100% в правомерности своих действий и места на диске хватает, то лучше перебросить выбранные файлы/каталоги в мусорную корзину — так спокойнее.
Format disk… (Форматировать диск…)
Аналогично команде Format.
Empty trash (Выбросить мусор, Очистить корзину)
Удалить с диска (устройства) всё, что скопилось в его мусорной корзине (директории "Trashcan").
Tools (Инструменты)
Меню "Tools" (Инструменты) стандартно содержит единственную опцию "ResetWB" (Сброс WB), заставляющую Workbench полностью переинициализироваться и перерисовать как экран, так и окно Workbench. Однако, это меню в корне отличается от всех прочих в том плане, что разрешает многим прикладным программам добавлять в него свои собственные заголовки. Примерами таких программ служат уже упоминавшийся ToolManager, а также ToolsDaemon (последний может не только добавлять новые заголовки к меню "Tools" (Инструменты), но и создавать новые Workbench-меню — правда, не вполне системно, хотя и вполне безопасно).