Диспетчер окон

редактировать
Слои графического интерфейса пользователя:. Под X, диспетчер окон и сервер отображения - это две разные программы; но в Wayland функция обоих обрабатывается композитором Wayland. Типичные элементы окна. Окно оформление рисуется либо оконным менеджером (X11), либо клиентом (Wayland ). Отрисовка содержимого - это задача клиента. В X11, когда оконный менеджер не запущен, для большинства окон отсутствует оформление окон. В Wayland клиенты всегда рисуют собственное оформление окон.

A оконный менеджер - это системное программное обеспечение, которое управляет размещением и внешним видом окон внутри оконная система в графическом пользовательском интерфейсе. Большинство оконных менеджеров предназначены для обеспечения среды рабочего стола. Они работают вместе с базовой графической системой, которая обеспечивает необходимую функциональность - поддержку графического оборудования, указывающих устройств и клавиатуры, и часто пишутся и создаются с использованием инструментария виджетов.

Немногие оконные менеджеры разработаны с ясным различие между оконной системой и оконным менеджером. Каждый графический интерфейс пользователя, основанный на метафоре окон, имеет некоторую форму управления окнами. На практике элементы этой функциональности сильно различаются. Элементы, обычно связанные с оконными менеджерами, позволяют пользователю открывать, закрывать, минимизировать, максимизировать, перемещать, изменять размер и отслеживать запущенные окна, включая оконные декораторы. Многие оконные менеджеры также поставляются с различными утилитами и функциями: например, док-станции, панели задач, средства запуска программ, значки рабочего стола и обои.

Содержание
  • 1 История
  • 2 X оконных менеджеров
  • 3 Microsoft Windows
  • 4 Типы оконных менеджеров
    • 4.1 Составление оконных менеджеров
    • 4.2 Объединение оконных менеджеров
    • 4.3 Мозаичное окно менеджер
    • 4.4 Динамический оконный менеджер
  • 5 Особенности и возможности оконных менеджеров
    • 5.1 Активное окно
  • 6 См. также
  • 7 Ссылки
История
Перекрывающиеся окна запущенной среды Smalltalk-76 на Alto

В 1970-х, Xerox Alto стал первым компьютером, поставляемым с работающим WIMP GUI. Он использовал стек оконный менеджер, который позволял перекрывать окна. Хотя неясно, содержит ли Microsoft Windows дизайны, скопированные из Apple Mac OS, ясно, что ни один из них не был первым, кто создал графический интерфейс с использованием окон наложения. В начале 1980-х в Xerox Star, преемнике Alto, использовалась мозаика для большинства основных окон приложений, а перекрытие использовалось только для диалоговых окон, устраняя большую часть необходимости в наложении.

Mac OS была одним из первых коммерчески успешных примеров графического интерфейса пользователя, который использовал своего рода управление стеком окон через QuickDraw. В настоящее время macOS использует несколько более продвинутый оконный менеджер, который поддерживает композитинг с Mac OS X 10.0 и был обновлен в Mac OS X 10.2 для поддержки композитинга с аппаратным ускорением. через Quartz Compositor.

GEM 1.1 был оконным менеджером, который поддерживал метафору рабочего стола и использовал наложение, позволяя всем окнам перекрываться. Он был выпущен в начале 1980-х. GEM известен тем, что был включен в качестве основного графического интерфейса пользователя в Atari ST, который работал с Atari TOS и был также популярный графический интерфейс для MS-DOS до широкого использования Microsoft Windows. В результате судебного иска Apple GEM была вынуждена удалить возможности стекирования, превратив его в тайловый оконный менеджер.

В середине 1980-х Amiga OS содержал ранний пример композитного оконного менеджера под названием Intuition (одна из низкоуровневых библиотек AmigaOS, который присутствовал в системе Amiga ROM ), способный распознавать, какие окна или их части были закрыты, и какие окна были на переднем плане и были полностью видны, поэтому он мог рисовать только те части экрана, которые требовали обновления. Кроме того, Intuition поддерживает композитинг. Приложения могут сначала запросить область памяти за пределами текущей области отображения для использования в качестве растрового изображения. Затем оконная система Amiga будет использовать серию битовых двоичных разрядов, используя аппаратное обеспечение системы блиттер, чтобы построить композицию растровых изображений этих приложений вместе с кнопками и ползунками в памяти дисплея, без требуя от этих приложений перерисовки любых своих растровых изображений.

Интуиция также предвидела выбор пользователя, распознавая положение указателя, плавающего над другими элементами экрана (строки заголовков окон, их закрытие и гаджеты изменения размера, целые значки), и, таким образом, она могла предоставление почти нулевого состояния ожидания для использования оконного менеджера Workbench.

