\hypertarget{structxdg__surface__listener}{\section{xdg\+\_\+surface\+\_\+listener Struct Reference}
\label{structxdg__surface__listener}\index{xdg\+\_\+surface\+\_\+listener@{xdg\+\_\+surface\+\_\+listener}}
}


xdg\+\_\+surface -\/ desktop-\/style metadata interface \+: suggest a surface change \+: surface wants to be closed  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
void($\ast$ \hyperlink{structxdg__surface__listener_a479d1406a0f354574dd03ea9d9f7bb6c}{configure} )(void $\ast$data, struct xdg\+\_\+surface $\ast$xdg\+\_\+surface, int32\+\_\+t width, int32\+\_\+t height, struct wl\+\_\+array $\ast$states, uint32\+\_\+t serial)
\begin{DoxyCompactList}\small\item\em configure -\/ suggest a surface change \+: (none) \+: (none) \+: (none) \+: (none) \end{DoxyCompactList}\item 
void($\ast$ \hyperlink{structxdg__surface__listener_a04a39eba140c8a27dc13637da49c230e}{close} )(void $\ast$data, struct xdg\+\_\+surface $\ast$xdg\+\_\+surface)
\begin{DoxyCompactList}\small\item\em close -\/ surface wants to be closed \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
xdg\+\_\+surface -\/ desktop-\/style metadata interface \+: suggest a surface change \+: surface wants to be closed 

An interface that may be implemented by a wl\+\_\+surface, for implementations that provide a desktop-\/style user interface.

It provides requests to treat surfaces like windows, allowing to set properties like maximized, fullscreen, minimized, and to move and resize them, and associate metadata like title and app id.

On the server side the object is automatically destroyed when the related wl\+\_\+surface is destroyed. On client side, xdg\+\_\+surface.\+destroy() must be called before destroying the wl\+\_\+surface object. 

\subsection{Field Documentation}
\hypertarget{structxdg__surface__listener_a479d1406a0f354574dd03ea9d9f7bb6c}{\index{xdg\+\_\+surface\+\_\+listener@{xdg\+\_\+surface\+\_\+listener}!configure@{configure}}
\index{configure@{configure}!xdg\+\_\+surface\+\_\+listener@{xdg\+\_\+surface\+\_\+listener}}
\subsubsection[{configure}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ xdg\+\_\+surface\+\_\+listener\+::configure)(void $\ast$data, struct xdg\+\_\+surface $\ast$xdg\+\_\+surface, int32\+\_\+t width, int32\+\_\+t height, struct wl\+\_\+array $\ast$states, uint32\+\_\+t serial)}}\label{structxdg__surface__listener_a479d1406a0f354574dd03ea9d9f7bb6c}


configure -\/ suggest a surface change \+: (none) \+: (none) \+: (none) \+: (none) 

The configure event asks the client to resize its surface.

The width and height arguments specify a hint to the window about how its surface should be resized in window geometry coordinates. The states listed in the event specify how the width/height arguments should be interpreted.

A client should arrange a new surface, and then send a ack\+\_\+configure request with the serial sent in this configure event before attaching a new surface.

If the client receives multiple configure events before it can respond to one, it is free to discard all but the last event it received. \hypertarget{structxdg__surface__listener_a04a39eba140c8a27dc13637da49c230e}{\index{xdg\+\_\+surface\+\_\+listener@{xdg\+\_\+surface\+\_\+listener}!close@{close}}
\index{close@{close}!xdg\+\_\+surface\+\_\+listener@{xdg\+\_\+surface\+\_\+listener}}
\subsubsection[{close}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ xdg\+\_\+surface\+\_\+listener\+::close)(void $\ast$data, struct xdg\+\_\+surface $\ast$xdg\+\_\+surface)}}\label{structxdg__surface__listener_a04a39eba140c8a27dc13637da49c230e}


close -\/ 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 your window. The client may choose to ignore this request, or show a dialog to ask the user to save their data... 