如何在XCB中使用关闭按钮退出程序

时间:2012-01-08 08:32:41

标签: linux xcb

找不到关于如何通过“X”按钮关闭应用程序的任何参考。我正在使用XCB进行编程,并希望通过“X”按钮关闭程序。我看了,找不到任何关于它的东西。我知道如何通过按下按钮关闭。此外,通过按“X”按钮,窗口看起来像是关闭但不是。

1 个答案:

答案 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) ...
}