Оконный менеджер
Оконный менеджер — это системное программное обеспечение , которое управляет размещением и внешним видом окон в оконной системе в графическом пользовательском интерфейсе . [1] Большинство оконных менеджеров созданы для обеспечения среды рабочего стола . Они работают совместно с базовой графической системой, которая обеспечивает необходимую функциональность — поддержку графического оборудования, указывающих устройств и клавиатуры — и часто пишутся и создаются с использованием набора инструментов для виджетов .
Лишь немногие оконные менеджеры разработаны с четким различием между оконной системой и оконным менеджером. Каждый графический пользовательский интерфейс, основанный на метафоре окон, имеет ту или иную форму управления окнами. На практике элементы этой функциональности сильно различаются. [2] Элементы, обычно связанные с оконными менеджерами, позволяют пользователю открывать, закрывать, сворачивать, разворачивать, перемещать, изменять размер и отслеживать запущенные окна, включая декораторы окон . Многие оконные менеджеры также поставляются с различными утилитами и функциями, такими как панели задач , средства запуска программ, доки для облегчения разделения окон на экране пополам или на четверти, рабочие области для группировки окон, значки рабочего стола , обои, возможность сохранять выбранные окна на переднем плане, возможность «свернуть» окна, чтобы отображались только их заголовки, расположить окна каскадом, сгруппировать окна в сетку, сгруппировать окна одной и той же программы на панели задач в целях экономии места и дополнительные многострочные панели задач. [3] [4] [5] [6]
История
[ редактировать ]В 1973 году Xerox Alto стал первым компьютером с работающим WIMP графическим интерфейсом . Он использовал многоуровневый оконный менеджер , который позволял перекрывать окна. [7] Однако он настолько опередил свое время, что его дизайнерская парадигма получила широкое распространение лишь более десяти лет спустя. Хотя неясно, содержит ли Microsoft Windows от Apple дизайн, скопированный с классической Mac OS , ясно, что ни одна из них не была первой, кто создал графический интерфейс с использованием многоуровневых окон. В начале 1980-х годов Xerox Star , преемник Alto, использовал мозаику для большинства основных окон приложений и использовал перекрытие только для диалоговых окон, устраняя большую часть необходимости в укладке. [8]
Классическая Mac OS была одним из первых коммерчески успешных примеров графического пользовательского интерфейса, в котором использовалось своего рода управление окнами с помощью QuickDraw . Его преемник, macOS , использует несколько более продвинутый оконный менеджер, который поддерживает композитинг, начиная с Mac OS X 10.0 , и был обновлен в Mac OS X 10.2 для поддержки аппаратного ускорения композитинга через Quartz Compositor . [9]
GEM 1.1 от Digital Research представляла собой операционную среду , включавшую менеджер окон, позволяющий перекрывать все окна. Он был выпущен в начале 1980-х годов. [10] GEM известен тем, что был включен в качестве основного графического интерфейса, используемого в Atari ST , на котором работала Atari TOS , а также был популярным графическим интерфейсом для MS-DOS до широкого распространения Microsoft Windows. В результате иска Apple компания Digital Research была вынуждена удалить возможности стекирования в GEM 2.0, сделав свой оконный менеджер тайловым оконным менеджером. [11]
В середине 1980-х годов ОС Amiga содержала ранний пример оконного менеджера композиции под названием Intuition (одна из низкоуровневых библиотек AmigaOS, которая присутствовала в системных ПЗУ Amiga ), способного распознавать, какие окна или их части были закрыты. и какие окна были на переднем плане и полностью видимы, чтобы можно было рисовать только те части экрана, которые требовали обновления. Кроме того, Intuition поддерживает композицию. Приложения могут сначала запросить область памяти за пределами текущей области отображения для использования в качестве растрового изображения. Затем оконная система Amiga будет использовать серию бит-блитов системы с использованием аппаратного блиттера для создания композиции растровых изображений этих приложений, а также кнопок и ползунков в памяти дисплея, не требуя от этих приложений перерисовывать какие-либо из своих растровых изображений.
В 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. [12]
Примеры
[ редактировать ]X оконные менеджеры
[ редактировать ]В системах, использующих оконную систему X , существует четкое различие между оконным менеджером и оконной системой . Строго говоря, оконный менеджер X не взаимодействует напрямую с видеооборудованием, мышами или клавиатурами — за это отвечает сервер отображения .
Пользователи X Window System имеют возможность легко использовать множество различных оконных менеджеров — Metacity , используемый в GNOME 2 , и KWin , используемый в KDE Plasma Workspaces , и многие другие. Поскольку многие оконные менеджеры являются модульными, [ нечеткий ] люди могут использовать других, [ нечеткий ] например Compiz ( оконный менеджер 3D-композиции ), который заменяет оконный менеджер. [ нечеткий ] Sawfish и Awesome , с другой стороны, представляют собой расширяемые оконные менеджеры, предлагающие точный контроль над окнами. Компоненты разных оконных менеджеров можно даже смешивать и сочетать; например, украшения окон из KWin можно использовать с компонентами рабочего стола и док-станции GNOME.
Оконные менеджеры X также имеют возможность переназначать приложения, а это означает, что, хотя изначально все приложения принимаются корневым окном (по сути, всем экраном), приложение, запущенное в корневом окне, может быть принято (т. е. помещено внутрь ) другое окно. Оконные менеджеры в системе X Window принимают приложения из корневого окна и переустанавливают их родительские элементы для применения украшений окна (например, добавления строки заголовка). Повторное родительство также можно использовать для добавления содержимого одного окна в другое. Например, приложение Flash Player может быть повторно привязано к окну браузера и может казаться пользователю предположительно частью этой программы. Таким образом, оконные менеджеры, меняющие родительские элементы, могут размещать одну или несколько программ в одном окне и легко комбинировать мозаику и укладку различными способами.
Microsoft Windows
[ редактировать ]Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( август 2011 г. ) |
Microsoft Windows предоставляет интегрированный оконный менеджер стекирования, начиная с Windows 2.0 ; В Windows Vista появился диспетчер окон рабочего стола с компоновкой (dwm.exe) в качестве дополнительной альтернативы с аппаратным ускорением. В Windows, поскольку GDI является частью ядра, [13] Роль оконного менеджера тесно связана с графическими подсистемами ядра и практически не заменяема, хотя сторонние утилиты могут использоваться для имитации мозаичного оконного менеджера поверх таких систем. Начиная с Windows 8 , диспетчер окон рабочего стола на основе Direct3D больше нельзя отключить. [14] Его можно перезапустить только комбинацией горячих клавиш Ctrl+Shift+Win+B. [15]
Проводник Windows (explorer.exe) по умолчанию используется в качестве оболочки в современных системах Windows для предоставления панели задач и файлового менеджера, а также многих функций оконного менеджера; аспекты Windows можно изменить с помощью предоставленных утилит конфигурации, изменения реестра Windows или с помощью сторонних инструментов, таких как WindowBlinds или Resource Hacker .
Полный X Windows Server, позволяющий использовать оконные менеджеры, перенесенные из мира unixoid, также может быть предоставлен для Microsoft Windows через Cygwin/X даже в многооконном режиме (и другими реализациями X Window System). Таким образом, легко можно, например, запустить клиентские программы X Window System либо в одной и той же среде Cygwin на одном и том же компьютере, либо в системе Linux, BSD Unix и т. д. через сеть, и сверху будет отображаться и использоваться только их графический интерфейс. среды Microsoft Windows.
Обратите внимание, что Microsoft и X Window System используют разные термины для описания схожих концепций. Например, Microsoft редко упоминает термин « оконный менеджер» , поскольку он интегрирован, не подлежит замене и отличается от оболочки . [ нужны разъяснения ] [16] Оболочка Windows аналогична концепции среды рабочего стола в других системах графического интерфейса пользователя.
ChromeOS
[ редактировать ]С 2021 года ChromeOS поставляется с собственным оконным менеджером Ash. [17] Chromium и ash имеют общую кодовую базу . [17] Раньше его можно было запустить, используя google-chrome --open-ash
на любых совместимых системах.
Типы
[ редактировать ]Менеджеры окон часто делятся на три или более классов, которые описывают, как отрисовываются и обновляются окна.
Составление оконных менеджеров
[ редактировать ]Компоновочные оконные менеджеры позволяют создавать и рисовать все окна отдельно, а затем объединять их и отображать в различных 2D- и 3D-средах. Самые продвинутые оконные менеджеры композитинга допускают большое разнообразие внешнего вида интерфейса, а также наличие продвинутых 2D и 3D визуальных эффектов.
Стекирование оконных менеджеров
[ редактировать ]Все оконные менеджеры, которые имеют перекрывающиеся окна и не являются составными оконными менеджерами, являются составными оконными менеджерами , хотя возможно, что не все используют одни и те же методы. Менеджеры окон с накоплением позволяют окнам перекрываться, сначала рисуя фоновые окна, что называется алгоритмом художника . Изменения иногда требуют перестановки или перерисовки всех окон, что обычно предполагает перерисовку каждого окна. Однако для того, чтобы вывести фоновое окно на передний план, обычно требуется перерисовать только одно окно, поскольку поверх фоновых окон могут быть закрашены фрагменты других окон, что эффективно стирает закрытые области.
Тайлинговый оконный менеджер
[ редактировать ]Оконные менеджеры мозаичных окон рисуют все окна на экране, размещая их рядом или выше и ниже друг друга, так что ни одно окно никогда не перекрывает другое. различные оконные менеджеры тайлов Microsoft Windows 1.0 использовала тайлинг, и для X доступны , такие как i3 , Awesome и dwm .
Динамический оконный менеджер
[ редактировать ]Динамические оконные менеджеры могут динамически переключаться между мозаичным или плавающим расположением окон. множество динамических оконных менеджеров для X. Доступно
Возможности и возможности оконных менеджеров
[ редактировать ]- Автоскрытие
- Функция автоматического скрытия позволяет полосам меню исчезать, когда указатель перемещается от края экрана.
- Границы
- Граница — это компонент оформления окна , предоставляемый некоторыми оконными менеджерами, который появляется вокруг активного окна . Некоторые оконные менеджеры также могут отображать рамку вокруг фоновых окон .
- Контекстное меню
- Некоторые оконные менеджеры предоставляют контекстное меню , которое появляется, когда к компоненту рабочего стола применяется альтернативное событие щелчка.
- Обои для рабочего стола
- Некоторые оконные менеджеры предоставляют функцию обоев рабочего стола , которая отображает фоновое изображение в корневом окне .
- Кража фокуса
- Кража фокуса — это возможность, которую предоставляют некоторые оконные менеджеры. Это позволяет приложению, не находящемуся в фокусе, внезапно получить фокус и перехватить пользовательский ввод, предназначенный для ранее сфокусированного приложения.
- Иконификация
- Функция иконификации позволяет пользователям сворачивать запущенные приложения до значка на рабочем столе или панели задач .
- Присоединился к Windows
- Некоторые оконные менеджеры предоставляют функцию объединения окон , которая позволяет пользователю объединять фреймы окон приложения.
- Эквиваленты клавиатуры
- Некоторые оконные менеджеры предоставляют эквиваленты клавиатуры , которые позволяют клавиатуре имитировать функциональность мыши .
- Менюбар
- Строка меню обеспечивает возможность запуска программ через меню и может содержать дополнительные возможности, включая кнопку «Пуск» , панель задач и системный трей .
- Панель меню
- Панель меню — компонент некоторых оконных менеджеров, позволяющий запускать программы с помощью меню. Панель меню похожа на строку меню , но выглядит как плавающая панель , а не горизонтальная или вертикальная полоса.
- Панель меню может содержать дополнительные возможности, включая кнопку «Пуск» , панель задач и системный трей .
- Фокус мыши
- Модель фокуса мыши определяет, как указательное устройство влияет на фокус ввода в оконном менеджере. Модель фокуса определяет, какой компонент графического пользовательского интерфейса в данный момент выбран для получения входных данных при указателя по экрану. перемещении
- Деформация мыши
- Деформация мыши — это функция, которая центрирует указатель на текущем приложении, когда оно становится активным.
- Несколько рабочих столов
- Оконный менеджер может предоставлять возможность использования нескольких рабочих столов . Это позволяет переключаться между несколькими рабочими столами с корневым окном . Это предотвращает беспорядок в корневом окне , поскольку приложения могут запускаться на разных рабочих столах .
- Пейджер
- Некоторые оконные менеджеры предоставляют инструмент пейджера , который позволяет переключаться между несколькими рабочими столами . Пейджер может отображаться в виде экранного окна или гаджета на панели задач или панели задач .
- Плагины
- Некоторые оконные менеджеры имеют модульную конструкцию, которая позволяет подключаемым модулям предоставлять необходимые функции.
- Свернуть
- Функция свертывания позволяет окнам отображаться как заголовок на рабочем столе.
- Главное меню
- Некоторые оконные менеджеры предоставляют корневое меню , которое появляется при корневого окна или фона рабочего стола . касании
- Ярлыки
- Некоторые оконные менеджеры предоставляют функцию ярлыков , которая позволяет пользователям размещать значки в корневом окне для доступа к определенным программам или средствам.
- Окна с вкладками
- Некоторые оконные менеджеры предоставляют функцию окон с вкладками , которая группирует приложения в общих фреймах.
- Переключение задач
- Оконный менеджер может предоставлять различные средства переключения задач, которые позволяют пользователю менять приложение, на котором он находится в данный момент, в том числе:
- Изменение фокуса мыши с помощью манипулятора
- Возможность переключения задач клавиатуры (например, нажатием Alt-Tab)
- Нажатие на задачу на панели задач или панели задач
- Панель задач
- Некоторые оконные менеджеры предоставляют панель задач , на которой отображаются запущенные приложения. На панели задач могут отображаться все запущенные приложения, включая те, которые были свернуты , и может предоставляться возможность переключения фокуса между ними. Панель задач может быть встроена в строку меню некоторых оконных менеджеров.
- Панель задач
- Панель задач похожа на панель задач , но выглядит как плавающая панель , а не горизонтальная или вертикальная полоса.
- Кнопка «Пуск»
- Кнопка «Пуск» — это виджет на рабочем столе, который предоставляет меню программ, которые можно запустить. Кнопка «Пуск» обычно размещается в строке меню внизу экрана.
- Область уведомлений
- Область уведомлений используется для отображения значков системных и программных функций, не имеющих окна на рабочем столе . В основном он содержит значки, обозначающие информацию о состоянии и уведомления, например о прибытии нового почтового сообщения. Некоторые системы могут также отображать часы в области уведомлений .
- Заголовки
- Полоса заголовка — это компонент оформления окна , который некоторые оконные менеджеры размещают в верхней части каждого окна. Строка заголовка обычно используется для отображения имени приложения или имени открытого документа и может содержать кнопки строки заголовка для сворачивания, развертывания, закрытия или свертывания окон приложения.
- Кнопки строки заголовка
- Кнопки строки заголовка включены в заголовок некоторых оконных менеджеров и предоставляют возможность сворачивать, разворачивать, сворачивать или закрывать окна приложений. Некоторые оконные менеджеры могут отображать кнопки заголовка на панели задач или панели задач , а не в строке заголовка .
- Виртуальный рабочий стол
- Виртуальный рабочий стол (также называемый рабочим столом с прокруткой) — это возможность, предоставляемая некоторыми оконными менеджерами, позволяющая рабочему столу быть больше реального экрана.
Windows навигация
[ редактировать ]Активное окно — это окно, находящееся в фокусе в текущем оконном менеджере. Различные оконные менеджеры по-разному указывают активное в данный момент окно и позволяют пользователю по-разному переключаться между окнами. Например, в Microsoft Windows, если и «Блокнот» , и Microsoft Paint открыты , щелчок в окне «Блокнот» приведет к тому, что это окно станет активным. В Windows активное окно обозначается строкой заголовка другого цвета. Однако щелчок — не единственный способ выбора активного окна: некоторые оконные менеджеры (например, FVWM ) делают активным окно под указателем мыши — для переключения окон достаточно простого перемещения мыши; щелчок не нужен.
Менеджеры окон часто предоставляют возможность выбора активного окна с помощью клавиатуры вместо мыши. Одна из типичных комбинаций клавиш — Alt+Tab , используемая Windows и KDE (по умолчанию, хотя ее можно настроить пользователем); другой — яблочный ключ — тильда, используемый Macintosh. Нажатие соответствующей комбинации клавиш обычно переключает все видимые окна в определенном порядке, хотя возможны и другие действия.
Многие, хотя и не все, оконные менеджеры предоставляют область экрана, содержащую какой-либо визуальный элемент управления (часто кнопку) для каждого окна на экране. Каждая кнопка обычно содержит заголовок окна, а также может содержать значок. Эта область экрана обычно обеспечивает своего рода визуальную индикацию того, какое окно активно — например, кнопка активного окна может выглядеть «нажатой». Также обычно можно переключить активное окно, нажав на соответствующую кнопку. В Microsoft Windows эта область экрана называется панелью задач ; в системах Apple Macintosh эта область экрана называется док-станцией.
Активное окно не всегда может располагаться поверх всех остальных окон на экране. Активное окно — это просто окно, в которое передаются клавиши, набранные на клавиатуре; оно может быть визуально закрыто другими окнами. Это особенно актуально для оконных менеджеров, которые не требуют щелчка мыши для изменения активных окон: FVWM например, делает окно активным. под курсором мыши, но не меняет его Z-порядок (порядок появления окон, измеряемый от фона к переднему плану). Вместо этого необходимо нажать на границу окна, чтобы вывести его на передний план. В оконных менеджерах с фокусировкой по щелчку, таких как Microsoft Windows, также бывают ситуации, когда активное окно может быть скрыто; однако это встречается гораздо реже.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Оконный менеджер» . Словарь.com . Архивировано из оригинала 11 марта 2016 года.
- ^ «Определение оконного менеджера из энциклопедии журнала PC Magazine» . www.pcmag.com .
- ^ Шульц, Грег (24 мая 2006 г.). «Переключение функции группировки панели задач Windows XP» . Техреспублика . Проверено 7 января 2022 г.
- ^ Кауфман, Лори (10 февраля 2012 г.). «Как свернуть окно в строку заголовка в Linux Mint 12» . Как компьютерщик . Проверено 7 января 2022 г.
- ^ Кирк, Дэвид (12 октября 2003 г.). «XP и Vista: плитка, каскад или свертывание Windows» . Технические рецепты: кулинарная книга, полная технических руководств . Проверено 7 января 2022 г.
- ^ Ньюэлл, Гэри (24 июля 2020 г.). «Как использовать виртуальные рабочие пространства в стиле Linux в Windows 10» . Жизненный провод . Проверено 7 января 2022 г.
- ^ Полузащитник, Натан. «Ксерокс Альт» . toastytech.com .
- ^ Полузащитник, Натан. «Звезда Ксерокса» . toastytech.com .
- ^ Сиракузы, Джон (28 апреля 2005 г.). «Mac OS X 10.4: Кварц» . Арс Техника .
- ^ Полузащитник, Натан. «Скриншоты GEM 1.1» . Toastytech.com . Архивировано из оригинала 25 декабря 2019 г. Проверено 1 августа 2016 г.
- ^ Полузащитник, Натан. «Снимки экрана GEM 2.0» . Toastytech.com . Архивировано из оригинала 22 августа 2019 г. Проверено 1 августа 2016 г.
- ^ «История ОС/2» . Архивировано из оригинала 13 февраля 1998 года.
- ^ Пожалуйста, Кейт (апрель 1996 г.). «Виндовс НТ 4.0» . Windows ИТ-специалист . Архивировано из оригинала 10 марта 2007 года . Проверено 17 мая 2019 г.
- ^ «Диспетчер окон рабочего стола всегда включен — приложения Win32» . docs.microsoft.com .
- ^ Устранение неполадок с черным или пустым экраном в Windows 10.
- ^ «Да, есть новый оконный менеджер рабочего стола, но нет, я знаю о нем не больше, чем вы» . Старая новая вещь . 26 октября 2009 г. Проверено 6 октября 2021 г.
- ^ Jump up to: а б «ash — chromium/src — Git в Google» . chromium.googlesource.com . Проверено 6 октября 2021 г.