Библиотека сайта rus-linux.net
Зоопарк
Автор: Максим Отставнов, maksim@otstavnov.com
и группа товарищей
Опубликовано: 10.12.2002
© 2002, Издательский дом "КОМПЬЮТЕРРА" | http://www.computerra.ru/
Журнал "Домашний компьютер" | http://www.homepc.ru/
Этот материал Вы всегда сможете найти по его постоянному адресу: http://www.homepc.ru/offline/2002/78/22455/
То, что пользователю, сидящему за монитором стандартной ОС, представляется сплошной графической операционной средой, реализовано как многослойный "сэндвич" технологий, изображенный (в очень упрощенном виде) на рисунке в заставке.
Непосредственно с железом (видеосистемой, устройствами ввода и динамиком) работает X-сервер, предоставляющий возможности оборудования другим программам как ресурсы по протоколу X (здесь сразу видно отличие X Window System, используемой в стандартных ОС, от самодельных систем графики в проприетарных системах: клиенты и сервер могут исполняться на разных узлах Сети). Еще один ресурс, который предоставляет (самостоятельно либо с помощью другой программы, называемой сервер шрифтов X) X-сервер, - это шрифты.
Для того чтобы работать с окнами, нужна другая программа, она так и называется - менеджер окон. Менеджеров окон существует превеликое множество - под любой набор задач, которые может решать графическая многооконная система.
Существует два подхода, чтобы достроить оконную систему до полнофункциональной среды: добавить в "графический сэндвич" еще один слой - менеджер "рабочего стола" (этим путем идут команды разработчиков GNOME и KDE, здесь не рассматриваемые - их часто описывают и в статьях, и в книгах) или дотянуть до полнофункциональной среды функциональность самого оконного менеджера (три таких попытки рассматриваются ниже).
Черный ящик
Егор Гребнев ∙ gregean@divo.ru
Очень многие реализации популярной концепции "рабочего стола" либо содержат в себе излишества, либо провоцируют на излишества пользователя. "Рабочие столы" захламляются всевозможными файлами и "ярлыками", громоздкие элементы оформления окон перекрывают чуть ли не четверть экранного пространства на небольших мониторах. Наступает момент, когда хочется подобрать простое, эффективное и эстетически приемлемое виртуальное окружение.
Чем меньше, тем лучше. Разработчики оконного менеджера blackbox (BB) пошли именно по такому пути. Скорость и минимализм - две основные (и взаимосвязанные) черты этой программы.
Интересное ощущение возникает при первом запуске BB: за секунду-две успевают загрузиться незамысловатые "обои" для "рабочего стола" и панель инструментов. Оконный менеджер готов к работе.
Четыре кнопки на панели инструментов позволяют выбрать виртуальный "рабочий стол" и переключиться между открытыми окнами. Возможность работать с несколькими "рабочими столами", реализованная практически во всех оконных менеджерах X Window, не показалась разработчикам BB излишеством, и здесь с ними трудно поспорить.
Впрочем, путешествие по пустым "рабочим столам" ничего интересного, кроме смены названий этих "рабочих столов" в панели инструментов, не приносит. Корневое меню вызывается нажатием правой кнопки мыши в свободной области "рабочего стола". У меню, как и полагается, древовидная структура. Предположим, вам нужно открыть несколько программ из группы "Сеть", но последовательность действий "Открытие корневого меню -> Сеть -> выбор приложения" для каждой из запускаемых программ вам кажется утомительной. В таком случае, открыв меню "Сеть", вы можете перетащить его за заголовок подальше от корневого меню. Теперь "Сеть" будет находиться на "рабочем столе", пока вы не запустите все нужные программы и не закроете его при помощи того же правого щелчка мышью по заголовку.
Несколько программ запущено, и теперь самое время обратить внимание на оформление окон при работе с BB. Три кнопки на панели заголовка позволяют выполнить три основных действия: свернуть окно, максимизировать или вернуть ему нормальный размер и закрыть. Двойной щелчок мышью по панели заголовка сворачивает окно, оставляя, тем не менее, панель заголовка на "рабочем столе".
После сворачивания программа перемещается в меню Icons (доступное из меню Workspaces, его можно вызвать щелчком средней кнопкой мыши в области свободного пространства "рабочего стола"), и выбор нужной программы в этом меню позволяет вновь вернуть окно к полноценному существованию. Помимо меню пиктограмм (Icons), меню Workspaces содержит список виртуальных "рабочих столов" с открытыми на них окнами. Таким образом, вы можете переключиться на любую программу, открытую на любом из доступных "рабочих столов". Кроме того, вы можете добавить новый "рабочий стол" (два, пять, десяток) или удалить лишние.
В настройках BB очень интересным пунктом является модель фокусировки. Модель Click to Focus знакома пользователям GNOME, KDE, Microsoft Windows. Принцип ее работы прост: чтобы активировать какое-либо окно, нужно щелкнуть по области этого окна мышкой, после чего окно поднимается на передний план (закрывая собой другие окна) - и с окном можно работать.
Принцип работы модели Sloppy Focus совершенно иной. Для того чтобы сделать окно активным, вам достаточно навести на него курсор мыши. При этом активное окно может и не подниматься на передний план (зависит от того, включили вы опцию Auto Raise или нет). Мне очень часто приходится обращаться к частично перекрытым окнам почтовых клиентов лишь для того, чтобы нажать кнопку проверки новой почты. При использовании модели Click to Focus мне бы пришлось ради нажатия этой кнопки вывести окно почтового клиента на передний план, перекрыв окно, с которым я работаю, а затем снова вытащить это окно из-под почтового клиента. Sloppy Focus позволяет нажать на нужную кнопку и продолжать работать. И никаких лишних движений!
Некоторые из параметров настройки BB доступны только посредством правки конфигурационного файла, но большинство из этих параметров понадобятся лишь привередливым пользователям, любящим подстраивать под себя малейшие детали своего окружения. Ознакомиться с несложным синтаксисом файла меню, а также разобраться с другими техническими деталями BB вы можете, введя команду:
man blackbox.
Благодаря небольшому размеру панели инструментов и элементов оформления окон, BB прекрасно подходит владельцам небольших мониторов и тем, кто экономит рабочее место на экране.
Когда минимума мало. Все же иногда кажется, что минимализма в BB чересчур много. Например, здесь отсутствует встроенный обработчик клавиатурных комбинаций, позволяющий переключаться между запущенными программами, сворачивать и закрывать окна и так далее.
Зато у BB есть так называемая "щель" (slit), место на краю экрана, куда можно помещать специализированные программки, выполняющие эти (и многие другие) функции.
Например, bbpager показывает уменьшенное изображение доступных виртуальных "рабочих столов", с его помощью вы можете не только переключаться между ними, но и, скажем, перетащить окно какой-либо программы с одного "рабочего стола" на другой. Программа bbkeys является наиболее распространенным обработчиком клавиатурных комбинаций.
Slit у BB настраивается. Можно определить ее расположение на экране, сделать ее раскрывающейся лишь при наведении на него курсора мыши и прочее. Кстати, примерно так же настраивается и основная панель инструментов.
Fluxbox - шаг в сторону. Идеология строгого минимализма устраивала не всех пользователей и разработчиков BB. Некоторые посчитали, что оконный менеджер должен быть немного более дружественным и функциональным. Так родились, по крайней мере, два проекта: Fluxbox и Openbox, в основу каждого из которых был положен исходный код BB. Мы рассмотрим более популярный Fluxbox.
Наиболее характерная особенность Fluxbox - реализация закладок (tabs) в контексте "рабочего стола". Если закладки в браузере позволяют одновременно открыть несколько страниц в одном окне, то закладки Fluxbox дают возможность удобно сгруппировать несколько окон на "столе". Все окна в группе имеют одинаковые размеры и расположены строго одно под другим. Для переключения на какое-либо из них достаточно навести курсор мыши или щелкнуть (в зависимости от настроек) по соответствующей закладке.
К примеру, мне приходится работать с несколькими различными почтовыми клиентами. Совместив их в одну группу, я могу легко переключаться между ними, и я всегда знаю, где расположено каждое окно. На словах объяснить преимущества этого оригинального подхода не очень легко, но после нескольких дней практического использования становится трудно без него обходиться: к хорошему привыкаешь быстро.
Помимо закладок, во Fluxbox имеется ряд дополнительных функций, не включавшихся в базовую поставку BB. Не думаю, что стоит их здесь перечислять: вы непременно обнаружите многие из них, поработав с Fluxbox несколько дней, либо... прочитав документацию.
Украшательства. И BB, и Fluxbox имеют в поставке набор разных графических тем. Впрочем, "штатных"" тем хватает ненадолго (месяц-два), а после этого хочется чего-то нового. Есть два способа решить проблему: нарисовать новую тему самому и найти готовую.
Последнее представляется мне более легким. Наиболее крупное хранилище графических тем для обоих рассматриваемых оконных менеджеров (и не только для них) находится по адресу http://themes.freshmeat.net. Несмотря на то, что темы для BB и Fluxbox выделены в отдельные категории, они, как правило, подходят как для одного, так и для другого менеджера.
При установке новой темы достаточно скопировать стилевой файл с заданными характеристиками темы в каталог ~/.blackbox/styles ( ~/.fluxbox/styles), а "обои", если они входят в состав темы, - в каталог ~/.blackbox/backgrounds (~/.fluxbox/backgrounds). После перезапуска оконного менеджера вновь установленные темы будут доступны через меню.
WindowMaker - кто он?
Михаил Шигорин ∙ mike@osdn.org.ua
WindowMaker (WM) - один из многих оконных менеджеров для X Window. Казалось бы, что в нем особенного - в этом подобии легендарного детища Стива Джобса, NeXTSTEP?
Возможно, наиболее бросающимся в глаза отличием для впервые запустившего WM человека будет отсутствие полоски задач (таскбара). Одинокая скрепка в одном углу, выстроившиеся с другой стороны пиктограммки, которые, похоже, живут своей жизнью.
При более внимательном взгляде оказывается, что список окон "спрятался" под средней кнопкой мыши, причем его можно "прикрепить" за заголовок и сделать удобно перемещаемым по экрану окном; докаппы, которые расположились в доке, можно пополнить теми, что вызываются из меню (доступного по щелчку правой кнопки мыши на любом свободном месте).
И тут мы подходим к еще одному вопросу - программы. Если их можно запустить из меню, почему же их нельзя вытащить на "рабочий стол", как, скажем, в KDE?
Здесь мы еще раз вспомним скрепку в углу экрана - клип. Заметьте, что если запускается программа - за редким исключением (см. ниже) внизу экрана появляется пиктограммка. Если подтащить ее мышью к доку или скрепке, появится "призрачный квадрат", показывающий, что программу можно пришвартовать в эту позицию; теперь она будет запускаться по щелчку.
Казалось бы, "полезная емкость" скрепки невелика (хотя, разумеется, можно и весь экран захламить) - но тут на выручку приходят виртуальные "столы", замечательное средство организации рабочего пространства.
По умолчанию между ними можно переключаться при помощи Alt-1, Alt-2 и т. д. - при этом вы попадаете на свободный "стол", на котором хватит места, чтобы разложить окошки GIMP или устроить капитальный Googling в Galeon. Если четырех десктопов не хватит, всегда можно создать новый при помощи щелчка правой кнопкой по "рабочему столу" и выбора пункта WindowMaker->Рабочие столы->New.
И вот тут, когда мы начинаем "крутить в руках" WM, возникает вопрос - а как же еще, кроме подменю в "правой менюшке", его настраивать? Тут на помощь придет WPrefs.app, который в Junior вызывается при помощи собственно пиктограммы дока (черно-белые "ступеньки"). Дальнейшая исследовательская деятельность оставляется в качестве сюрприза любопытному читателю - и не бойтесь, даже если что-то совсем испортится, поначалу можно удалить весь каталог ~/GNUstep, содержащий настройки, и перезапустить WM для создания его вновь (с установками по умолчанию).
Из маленьких советов "в дорогу":
-
сразу выберите симпатичную тему (например, Autumn) и фон - это поможет получить еще больше удовольствия от дальнейшей работы;
-
подумайте, как лучше использовать виртуальные десктопы. Например, вполне может быть такая раскладка (по назначению): Texts, Graphics, Multimedia, Mail, Web, Logs;
-
"поиграйтесь" с докаппами (right->WindowMaker->Dockapps), наверняка многие из них приживутся в вашем доке;
-
для удобства можно вывесить список окон справа у докаппов - щелкните средней кнопкой (колесом) по свободному месту и еще раз левой - по заголовку получившегося окна. Потом его можно утащить почти за экран, чтоб не выдавалось за докаппы - при этом стоит не забыть снять в WPrefs "галочку" с опции "открывать меню внутри экрана";
-
если у вас двухкнопочная мышь и поменять ее на трехкнопочную не получается - настройте "иксы" на эмуляцию третьей кнопки при помощи нажатия одновременно двух;
-
очень удобно использовать "захват мыши" при помощи LAlt- или LWin-клавиши: при ее удерживании можно перетаскивать окна за любую их область левой кнопкой мыши и изменять размер - правой. Можете попробовать это и в других менеджерах - но у WM однозначно получается!
-
если программа "упрямится" и не хочет вывешивать свою пиктограмму - попробуйте "убедить" ее, щелкнув правой кнопкой по заголовку окна и выбрав "Свойства"->"Дополнительные свойства"->"Эмулировать пиктограмму" (Attributes->Advanced Options->Emulate Application Icon), после чего можно нажать "Сохранить" (Save). Правда, иногда и это не помогает - в таком случае имеет смысл пожаловаться автору программы.
Избушка ледяная
Сергей Иванов ∙ ivanov55@yandex.ru
Первое, что приходит в голову - где-то я уже это видел. Конечно - привычная кнопка в левом нижнем углу, здесь украшенная гордым "ледяным" логотипом, панель задач внизу. Похоже на OS/2 Warp или Microsoft Windows 95. Но в дальнейшем мы увидим, что IceWM (www.icewm.org) легко настраивается, и его облик бывает очень разным. Хотя можем убедиться в этом прямо сейчас, нажав на самую главную кнопку и заглянув в пункт меню "Темы". Выбрав в длиннющем списке странных названий наиболее приглянувшееся, видим, что на экране все преобразилось. Изменились рамки и строка заголовка окошек, количество и внешний вид кнопок управления окнами, цвета, шрифты и прочая, и прочая.
Итак, с кнопкой мы разобрались - это главное меню для запуска программ, управления сессией и настройки IceWM. Наличие такой кнопки совершенно необязательно, ее можно удалить с панели - в этом случае стартовое меню вызывается правой (или любой удобной для вас) кнопкой мыши на "рабочем столе". Именно последний способ - наиболее привычный для большинства популярных менеджеров окон - WindowMaker, Sawfish, Blackbox, Enlightenment.
Поскольку речь идет о программе, называемой менеджером окон, к рассмотрению тех самых окон мы и приступим.
Интересными мне показались две особенности IceWM: во-первых, количество кнопок управления окнами (мне попадались темы, в которых этих кнопок аж шесть: кроме традиционных "Закрыть", "Восстановить", "Свернуть", были еще и "Скрутить", "Поднять/Опустить" и "Скрыть", а были темы вообще без кнопок - все действия с окнами производились с помощью меню окна), и, во-вторых, четыре различных способа передачи фокуса окну.
Вернемся к панели. Идем дальше - слева направо. Следующая кнопка вызывает список окон и "рабочих мест" и позволяет переключаться между ними, дальше - кнопки запуска "любимых" программ, за ними - кнопки переключения между "рабочими местами".
"Рабочее место" - распространенная метафора при описании оконных менеджеров. Суть ее в следующем - у вас несколько экранов, каждый из которых содержит свой набор открытых окон и запущенных программ. Например, на одном "рабочем месте" у меня играет МР3-плейер и виден микшер, на другом - браузер и "аська", на третьем - системные логи. Сейчас я вижу только одно "рабочее место", но в любой момент времени могу переключиться на другое. Некоторые окна можно "приклеить", и они будут отображаться на экране при переключении на любое "место".
По умолчанию в IceWM четыре "рабочих места", но их может быть и десяток. Обычно они пронумерованы, хотя можно задать и осмысленные текстовые названия - Web, Work и т. п.
Индикаторы на правом краю панели отображают время, информацию о поступлении новой почты и количестве сообщений, загрузке процессора, заряде батарей и активности Сети. Эти же индикаторы по совместительству - кнопки запуска родственных программ. Например, у меня при нажатии на индикатор почты запускается Mozilla Mail.
Все оставшееся место на панели занимает список запущенных задач.
Как я уже говорил, настройке в IceWM поддается абсолютно все и, безусловно, все вышеперечисленные кнопки и индикаторы могут быть удалены с панели. Да и сама панель не обязательна. Для аскетов предлагается следующий вариант. "Голый" "рабочий стол", на котором одной кнопкой мыши вызывается список задач, а другой кнопкой - главное меню. Существует "облегченная" версия icewm-light, в которой в принципе нет панели задач.
Панель IceWM скрывает в себе интересное свойство - она может быть двойной. В этом случае в верхнем ряду между иконками программ и индикаторами появится полоска мини-терминала, используемая для ввода различных команд и запуска консольных программ.
Возможность делать большую часть работы с клавиатуры, не хватаясь каждую минуту за мышь, высоко ценится большинством приверженцев открытых систем, и IceWM отлично с этим справляется. Абсолютно все действия можно производить с помощью "горячих" клавиш: и управление окнами, и открытие меню, и переключение между запущенными задачами и "рабочими местами".
Подведем итог. Чем же мне приглянулся IceWM?
Во-первых, в нем соблюден баланс между конфигурируемостью и привычностью. Т. е. человек с запросами и фантазией может настроить "под себя" все, что ему нужно, а человеку с опытом работы в других графических средах можно сохранить свои привычки. Во-вторых, отлично реализована работа с клавиатурой. Во-третьих, он "легкий": на моей старой машине AMD K6-200 c 32 Мбайтами оперативной памяти работа была вполне комфортной.