Skip to content

Extend the Window Management API with Additional Windowing Controls #158

Open

Description

@patrykchodur

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

Activity

  1. sunderkandasamy-ctx commented on Aug 19, 2026

    @sunderkandasamy-ctx

    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.

  2. cdoublev commented on Aug 28, 2026

    @cdoublev

    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.

  3. michaelwasserman commented on Aug 28, 2026

    @michaelwasserman
    Member

    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-mode fullscreen 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.

    We should probably seek W3C CSS WG review of the MQ proposals. @patrykchodur please open a mediaqueries-5 issue to solicit feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions