Adds new screen information APIs and makes incremental improvements to existing window placement APIs, allowing web applications to offer compelling multi-screen experiences. The existing singular window.screen offers a limited view of available screen space, and window placement functions generally clamp bounds to the current screen. This feature unlocks modern multi-screen workspaces for web applications.

Motivation

As multi-screen devices and applications become a more common and critical part of user experiences, it becomes more important to give web developers information and tools to leverage that expanded visual environment. This feature incrementally extends the web platform's single-screen paradigm to support multi-screen devices. Allowing script to query the device for information about its screens, and place content on specific screens enables many powerful multi-screen windowing behaviors. Use cases enabled by these APIs include: - Slideshow app presents on a projector, shows speaker notes on a laptop screen. - Financial app opens a dashboard of windows across multiple monitors. - Medical app opens images (e.g. x-rays) on a high-resolution grayscale display. - Creativity app shows secondary windows (e.g. palette) on a separate screen. - Conference room app shows controls on a touch screen device and video on a TV. - Multi-screen layouts in gaming, signage, artistic, and other types of apps. - Site optimizes content and layout when a window spans multiple screens.

Demos

Documentation

Specification

Specification link


Specification currently under development in a Working Group

Status in Chromium

UI>Browser>WebAppInstalls>Desktop


Enabled by default (tracking bug)

Consensus & Standardization

After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.

Owners

Intent to Prototype url

Intent to Prototype thread

Comments

- First origin trial: Developer feedback (Google-internal doc) was generally straightforward: the API is useful, and it would be difficult or impossible to accomplish anything similar without it. The most common request was that it be made broadly available as soon as possible. There were two feature requests; and while neither is provided with this initial launch, the API shape does not preclude adding support: to hide the location bar on popup windows for getScreens() to return information about mirrored displays - Feedback on Github: After the OT, @jakearchibald, @kenchris, and others gave feedback on the API shape <https://github.com/w3c/window-placement/issues/30>. Changes were made accordingly <https://github.com/w3c/window-placement/blob/main/CHANGES.md>. - Second origin trial: Once again, developer feedback (Google-internal doc) was broadly positive. One feature was requested three times: the ability to open a new window and immediately make it fullscreen. This feature is on our roadmap. Demand for this API is high, and we want to give developers the chance to start using it as soon as possible. Thus it makes sense to launch an MVP, then add additional features like this one.

Search tags

window placement, screen enumeration, window, open, moveTo, moveBy, requestFullscreen, screen, display, monitor, multi-screen, multi-display, multi-monitor, cross-screen, cross-display, cross-monitor,

Last updated on 2022-05-05