\hypertarget{structxdg__shell__listener}{}\section{xdg\+\_\+shell\+\_\+listener Struct Reference}
\label{structxdg__shell__listener}\index{xdg\+\_\+shell\+\_\+listener@{xdg\+\_\+shell\+\_\+listener}}


xdg\+\_\+shell -\/ create desktop-\/style surfaces \+: check if the client is alive  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
void($\ast$ \hyperlink{structxdg__shell__listener_ad6b1feecb1ebc57f69b3eae53d58c600}{ping} )(void $\ast$data, struct xdg\+\_\+shell $\ast$xdg\+\_\+shell, uint32\+\_\+t serial)
\begin{DoxyCompactList}\small\item\em ping -\/ check if the client is alive \+: pass this to the pong request \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
xdg\+\_\+shell -\/ create desktop-\/style surfaces \+: check if the client is alive 

xdg\+\_\+shell allows clients to turn a wl\+\_\+surface into a \char`\"{}real window\char`\"{} which can be dragged, resized, stacked, and moved around by the user. Everything about this interface is suited towards traditional desktop environments. 

\subsection{Field Documentation}
\hypertarget{structxdg__shell__listener_ad6b1feecb1ebc57f69b3eae53d58c600}{}\label{structxdg__shell__listener_ad6b1feecb1ebc57f69b3eae53d58c600} 
\index{xdg\+\_\+shell\+\_\+listener@{xdg\+\_\+shell\+\_\+listener}!ping@{ping}}
\index{ping@{ping}!xdg\+\_\+shell\+\_\+listener@{xdg\+\_\+shell\+\_\+listener}}
\subsubsection{\texorpdfstring{ping}{ping}}
{\footnotesize\ttfamily void($\ast$ xdg\+\_\+shell\+\_\+listener\+::ping)(void $\ast$data, struct xdg\+\_\+shell $\ast$xdg\+\_\+shell, uint32\+\_\+t serial)}



ping -\/ check if the client is alive \+: pass this to the pong request 

The ping event asks the client if it\textquotesingle{}s still alive. Pass the serial specified in the event back to the compositor by sending a \char`\"{}pong\char`\"{} request back with the specified serial.

Compositors can use this to determine if the client is still alive. It\textquotesingle{}s unspecified what will happen if the client doesn\textquotesingle{}t respond to the ping request, or in what timeframe. Clients should try to respond in a reasonable amount of time.

A compositor is free to ping in any way it wants, but a client must always respond to any xdg\+\_\+shell object it created. 