Свободные программы и системы в школе
Добавить в закладки К обложке
- Введение. Зачем программам быть свободными? - Страница 1
- 0.1 Право и экономика ПО - Страница 2
- 0.2 Применимость СПО при реализации «Обязательного минимума...» - Страница 3
- 0.3 Логика и последовательность освоения СПО - Страница 4
- Глава 1. Краткое введение в открытые ОС - Страница 5
- 1.1 Операционные системы - Страница 6
- 1.2 Практическая интеграция - Страница 9
- 1.3 Почему командная строка? - Страница 16
- 1.4 Сеанс работы и команды - Страница 18
- 1.5 Файлы и файловые структуры - Страница 22
- 1.6 Процессы - Страница 31
- 1.7 Переменные - Страница 35
- 1.8 Конвейер - Страница 38
- 1.9 Элементы обработки текста - Страница 40
- 1.10 Элементы программирования оболочки - Страница 45
- 1.11 Справочник по наиболее употребительным стандартным командам ОС - Страница 50
- 1.12 Перечень стандартных команд ОС - Страница 56
- Глава 2. Графический пользовательский интерфейс - Страница 60
- 2.1 Оконная система «Икс» и XFree86 - Страница 61
- 2.2 Цветной сэндвич - Страница 62
- 2.3 «Чистая» «Икс» - Страница 63
- 2.4 Окноводы - Страница 64
- 2.5 Столоначальники - Страница 65
- 2.6 Триумф интерфейса над пользователем? - Страница 66
- 2.7 От какого наследства нам не стоит отказываться? - Страница 67
- 2.8 Зачем нужны «легкие» среды? - Страница 68
- 2.9 Базовая функциональность оконного менеджера - Страница 69
- 2.10 «Виджеты» - Страница 70
- 2.11 Расширенная функциональность оконного менеджера - Страница 71
- 2.12 Оконные менеджеры «BlackBox» и «FluxBox» - Страница 72
- 2.13 Оконный менеджер «WindowMaker» - Страница 73
- 2.14 Оконный менеджер «IceWM» - Страница 74
- 2.15 Интегрированные графические среды - Страница 75
- 2.16 Плюсы и минусы интегрированных сред - Страница 76
- 2.17 Общие черты интегрированных сред - Страница 77
- 2.18 «Гном» (Модельная среда сетевых объектов GNU) - Страница 78
- 2.19 «КДЕ» (Настольная среда K) - Страница 80
- Глава 3. Пакет «Мозилла» - Страница 81
- 3.1 Базовая функциональность «Мозилла»66 - Страница 82
- 3.2 «Мозилла»: как это сделано - Страница 84
- Глава 4. «Открытый Офис» - Страница 85
- 4.1 Словарный процессор «OpenWriter» - Страница 86
- 4.2 Редактор электронных таблиц «OpenCalc» - Страница 90
- 4.3 Редактор векторной графики «OpenDraw» - Страница 93
- Глава 5. Редактор растровой графики «ГИМП» - Страница 97
- 5.2 Источники и параметры и форматы представления растровой графики - Страница 98
- 5.3 Общие сведения о «ГИМП» - Страница 99
- 5.4 «ГИМП» – программируемый графический редактор - Страница 100
- 5.5 Фильтрация и синтез изображений - Страница 102
2.9 Базовая функциональность оконного менеджера
Как уже говорилось, ключевой компонент графической платформы – Икс-сервер:
захватывает оборудование,
создает по запросу других программ (которые в этой терминологии называются X-клиентами) окна и
предоставляет другим программам возможность работы в окнах, то есть вывода информации в эти окна и обработки сигналов от устройств ввода (клавиатуры и «мыши» или другого координатного устройства), когда окно, назначенное программе, является активным. Предоставление ресурсов возможно в том числе и через сеть, когда клиент и сервер работают на разных компьютерах (узлах).
В «голой» среде, образуемой Икс-сервером без оконного менеджера, окно, выделяемое клиенту, является фиксированным: его геометрия (местоположение на экране и размер) задается при запуске клиента и сохраняется в течение всего сеанса работы с этим клиентом. Это вполне соответствует цели создания специализированных систем с графическим интерфейсом пользователя (таких, как мультимедийные киоски и т.п.), но совершенно недостаточно для универсального «настольного» применения.
При универсальном применении компьютера характерна поочередная работа с различными программами (иногда достаточно большим их количеством), причем пользователь может отрываться, допустим, от редактирования текста, чтобы поработать другой программой с иллюстрацией, прочитать почту или заглянуть на WWW-страницу, затем возвращаться к редактированию текста и т.д. Графическая операционная среда должна быть достаточно гибкой, чтобы допускать и поддерживать такой, «субъектно-ориентированный», а не ориентированный на строго последовательное выполнение предзаданных процедур, стиль работы.
В частности, должно поддерживаться управление (с помощью клавиатуры или «мыши») окнами, т.е. возможность изменять «на лету» их геометрию (положение и размеры), а также (обычно не относимое к геометрии) положение в воображаемой «стопке» окон, т.е. определение того, какое из окон будет «верхним» (видимым полностью), если окна перекрывают друг друга на плоскости экрана.
Управление окнами и составляет базовую функциональность оконного менеджера (устоявшийся термин window manager, относящийся к этому классу программ, будет передаваться далее словосочетанием-калькой «оконный менеджер», которое, впрочем, не представляется особенно удачным, так же, как и встречающиеся в литературе «менеджер окон» и «администратор окон»).
Технически ограничение на изменение геометрии однажды выделенного окна преодолевается оконным менеджером за счет того, что ему в качестве окна выделяется весь экран.
Прикладным программам, таким образом, выделяются далее уже не окна собственно X, а окна оконного менеджера. Для них это совершенно прозрачно, хотя желательно, чтобы программа была достаточно «сообразительной», чтобы изменить свое поведение при изменении размеров выделенного ей окна «на лету» (изменение положения окна в подавляющем большинстве случаев ничего от клиента не требует), это справедливо для большинства, но не для всех программ (в частности, этого не «умеют» многие старые программы и некоторые компьютерные игры).
В свою очередь, и оконный менеджер может быть достаточно «умен», чтобы понять, что программа не реагирует на изменение геометрии, и заблокировать возможность изменения размеров окна пользователем (чтобы он не оказался в ситуации, когда ему видна лишь часть области вывода программы или наоборот, часть окна прикладной программы пуста). Однако такое решение может привести к весьма дискомфортным ситуациям (например, если при запуске программы ее окно оказывается больше экрана)64.