Следует отметить тот факт, что Workbench был единственным оконным менеджером, который в конечном итоге вдохновил целую семью потомков и преемников: Ambient в MorphOS, Zune / Wanderer в AROS, Workbench NG (Новое поколение в AmigaOS 4.0 и 4.1). Workbench 4.1 был расширен за счет 2D-векторного интерфейса, основанного на библиотеках Cairo, и представляет собой современный механизм компоновки на основе Porter-Duff 3D.

В 1988 году Presentation Manager стал оболочкой по умолчанию в OS / 2, которая в своей первой версии использовала только интерфейс командной строки (CLI). IBM и Microsoft разработали OS / 2 как преемницу DOS и Windows для DOS. Однако после успеха Windows 3.10 Microsoft отказалась от проекта в пользу Windows. После этого проект Microsoft для будущей OS / 2 версии 3 стал Windows NT, и IBM полностью переработала оболочку OS / 2, заменив Presentation Manager OS / 2 1.x на объектно-ориентированный Workplace Shell, который дебютировал в OS / 2 2.0.

X Window Manager

В системах, использующих X Window System, существует четкое различие между оконным менеджером и оконной системой . Строго говоря, диспетчер окон X не взаимодействует напрямую с видеооборудованием, мышами или клавиатурами - это входит в обязанности сервера отображения .

. Пользователи системы X Window имеют возможность легко использовать множество различных оконных менеджеров - Metacity, используемый в GNOME 2, и KWin, используемый в KDE Plasma Workspaces и многие другие. Поскольку многие оконные менеджеры являются модульными, люди могут использовать другие, такие как Compiz (оконный менеджер 3D композитинга ), который заменяет оконный менеджер. Sawfish и awesome, с другой стороны, являются расширяемыми оконными менеджерами, предлагающими точный контроль окна. Компоненты разных оконных менеджеров можно даже смешивать и согласовывать; например, оформление окон из KWin можно использовать с компонентами рабочего стола и dock GNOME.

X-оконные менеджеры также имеют возможность переназначать приложения, что означает, что, хотя изначально все приложения принимаются корневым окном (по сути, весь экран), приложение, запущенное в корневом окне, может быть адаптировано (т. е. помещено внутрь) другого окна. Диспетчеры окон в системе X Window перенимают приложения из корневого окна и передают их родителям для оформления окон (например, добавляя строку заголовка). Повторное родительство также можно использовать для добавления содержимого одного окна в другое. Например, приложение flash player может быть повторно привязано к окну браузера и может отображаться пользователю как предположительно являющееся частью этой программы. Таким образом, диспетчеры окон с измененным родителем могут упорядочивать одну или несколько программ в одном окне и могут легко комбинировать мозаичное и объединение различными способами.

Microsoft Windows

Microsoft Windows предоставляет интегрированный оконный менеджер стекирования начиная с Windows 2.0 ; Windows Vista представила композитинг Desktop Window Manager (dwm.exe) в качестве дополнительной альтернативы с аппаратным ускорением. В Windows, поскольку GDI является частью ядра, роль оконного менеджера тесно связана с графическими подсистемами ядра и практически не подлежит замене, хотя сторонние утилиты могут использоваться для имитации оконного менеджера Tiling поверх таких систем. Начиная с Windows 8, диспетчер окон рабочего стола на основе Direct3D больше нельзя отключить. Его можно перезапустить только с помощью комбинации горячих клавиш Ctrl + Shift + Win + B.

Проводник Windows (explorer.exe) используется по умолчанию в качестве оболочки в современных системах Windows для обеспечения панели задач и диспетчера файлов, а также многих функций диспетчера окон; аспекты Windows могут быть изменены с помощью предоставленных утилит конфигурации, изменения реестра Windows или с помощью сторонних инструментов, таких как WindowBlinds или Resource Hacker.

Диспетчер окон Windows также может действовать как менеджер окон X через Cygwin / X в многооконном режиме (и, возможно, в других реализациях окон X).

Обратите внимание, что Microsoft и X Window System используют разные термины для описания схожих концепций. Например, Microsoft редко упоминает термин оконный менеджер, потому что он интегрирован и незаменим и отличается от оболочки оболочки. Оболочка Windows аналогична концепции среды рабочего стола в других системах графического интерфейса пользователя.

Типы оконных менеджеров

Оконные менеджеры часто делятся на три или более классов, которые описывают, как окна отображаются и обновляются.

Составные оконные менеджеры

