m_mainWindow = XCreateWindow( m_pDisplay, root, 0, 0, 1, 1, 0, 0,
InputOutput, CopyFromParent, 0, &attr );
+ // Receive WM_DELETE_WINDOW
+ Atom wm_delete = XInternAtom( m_pDisplay, "WM_DELETE_WINDOW", False);
+ XSetWMProtocols( m_pDisplay, m_mainWindow, &wm_delete, 1);
+
// Changing decorations
struct {
unsigned long flags;
// pTheme->getWindowManager().synchVisibility();
}
}
+ if( event.type == ClientMessage )
+ {
+ Atom wm_protocols =
+ XInternAtom( XDISPLAY, "WM_PROTOCOLS", False);
+ Atom wm_delete =
+ XInternAtom( XDISPLAY, "WM_DELETE_WINDOW", False);
+
+ if( event.xclient.message_type == wm_protocols &&
+ event.xclient.data.l[0] == wm_delete )
+ {
+ msg_Dbg( getIntf(), "Received WM_DELETE_WINDOW message" );
+ libvlc_Quit( getIntf()->p_libvlc );
+ }
+ }
return;
}