Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
vmside: Implement the WM_STATE property.
The WM_STATE property is defined by ICCCM, and should be set by the window manager to indicate the current state of a client window. It is used for two primary purposes: - A client can examine the property to determine whether the client's own window is conceptually "visible" (NormalState) or "hidden" (IconicState). - A client can look for this property on other clients' windows, in order to distinguish application windows (which have the WM_STATE property) from windows created by the window manager. One notable program that makes use of the latter feature is Mozilla Firefox, which allows WebRTC sites to perform "screen sharing" - but in order to share a single window rather than the whole screen, that other window must have the WM_STATE property. We want to set this property when a client window is mapped, and unset it when the window is unmapped (withdrawn). In Qubes, we pretend that the window is always in normal state, regardless of whether it's currently minimized/iconified/shaded in dom0. Note that this property shouldn't be set for override-redirect windows, since those are beyond the window manager's purview.
- Loading branch information