You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Extend the Window Management API with Additional Windowing Controls #158
The Additional Windowing Controls is an API that allows checking and modifying the display state of a window (maximizing, minimizing, restoring) and the resizability of a window (explainer).
The feature was requested by multiple parties, for example VDI client developers, or other developers here. Any window transition request requires user gesture and window-management permission. You can see the demo of the API in Chrome by enabling the #enable-desktop-pwas-additional-windowing-controls flag and installing the following web application: https://awc-demo-4a08a808.web.app/
Here's the pull request to the specification: #157
This API would be highly valuable for Citrix Virtualization, where published applications run seamlessly integrated on the endpoint OS (ChromeOS in this case). Each published application appears as its own virtualized app window alongside the endpoint's native applications, and users expect it to mimic native OS integration behavior - minimizing, maximizing and restoring like any native window. Additional Windowing Controls, including the display-state media feature, would let us keep the virtualized app window state aligned with the published application and deliver a consistent, native-feeling experience for enterprise users.
Given that it appears to provide a subset of the features of @media/display-mode (baseline since 2020), could you please explain the rationale behind the definition of @media/display-state? Its definition even seems to draw inspiration from it.
I ask this mainly because this definition is extracted by w3c/reffy and packaged in w3c/webref, which is notably used by MDN.
Given that it appears to provide a subset of the features of @media/display-mode (baseline since 2020), could you please explain the rationale behind the definition of @media/display-state?
Although the two features appear similar, they are in fact distinct, and it would be both difficult and disingenuous to combine them:
display-mode is the "frame decoration style": fullscreen | standalone | minimal-ui | browser | picture-in-picture
display-state is the "window manager's window state": normal | minimized | maximized | fullscreen
Some straightforward examples:
display-mode: standalone/minimal-ui/browser windows can be display-state: minimized/maximized/normal
display-mode: picture-in-picture can be display-state: normal (maybe also minimized)
Some complexities that may merit reconsideration of when display-modefullscreen matches (especially if display-state is adopted broadly):
A display-mode: standalone/minimal-ui/browser window that the user puts into OS WM fullscreen (not HTML5 fullscreen) should probably yield the same mode as when the window is not fullscreen, instead of yielding fullscreen. HTML5 fullscreen is separately detectable via document.fullscreenElement but it might make sense to continue reporting fullscreen via display-mode MQ for compat.
Activity
sunderkandasamy-ctx commentedon Aug 19, 2026
This API would be highly valuable for Citrix Virtualization, where published applications run seamlessly integrated on the endpoint OS (ChromeOS in this case). Each published application appears as its own virtualized app window alongside the endpoint's native applications, and users expect it to mimic native OS integration behavior - minimizing, maximizing and restoring like any native window. Additional Windowing Controls, including the
display-statemedia feature, would let us keep the virtualized app window state aligned with the published application and deliver a consistent, native-feeling experience for enterprise users.cdoublev commentedon Aug 28, 2026
Given that it appears to provide a subset of the features of
@media/display-mode(baseline since 2020), could you please explain the rationale behind the definition of@media/display-state? Its definition even seems to draw inspiration from it.I ask this mainly because this definition is extracted by
w3c/reffyand packaged inw3c/webref, which is notably used by MDN.michaelwasserman commentedon Aug 28, 2026
Although the two features appear similar, they are in fact distinct, and it would be both difficult and disingenuous to combine them:
display-modeis the "frame decoration style":fullscreen | standalone | minimal-ui | browser | picture-in-picturedisplay-stateis the "window manager's window state":normal | minimized | maximized | fullscreenSome straightforward examples:
display-mode:standalone/minimal-ui/browserwindows can bedisplay-state:minimized/maximized/normaldisplay-mode:picture-in-picturecan bedisplay-state:normal(maybe alsominimized)Some complexities that may merit reconsideration of when
display-modefullscreenmatches (especially ifdisplay-stateis adopted broadly):display-mode:standalone/minimal-ui/browserwindow that the user puts into OS WM fullscreen (not HTML5 fullscreen) should probably yield the same mode as when the window is not fullscreen, instead of yieldingfullscreen. HTML5 fullscreen is separately detectable viadocument.fullscreenElementbut it might make sense to continue reportingfullscreenviadisplay-modeMQ for compat.We should probably seek W3C CSS WG review of the MQ proposals. @patrykchodur please open a mediaqueries-5 issue to solicit feedback.