Составные оконные менеджеры позволяют создавать и рисовать все окна отдельно, а затем объединять и отображать в различных 2D и 3D средах. Самые продвинутые оконные менеджеры композитинга обеспечивают большое разнообразие внешнего вида интерфейса, а также наличие продвинутых 2D и 3D визуальных эффектов.

Группирование оконных менеджеров

Все оконные менеджеры, которые имеют перекрывающиеся окна и не составляют оконные менеджеры, являются стековыми оконными менеджерами, хотя возможно, что не все используют одни и те же методы. Диспетчеры окон с наложением стеков позволяют окнам перекрываться, сначала отрисовывая фоновые окна, что называется алгоритмом художника. Иногда изменения требуют перестановки или перекраски всех окон, что обычно включает перерисовку каждого окна. Однако, чтобы вывести фоновое окно на передний план, обычно требуется только перерисовать одно окно, поскольку фоновые окна могут иметь части других окон, закрашенных поверх них, эффективно стирая покрытые области.

Диспетчер окон мозаичного типа

Диспетчер окон мозаичного типа рисует все окна на экране, размещая их бок о бок или выше и ниже друг друга, так что ни одно окно никогда не закрывает другое. Microsoft Windows 1.0 использовала мозаику, и для X доступны различные оконные менеджеры мозаики.

Диспетчер динамических окон

Диспетчер динамических окон может динамически переключаться между мозаичным или плавающим расположением окон. Доступны различные динамические оконные менеджеры для X.

Функции и возможности оконных менеджеров
Автоскрытие
Функция позволяет строкам меню исчезать, когда указатель перемещается от края
Границы
Граница - это компонент украшения окна, предоставляемый некоторыми оконными менеджерами, который появляется вокруг активного окна. Некоторые оконные менеджеры могут также отображать границу вокруг.
Контекстное меню
Некоторые оконные менеджеры предоставляют контекстное меню, которое появляется, когда к компоненту рабочего стола применяется альтернативное событие щелчка.
Обои для рабочего стола
Некоторые оконные менеджеры предоставляют возможность обоев рабочего стола, которая отображает фоновое изображение в корневом окне .
Кража фокуса
Кража фокуса - это средство, которое предоставляют некоторые оконные менеджеры. Это позволяет приложению, не находящемуся в фокусе, внезапно получить фокус и украсть пользовательский ввод, предназначенный для ранее сфокусированного приложения.
Iconification
Функция iconification позволяет пользователям минимизировать запущенные приложения до значка на рабочем столе или значок.
Объединенная Windows
Некоторые оконные менеджеры предоставляют возможность, которая позволяет пользователю объединять оконные фреймы приложений.
Эквиваленты клавиатуры
Некоторые оконные менеджеры предоставляют возможность дублирования клавиатуры мышь функциональность.
Menubar
A menubar предоставляет возможность запускать программы через меню и может содержать дополнительные возможности, включая кнопку запуска, панель задач и в области уведомлений.
Панель меню
Компонент некоторых оконных менеджеров, который предоставляет возможность запускать программы с помощью меню. A похож на строку меню, но отображается как плавающая панель , а не как горизонтальная или вертикальная полоса.
Может содержать дополнительные возможности, включая кнопка запуска, a и в области уведомлений.
Фокус мыши
Модель фокусировки мыши определяет, как указывающее устройство влияет на ввод фокус в оконном менеджере. Модель фокуса определяет, какой компонент графического интерфейса пользователя в настоящее время выбран для приема ввода, когда указатель перемещается по экрану.
Деформация мыши
Деформация мыши - это средство, которое центрирует указатель на текущем приложении, когда оно становится активным.
Несколько рабочих столов
Диспетчер окон может предоставлять возможность нескольких рабочих столов. Это позволяет переключаться между несколькими рабочими столами корневого окна . Это предотвращает загромождение корневого окна, потому что приложения могут работать на разных рабочих столах.
Pager
Некоторые оконные менеджеры предоставляют инструмент pager, который предоставляет возможность переключения между несколькими рабочими столами. пейджер может отображаться как экранное окно или как гаджет на панели задач или.
Плагины
Некоторые оконные менеджеры имеют модульную конструкцию, которая позволяет подключаемым модулям: в модулях для обеспечения необходимых функций.
Rollup
Средство позволяет окнам отображаться на рабочем столе только в виде строки заголовка.
Главное меню
Некоторые оконные менеджеры предоставляют, который появляется при касании корневого окна или фона рабочего стола.
Ярлыки
Некоторые оконные менеджеры предоставляют ярлык средство, которое позволяет пользователям размещать значки в корневом окне для доступа к определенным программам или средствам.
Окна с вкладками
Некоторые оконные менеджеры предоставляют возможность группировать приложения вместе в общих фреймах.
Переключение задач
Диспетчер окон может предоставлять различные средства переключения задач, которые позволяют пользователю изменять текущее фокусируемое приложение, включая:
  • Изменение фокуса мыши с помощью указывающего устройства
  • Клавиша средства переключения задач доски (например, нажатием Alt-Tab)
  • Щелчок по задаче на панели задач или
