В вычислительной технике окно — это графический элемент управления . Оно состоит из визуальной области, содержащей часть графического пользовательского интерфейса программы, к которой оно принадлежит, и обрамлено декорацией окна. Обычно оно имеет прямоугольную форму [1] , которая может перекрываться с областью других окон. Оно отображает вывод и может разрешать ввод в один или несколько процессов .
Окна в первую очередь связаны с графическими дисплеями, где ими можно управлять с помощью указателя , используя некое указывающее устройство . Текстовые дисплеи также могут поддерживать работу с окнами, как способ поддержания нескольких независимых областей отображения, например, нескольких буферов в Emacs . Текстовые окна обычно управляются с помощью клавиатуры, хотя некоторые также реагируют на мышь.
Графический пользовательский интерфейс (GUI), использующий окна в качестве одной из своих основных « метафор », называется оконной системой , основными компонентами которой являются сервер отображения и менеджер окон .
Идея была разработана в Стэнфордском исследовательском институте (под руководством Дугласа Энгельбарта ). [2] Их самые ранние системы поддерживали несколько окон, но не было очевидного способа указать границы между ними (например, границы окон, строки заголовка и т. д.). [3]
Исследования продолжились в исследовательском центре Palo Alto корпорации Xerox / PARC (под руководством Алана Кея ). Они использовали перекрывающиеся окна. [4]
В 1980-х годах в PARC был придуман термин « WIMP », который означает окно, значок, меню, указатель. [ необходима ссылка ]
Apple в то время недолго сотрудничала с PARC. Apple разработала интерфейс на основе интерфейса PARC. Впервые он был использован на компьютерах Lisa от Apple , а затем и на компьютерах Macintosh . [5] В то время Microsoft разрабатывала приложения Office для Mac. Некоторые предполагают, что это дало им доступ к ОС Apple до ее выпуска и, таким образом, повлияло на дизайн оконной системы в том, что в конечном итоге будет называться Microsoft Windows . [6]
Окна — это двухмерные объекты, расположенные на плоскости, называемой метафорой рабочего стола . В современной полнофункциональной оконной системе их можно изменять в размере, перемещать, скрывать, восстанавливать или закрывать.
Окна обычно включают другие графические объекты, возможно, включая строку меню, панели инструментов, элементы управления, значки и часто рабочую область. В рабочей области отображается документ, изображение, содержимое папки или другой основной объект. Вокруг рабочей области, внутри ограничивающего окна, могут быть другие меньшие области окна, иногда называемые панелями или панелями, показывающие соответствующую информацию или параметры. Рабочая область интерфейса с одним документом содержит только один основной объект. «Дочерние окна» в интерфейсах с несколькими документами и вкладки , например, во многих веб-браузерах, могут сделать несколько похожих документов или основных объектов доступными в одном главном окне приложения. Некоторые окна в macOS имеют функцию, называемую ящиком, которая представляет собой панель, выдвигающуюся из боковой стороны окна и показывающую дополнительные параметры.
Приложения, которые могут работать как в графическом пользовательском интерфейсе , так и в текстовом пользовательском интерфейсе, могут использовать различную терминологию. GNU Emacs использует термин «окно» для обозначения области в пределах своего дисплея, в то время как традиционное окно, например, управляемое оконным менеджером X11 , называется «фреймом».
Любое окно можно разделить на оформление окна и его содержимое, хотя некоторые системы намеренно избегают оформления окна, считая это формой минимализма .
В большинстве оконных систем оконный декор является частью окна .
Оформление окна обычно состоит из строки заголовка , обычно вдоль верхней части каждого окна и минимальной границы вокруг остальных трех сторон. [7] В Microsoft Windows это называется «неклиентская область». [8]
В преобладающей компоновке современных оконных декораций верхняя панель содержит заголовок окна и кнопки, которые выполняют действия, связанные с окнами, такие как:
Граница существует в первую очередь для того, чтобы позволить пользователю изменять размер окна, а также для создания визуального разделения между содержимым окна и остальной частью рабочего стола .
Оформление окон считается важным фактором, определяющим внешний вид операционной системы , а некоторые системы позволяют настраивать используемые цвета, стили и эффекты анимации.
Граница окна — это компонент оформления окна, предоставляемый некоторыми оконными менеджерами, который появляется вокруг активного окна . Некоторые оконные менеджеры также могут отображать границу вокруг фоновых окон. Обычно границы окна могут использоваться для обеспечения движения окна, позволяя перемещать или изменять размер окна путем перетаскивания границы. Некоторые оконные менеджеры предоставляют бесполезные границы, которые предназначены исключительно для декоративных целей и не предлагают возможности перемещения окна. Эти оконные менеджеры не позволяют изменять размер окон с помощью перетаскивания границы.
Строка заголовка — это графический элемент управления и часть оформления окна, предоставляемая некоторыми оконными менеджерами. По соглашению, она расположена в верхней части окна в виде горизонтальной полосы. Строка заголовка обычно используется для отображения имени приложения или имени открытого документа и может содержать кнопки строки заголовка для сворачивания, разворачивания, закрытия или сворачивания окон приложений. Эти функции обычно размещаются в правом верхнем углу экрана, чтобы обеспечить быстрый и неточный ввод с помощью указания барьера . Обычно строки заголовка могут использоваться для обеспечения движения окна, позволяя перемещать окно по экрану с помощью перетаскивания. Некоторые оконные менеджеры [ какие? ] предоставляют строки заголовка, которые предназначены исключительно для декоративных целей и не предлагают возможности перемещения окна. Эти оконные менеджеры не позволяют перемещать окна по экрану с помощью перетаскивания на строке заголовка.
Текст заголовка по умолчанию часто включает в себя имя приложения и/или его разработчика. Имя хоста, на котором запущено приложение, также часто появляется. Могут существовать различные методы ( выбор меню , управляющие последовательности , параметры настройки, параметры командной строки — в зависимости от вычислительной среды), чтобы предоставить конечному пользователю некоторый контроль над текстом заголовка. Приложения, ориентированные на документы, такие как текстовый редактор, могут отображать имя файла или путь к редактируемому документу. Большинство веб-браузеров отображают содержимое элемента HTML в своей строке заголовка , иногда с префиксом или постфиксом имени приложения. Google Chrome и некоторые версии Mozilla Firefox размещают свои вкладки в строке заголовка. Это делает ненужным использование главного окна для вкладок, но обычно приводит к тому, что заголовок становится усеченным. Звездочка в его начале может использоваться для обозначения несохраненных изменений. title
Строка заголовка часто содержит виджеты для системных команд, относящихся к окну, например, кнопки «Развернуть» , « Свернуть» , «Свернуть» и «Закрыть» , а также может включать другой контент, например значок приложения, часы и т. д.
Во многих графических пользовательских интерфейсах , включая интерфейсы Mac OS и Microsoft Windows , пользователь может перемещать окно, захватывая строку заголовка и перетаскивая ее .
Некоторые менеджеры окон предоставляют кнопки заголовка, которые позволяют сворачивать, разворачивать, сворачивать или закрывать окна приложений. Некоторые менеджеры окон могут отображать кнопки заголовка на панели задач или на панели задач, а не в заголовках.
В строке заголовка могут отображаться следующие кнопки:
Обратите внимание, что контекстное меню может быть доступно с помощью некоторых кнопок в заголовке окна или при щелчке правой кнопкой мыши.
Некоторые менеджеры окон отображают небольшой значок в заголовке, который может меняться в зависимости от приложения, в котором он отображается. Значок в заголовке может вести себя как кнопка меню или может предоставлять функцию контекстного меню. Приложения macOS обычно имеют значок прокси рядом с заголовком окна, который функционирует так же, как значок документа в файловом менеджере.
Некоторые оконные менеджеры отображают значок или символ, указывающий на то, что содержимое окна не было сохранено или подтверждено каким-либо образом: macOS отображает точку в центре кнопки закрытия; RISC OS добавляет к заголовку звездочку .
Некоторые менеджеры окон с тайлами предоставляют строки заголовка, которые служат исключительно для информационных целей и не предлагают никаких элементов управления или меню. Эти менеджеры окон не позволяют перемещать окна по экрану с помощью перетаскивания на строке заголовка и также могут служить строкой состояния для менеджеров окон с тайлами.
Xerox PARC представляет первый графический интерфейс, в котором используются значки, всплывающие меню и перекрывающиеся окна, которыми можно легко управлять с помощью метода «укажи и щелкни».