Книга: Свободные программы и системы в школе
2.4 Окноводы
2.4 Окноводы
Как же менеджер окон преодолевает указанное ограничение X-протокола? Никак – просто выделенным ему окном является весь экран. (На самом деле, менеджер окон – не единственная программа, способная работать с «корневым» окном; например, входящая в комплект поставки «xsetroot» позволяет установить цвет фона или поместить на него рисунок.)
Менеджеров окон существует превеликое множество – под любой набор задач, которые может решать графическая многооконная система. Их настолько много, что выбрать какой-нибудь в качестве «типичного представителя семейства» затруднительно. Поэтому выберем один из самых развитых – Enlightenment.
«Просвещение» (www.Enlightenment.org) создано Карстеном Хайцлером и Джеффом Харрисоном (Carsten Haitzler, Geoff Harrison) и его текущая версия – 0.16.5. До 2000 г. он был «штатным» менеджером окон в популярной среде «Гном» (см. раздел 2.17), затем уступив это место менее функциональной, но более быстрой «Рыбе-пиле» (Sawfish). Он продолжает оставаться «Гном»-совместимым, и многие пользователи этого популярного десктоп-менеджера предпочитают его, хотя и без «Гном» у Enlightenment поклонников хватает.
Рис. 2-4
Запустим «Просвещение» (Рис. 2-4). Как резко изменилась картина!
Первое, что мы видим – это появившиеся вокруг окна нашего xterm «виджеты» (элементы окон) – строка заголовка с кнопками и рамка. Окно теперь можно перемещать по экрану, «ухватив» за заголовок, масштабировать, «взяв» за бок или за угол, максимизировать, минимизировать или закрыть, нажав соответствующую кнопку. Спрашивается, что еще можно делать с окном?
Рис. 2-5
Вопрос не праздный. Нажав на левую кнопку в заголовке, получаем неожиданно разнообразное меню (меню – это тоже «виджет») таких действий (Рис. 2-5). Оказывается, его можно еще уничтожить (Annihilate), поднять/опустить (Raise/Lower), оттенить/растенить (Shade/Unshade) приклеить/отклеить (Stick/Unstick) и выполнить еще массу действий, для которых потребовались отдельные меню! Набор этих действий зависит от конкретного менеджера окон (и Enlightenment – один из самых богатых возможностями), а то, какие из них выведены в строку заголовка отдельными кнопками – вообще от его настройки.
Собственно, управление окнами – основная функция оконного менеджера, и на этом его функциональность может и заканчиваться. Однако большинство из них выполняют по крайней мере еще одну функцию.
Рис. 2-6
Вы уже обратили внимание на то, что при запуске «Просвещения» на экране появилось еще одно окно. Это так называемый пейджер (pager), на Рис. 2-6 он изображен крупным планом. На пейджере представлена миниатюрная копия экрана, обновляющаяся в режиме реального времени, причем, если подвести курсор к изображению отдельного окна, оно увеличивается и рядом высвечивается название приложения, запущенного в нем. Но почему экран занимает только четверть окна пейджера? Потому что оконный менеджер позволяет оперировать «виртуальным столом, по размеру превышающим физический экран, а пейджер – одно из средств перемещения физического экрана по рабочему столу. Enlightenment позволяет создавать до 64 экранов на рабочем столе.
Рис. 2-7
Еще один важный компонент Enlightenment мы не увидели сразу: это меню настройки самого менеджера, которое можно «достать», щелкнув правой кнопкой мыши на фоне экрана (Рис. 2-7). Порывшись в настройках, можно обнаружить, что вышесказанное о способах оперирования с этим менеджером весьма условно, потому что поменять можно буквально все, от декора виджетов до количества и функций элементов оформления окон и их реакции на различные действия.
Лишь один пример: сколько способов визуализировать перемещение окна вы знаете? Разработчики «Просвещения» придумали целых шесть, включая фантастический «полупрозрачный». Настройки и расширения Enlightenment можно объединять в «темы» (themes) и обмениваться ими.
Собственно, на этом функции оконного менеджера как такового и заканчиваются, а дальше Enlightenment вторгается во владения другого класса программ – менеджеров рабочего стола...
- 2.1 Оконная система «Икс» и XFree86
- 2.2 Цветной сэндвич
- 2.3 «Чистая» «Икс»
- 2.4 Окноводы
- 2.5 Столоначальники
- 2.6 Триумф интерфейса над пользователем?
- 2.7 От какого наследства нам не стоит отказываться?
- 2.8 Зачем нужны «легкие» среды?
- 2.9 Базовая функциональность оконного менеджера
- 2.10 «Виджеты»
- 2.11 Расширенная функциональность оконного менеджера
- 2.12 Оконные менеджеры «BlackBox» и «FluxBox»
- 2.13 Оконный менеджер «WindowMaker»
- 2.14 Оконный менеджер «IceWM»
- 2.15 Интегрированные графические среды
- 2.16 Плюсы и минусы интегрированных сред
- 2.17 Общие черты интегрированных сред
- 2.18 «Гном» (Модельная среда сетевых объектов GNU)
- 2.19 «КДЕ» (Настольная среда K)