x11rb::protocol::xproto

Function create_window

Source
pub fn create_window<'c, 'input, Conn>(
    conn: &'c Conn,
    depth: u8,
    wid: Window,
    parent: Window,
    x: i16,
    y: i16,
    width: u16,
    height: u16,
    border_width: u16,
    class: WindowClass,
    visual: Visualid,
    value_list: &'input CreateWindowAux,
) -> Result<VoidCookie<'c, Conn>, ConnectionError>
where Conn: RequestConnection + ?Sized,
Expand description

Creates a window.

Creates an unmapped window as child of the specified parent window. A CreateNotify event will be generated. The new window is placed on top in the stacking order with respect to siblings.

The coordinate system has the X axis horizontal and the Y axis vertical with the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms of pixels, and coincide with pixel centers. Each window and pixmap has its own coordinate system. For a window, the origin is inside the border at the inside, upper-left corner.

The created window is not yet displayed (mapped), call xcb_map_window to display it.

The created window will initially use the same cursor as its parent.

§Fields

  • wid - The ID with which you will refer to the new window, created by xcb_generate_id.
  • depth - Specifies the new window’s depth (TODO: what unit?).

The special value XCB_COPY_FROM_PARENT means the depth is taken from the parent window.

  • visual - Specifies the id for the new window’s visual.

The special value XCB_COPY_FROM_PARENT means the visual is taken from the parent window.

  • class -
  • parent - The parent window of the new window.
  • border_width - TODO:

Must be zero if the class is InputOnly or a xcb_match_error_t occurs.

  • x - The X coordinate of the new window.
  • y - The Y coordinate of the new window.
  • width - The width of the new window.
  • height - The height of the new window.

§Errors

  • Colormap - TODO: reasons?
  • Match - TODO: reasons?
  • Cursor - TODO: reasons?
  • Pixmap - TODO: reasons?
  • Value - TODO: reasons?
  • Window - TODO: reasons?
  • Alloc - The X server could not allocate the requested resources (no memory?).

§See

  • xcb_generate_id: function
  • MapWindow: request
  • CreateNotify: event