панели задач
Некоторые оконные менеджеры предоставляют панель задач, на которой отображаются запущенные приложения. Панель задач может отображать все запущенные приложения, включая уже работавшие, и может предоставлять возможность переключать фокус между ними. панель задач может быть включена в строку меню в некоторых оконных менеджерах.
Панель задач
похожа на панель задач, но отображается как плавающая панель , а не как горизонтальная или вертикальная полоса.
Кнопка «Пуск»
Кнопка «Пуск» - это виджет рабочего стола, который предоставляет меню программ, которые можно запустить. Кнопка запуска обычно находится в строке меню в нижней части экрана.
Область уведомлений
A Область уведомлений используется для отображения значков для системы и программы. функции, у которых нет окна рабочего стола. Он содержит в основном значки для обозначения информации о состоянии и уведомлений, например о прибытии нового почтового сообщения. Некоторые системы могут также отображать часы в области уведомлений.
Строки заголовка
A строка заголовка - это компонент оформления окна, который некоторые оконные менеджеры предоставляют в верхней части каждого окна. Строка заголовка обычно используется для отображения имени приложения или имени открытого документа и может содержать кнопки строки заголовка для минимизации, максимизации, закрытия или сворачивания окон приложений.
Заголовок Кнопки панели
Кнопки строки заголовка включены в строку заголовка некоторых оконных менеджеров и предоставляют возможность сворачивать, разворачивать, сворачивать или закрывать окна приложений. Некоторые оконные менеджеры могут отображать кнопки заголовка на панели задач или вместо заголовка.
виртуального рабочего стола
A виртуального рабочего стола (также называемого прокрутка рабочего стола) - это средство, предоставляемое некоторыми оконными менеджерами, которое позволяет рабочему столу быть больше, чем фактический экран

Активное окно

активное окно - это текущее фокусируемое окно в текущем оконном менеджере. Различные оконные менеджеры по-разному указывают на активное в данный момент окно и позволяют пользователю переключаться между окнами по-разному. Например, в Microsoft Windows, если открыты и Блокнот, и Microsoft Paint, щелчок в окне Блокнот приведет к тому, что это окно станет активным. В Windows активное окно обозначается полосой заголовка другого цвета. Однако щелчок - не единственный способ выбора активного окна: некоторые оконные менеджеры (такие как FVWM ) делают окно под указателем мыши активным - для переключения окон достаточно простого перемещения мыши; щелчок не нужен.

Диспетчеры окон часто предоставляют способ выбора активного окна с помощью клавиатуры в качестве альтернативы мыши. Типичная комбинация клавиш - Alt + Tab, используется Windows и KDE (по умолчанию, хотя это настраивается пользователем); другой - ключ яблока -tilde, используемый Macintosh. Нажатие соответствующей комбинации клавиш обычно циклически проходит через все видимые окна в определенном порядке, хотя возможны и другие действия.

Многие, но не все, оконные менеджеры предоставляют область экрана, содержащую некоторый вид визуального контроля (часто кнопку) для каждого окна на экране. Каждая кнопка обычно содержит заголовок окна, а также может содержать значок. Эта область экрана обычно обеспечивает своего рода визуальную индикацию того, какое окно активно - например, кнопка активного окна может казаться «нажатой». Также обычно можно переключить активное окно, щелкнув соответствующую кнопку. В Microsoft Windows эта область экрана называется панелью задач; в системах Apple Macintosh эта область экрана называется док-станцией.

Активное окно не всегда может располагаться перед всеми другими окнами на экране. Активное окно - это просто окно, в которое отправляются клавиши, набранные на клавиатуре; он может быть визуально закрыт другими окнами. Это особенно верно для оконных менеджеров, которым не требуется щелчок для изменения активных окон: FVWM, например, делает активным окно под курсором мыши, но не меняет его Z-порядок (порядок, в котором появляются окна, от заднего до переднего плана). Вместо этого необходимо щелкнуть по границе окна, чтобы вывести его на передний план. Также существуют ситуации в диспетчерах окон с функцией щелчка для фокусировки, таких как Microsoft Windows, когда активное окно может быть закрыто; однако это встречается гораздо реже.

См. Также
Ссылки
Последняя правка сделана 2021-06-21 10:40:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте