Книга: Свободные программы и системы в школе
2.9 Базовая функциональность оконного менеджера
2.9 Базовая функциональность оконного менеджера
Как уже говорилось, ключевой компонент графической платформы – Икс-сервер:
захватывает оборудование,
создает по запросу других программ (которые в этой терминологии называются X-клиентами) окна и
предоставляет другим программам возможность работы в окнах, то есть вывода информации в эти окна и обработки сигналов от устройств ввода (клавиатуры и «мыши» или другого координатного устройства), когда окно, назначенное программе, является активным. Предоставление ресурсов возможно в том числе и через сеть, когда клиент и сервер работают на разных компьютерах (узлах).
В «голой» среде, образуемой Икс-сервером без оконного менеджера, окно, выделяемое клиенту, является фиксированным: его геометрия (местоположение на экране и размер) задается при запуске клиента и сохраняется в течение всего сеанса работы с этим клиентом. Это вполне соответствует цели создания специализированных систем с графическим интерфейсом пользователя (таких, как мультимедийные киоски и т.п.), но совершенно недостаточно для универсального «настольного» применения.
При универсальном применении компьютера характерна поочередная работа с различными программами (иногда достаточно большим их количеством), причем пользователь может отрываться, допустим, от редактирования текста, чтобы поработать другой программой с иллюстрацией, прочитать почту или заглянуть на WWW-страницу, затем возвращаться к редактированию текста и т.д. Графическая операционная среда должна быть достаточно гибкой, чтобы допускать и поддерживать такой, «субъектно-ориентированный», а не ориентированный на строго последовательное выполнение предзаданных процедур, стиль работы.
В частности, должно поддерживаться управление (с помощью клавиатуры или «мыши») окнами, т.е. возможность изменять «на лету» их геометрию (положение и размеры), а также (обычно не относимое к геометрии) положение в воображаемой «стопке» окон, т.е. определение того, какое из окон будет «верхним» (видимым полностью), если окна перекрывают друг друга на плоскости экрана.
Управление окнами и составляет базовую функциональность оконного менеджера (устоявшийся термин window manager, относящийся к этому классу программ, будет передаваться далее словосочетанием-калькой «оконный менеджер», которое, впрочем, не представляется особенно удачным, так же, как и встречающиеся в литературе «менеджер окон» и «администратор окон»).
Технически ограничение на изменение геометрии однажды выделенного окна преодолевается оконным менеджером за счет того, что ему в качестве окна выделяется весь экран.
Прикладным программам, таким образом, выделяются далее уже не окна собственно X, а окна оконного менеджера. Для них это совершенно прозрачно, хотя желательно, чтобы программа была достаточно «сообразительной», чтобы изменить свое поведение при изменении размеров выделенного ей окна «на лету» (изменение положения окна в подавляющем большинстве случаев ничего от клиента не требует), это справедливо для большинства, но не для всех программ (в частности, этого не «умеют» многие старые программы и некоторые компьютерные игры).
В свою очередь, и оконный менеджер может быть достаточно «умен», чтобы понять, что программа не реагирует на изменение геометрии, и заблокировать возможность изменения размеров окна пользователем (чтобы он не оказался в ситуации, когда ему видна лишь часть области вывода программы или наоборот, часть окна прикладной программы пуста). Однако такое решение может привести к весьма дискомфортным ситуациям (например, если при запуске программы ее окно оказывается больше экрана)64.
- 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)
- Функциональность или дизайн?
- Необходимая функциональность
- «Любимчики» или ненужная функциональность
- Глава 6 BIOS – базовая система ввода-вывода
- Ключевые показатели работы категорийного менеджера
- Общие сведения о файловых менеджерах
- 15.2. Роль менеджера в инновационной сфере
- Схема материального стимулирования категорийного менеджера
- Борьба с излишней функциональностью
- 2.2. Базовая обработка командной строки
- 15.4.1. Базовая теория make
- Базовая конфигурация DNS