\hypertarget{structxdg__popup__listener}{\section{xdg\+\_\+popup\+\_\+listener Struct Reference}
\label{structxdg__popup__listener}\index{xdg\+\_\+popup\+\_\+listener@{xdg\+\_\+popup\+\_\+listener}}
}


xdg\+\_\+popup -\/ desktop-\/style metadata interface \+: popup interaction is done  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
void($\ast$ \hyperlink{structxdg__popup__listener_ab811829623eaf944fc381e4c8822a609}{popup\+\_\+done} )(void $\ast$data, struct xdg\+\_\+popup $\ast$xdg\+\_\+popup, uint32\+\_\+t serial)
\begin{DoxyCompactList}\small\item\em popup\+\_\+done -\/ popup interaction is done \+: serial of the implicit grab on the pointer \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
xdg\+\_\+popup -\/ desktop-\/style metadata interface \+: popup interaction is done 

An interface that may be implemented by a wl\+\_\+surface, for implementations that provide a desktop-\/style popups/menus. A popup surface is a transient surface with an added pointer grab.

An existing implicit grab will be changed to owner-\/events mode, and the popup grab will continue after the implicit grab ends (i.\+e. releasing the mouse button does not cause the popup to be unmapped).

The popup grab continues until the window is destroyed or a mouse button is pressed in any other clients window. A click in any of the clients surfaces is reported as normal, however, clicks in other clients surfaces will be discarded and trigger the callback.

The x and y arguments specify the locations of the upper left corner of the surface relative to the upper left corner of the parent surface, in surface local coordinates.

xdg\+\_\+popup surfaces are always transient for another surface. 

\subsection{Field Documentation}
\hypertarget{structxdg__popup__listener_ab811829623eaf944fc381e4c8822a609}{\index{xdg\+\_\+popup\+\_\+listener@{xdg\+\_\+popup\+\_\+listener}!popup\+\_\+done@{popup\+\_\+done}}
\index{popup\+\_\+done@{popup\+\_\+done}!xdg\+\_\+popup\+\_\+listener@{xdg\+\_\+popup\+\_\+listener}}
\subsubsection[{popup\+\_\+done}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ xdg\+\_\+popup\+\_\+listener\+::popup\+\_\+done)(void $\ast$data, struct xdg\+\_\+popup $\ast$xdg\+\_\+popup, uint32\+\_\+t serial)}}\label{structxdg__popup__listener_ab811829623eaf944fc381e4c8822a609}


popup\+\_\+done -\/ popup interaction is done \+: serial of the implicit grab on the pointer 

The popup\+\_\+done event is sent out when a popup grab is broken, that is, when the users clicks a surface that doesn't belong to the client owning the popup surface. 