【发布时间】:2012-02-05 06:32:18
【问题描述】:
找不到任何关于如何通过“X”按钮关闭应用程序的参考。我正在使用 XCB 进行编程,并想通过“X”按钮关闭程序。我看了看,找不到任何关于它的东西。我知道如何按下按钮关闭。此外,通过按“X”按钮,窗口看起来像是关闭但没有关闭。
【问题讨论】:
找不到任何关于如何通过“X”按钮关闭应用程序的参考。我正在使用 XCB 进行编程,并想通过“X”按钮关闭程序。我看了看,找不到任何关于它的东西。我知道如何按下按钮关闭。此外,通过按“X”按钮,窗口看起来像是关闭但没有关闭。
【问题讨论】:
前段时间我也在这个话题上苦苦挣扎。
看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) ...
}
【讨论】: