找不到关于如何通过“X”按钮关闭应用程序的任何参考。我正在使用XCB进行编程,并希望通过“X”按钮关闭程序。我看了,找不到任何关于它的东西。我知道如何通过按下按钮关闭。此外,通过按“X”按钮,窗口看起来像是关闭但不是。
答案 0 :(得分:14)
我前段时间也在讨论这个话题。
请看http://marc.info/?l=freedesktop-xcb&m=129381953404497。
关键是将WM_DELETE_WINDOW的cookie存储在一个单独的cookie中......
xcb_intern_atom_cookie_t cookie2 = xcb_intern_atom(c, 0, 16, "WM_DELETE_WINDOW");
xcb_intern_atom_reply_t* reply2 = xcb_intern_atom_reply(c, cookie2, 0);
并在事件循环中将client_message与cookie2进行比较
case XCB_CLIENT_MESSAGE:
{
if((*(xcb_client_message_event_t*)event).data.data32[0] == (*reply2).atom) ...
}