\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_a4cfcb0e8165a3a77ca03d69cca8e6cf9}{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 callback \end{DoxyCompactList}\end{DoxyCompactItemize}


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

This interface is implemented by servers that provide desktop-\/style user interfaces.

It allows clients to associate a xdg\+\_\+surface with a basic surface. 

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


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

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. 