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

Mat*_*ker 4 linux xcb

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

max*_*oom 13

不久前我也在讨论这个话题.

请查看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);
Run Code Online (Sandbox Code Playgroud)

并在事件循环中将client_message与cookie2进行比较

case XCB_CLIENT_MESSAGE:
{
    if((*(xcb_client_message_event_t*)event).data.data32[0] == (*reply2).atom) ...
}
Run Code Online (Sandbox Code Playgroud)