A partial archive of discourse.wicg.io as of Saturday February 24, 2024.

Proposal: Supporting window placement on multi-screen devices


Existing web platform APIs were built for single-screen devices (e.g. a computer with one monitor); and today, web applications lack fundamental support for windowing in modern multi-screen environments.

I’m working on a pair of proposals that aim to explore this space and address some critical gaps:

  • Screen Enumeration aims to improve the Web platform’s offering of window.screen.
    • Expose a list of available screen objects, not just the one hosting the center of your content.
    • Expose additional properties on the Screen interface to better explain the available space.
  • Window Placement aims to improve window.open, window.moveTo, and related API surfaces.
    • Improve implementer consistency around window creation and movement
    • Enable use cases that make windowing compelling for devs and helpful for users.

Please share your feedback to help us improve these aspects of the web platform; thank you!


I’m excited about this. Our customers use our software to generate sedation records during anesthesia procedures (https://app.anesthesiacharting.com).

The generated report provides charts of medications administered and patient vitals throughout the case.

Frequently the surgeon has someone entering the data for them. Having an API like this would enable us to keep a large screen on the wall in “report mode” regardless of what page in the app the person recording data is looking at.

That would allow the surgeon to look up to easily see trends, etc.


There are a lot of apps out there like ours that support multiple views such as charts and monitors. We’re largely confined to a modal interface because you can’t reliably place windows in the type of multi screen setup that is the norm in finance and several other industries.

This feature would allow us to make our app less modal by managing each view in a dedicated window, and make it easier for users to do multiple things at the same time. Also because everything currently happens in the same tab, some elements of our GUI are always visible even though they are only relevant for certain views. With dedicated windows for each view we would be better able to tailor each layout to the task it enables. This would help discoverability and make use of screen real estate more efficient.

Looking forward to seeing how this goes!


I’m super excited about this. I’m building an Electron app with a dual-screen workflow sort of similar to PowerPoint, but designed for artists and musicians to project visuals during performances. Being able to target multiple displays for fullscreen without having to move the original windows is kind of my dream these days. Now… if I could just get the pre-release API to work in Electron…


This is a critical feature for us. We provide a pure-web based diagnostic image viewer, and users are used to work with a 3 monitors setup:

  • monitor A showing the list of cases to review
  • monitor B and C showing the images of the current case, in full-screen mode

Currently we must work with electron or with a chrome extension only for this reason, which is sub-optimal.

Really looking forward for this feature to improve our users experience


This sounds fantastic. We currently have a product (Big Screen) that uses multiple screens and allows our users to display lyrics, images, videos and scriptures in a church environment. It works kind of like powerpoint but the current process to set it up is a bit archaic and confusing to our users. We have written a web extension to make restoring previous arrangements easier but being able to enumerate the different screens would make the whole process so much better.


This API is in origin trial in Chrome right now. I hope you’ll try it out. We’d love to get your feedback during this period, when we can still make changes!

Here’s the explainer. And here’s a registration link to sign up.