Module Xdg_toplevel.State

Types of state on the surface.

The different state values used on the surface. This is designed for state values like maximized, fullscreen. It is paired with the configure event to ensure that both the client and the compositor setting the state can be synchronized.

States set in this way are double-buffered. They will get applied on the next commit.

type t =
  1. | Maximized : t
    (*

    The surface is maximized.

    The surface is maximized. The window geometry specified in the configure event must be obeyed by the client, or the xdg_wm_base.invalid_surface_state error is raised.

    The client should draw without shadow or other decoration outside of the window geometry.

    *)
  2. | Fullscreen : t
    (*

    The surface is fullscreen.

    The surface is fullscreen. The window geometry specified in the configure event is a maximum; the client cannot resize beyond it. For a surface to cover the whole fullscreened area, the geometry dimensions must be obeyed by the client. For more details, see xdg_toplevel.set_fullscreen.

    *)
  3. | Resizing : t
    (*

    The surface is being resized.

    The surface is being resized. The window geometry specified in the configure event is a maximum; the client cannot resize beyond it. Clients that have aspect ratio or cell sizing configuration can use a smaller size, however.

    *)
  4. | Activated : t
    (*

    The surface is now activated.

    Client window decorations should be painted as if the window is active. Do not assume this means that the window actually has keyboard or pointer focus.

    *)
  5. | Tiled_left : t
    (*

    The surface’s left edge is tiled.

    The window is currently in a tiled layout and the left edge is considered to be adjacent to another part of the tiling grid.

    The client should draw without shadow or other decoration outside of the window geometry on the left edge.

    *)
  6. | Tiled_right : t
    (*

    The surface’s right edge is tiled.

    The window is currently in a tiled layout and the right edge is considered to be adjacent to another part of the tiling grid.

    The client should draw without shadow or other decoration outside of the window geometry on the right edge.

    *)
  7. | Tiled_top : t
    (*

    The surface’s top edge is tiled.

    The window is currently in a tiled layout and the top edge is considered to be adjacent to another part of the tiling grid.

    The client should draw without shadow or other decoration outside of the window geometry on the top edge.

    *)
  8. | Tiled_bottom : t
    (*

    The surface’s bottom edge is tiled.

    The window is currently in a tiled layout and the bottom edge is considered to be adjacent to another part of the tiling grid.

    The client should draw without shadow or other decoration outside of the window geometry on the bottom edge.

    *)
  9. | Suspended : t
    (*

    Surface repaint is suspended.

    The surface is currently not ordinarily being repainted; for example because its content is occluded by another window, or its outputs are switched off due to screen locking.

    *)
val to_int32 : t -> int32
val of_int32 : int32 -> t