xdg_toplevel_listener Struct Reference
The xdg_toplevel interface

`#include <xdg-shell-client-protocol.h>`

## Data Fields

void(* | configure )(void *data, struct xdg_toplevel *xdg_toplevel, int32_t width, int32_t height, struct wl_array *states)
void(* | close )(void *data, struct xdg_toplevel *xdg_toplevel)

## Detailed Description

Definition at line 1068 of file xdg-shell-client-protocol.h.

## Field Documentation

## close

void(* xdg_toplevel_listener::close) (void *data, struct xdg_toplevel *xdg_toplevel)

surface wants to be closed

The close event is sent by the compositor when the user wants the surface to be closed. This should be equivalent to the user clicking the close button in client-side decorations, if your application has any.

This is only a request that the user intends to close the window. The client may choose to ignore this request, or show a dialog to ask the user to save their data, etc.

Definition at line 1111 of file xdg-shell-client-protocol.h.

## configure

void(* xdg_toplevel_listener::configure) (void *data, struct xdg_toplevel *xdg_toplevel, int32_t width, int32_t height, struct wl_array *states)

suggest a surface change

This configure event asks the client to resize its toplevel surface or to change its state. The configured state should not be applied immediately. See xdg_surface.configure for details.

The width and height arguments specify a hint to the window about how its surface should be resized in window geometry coordinates. See set_window_geometry.

If the width or height arguments are zero, it means the client should decide its own window dimension. This may happen when the compositor needs to configure the state of the surface but doesn't have any information about any previous or expected dimension.

The states listed in the event specify how the width/height arguments should be interpreted, and possibly how it should be drawn.

Clients must send an ack_configure in response to this event. See xdg_surface.configure and xdg_surface.ack_configure for details.

Definition at line 1094 of file xdg-shell-client-protocol.h.

The documentation for this struct was generated from the following file:

- gen/xdg-shell-client-protocol.h