2012-01-08 4 views
4

"X"버튼으로 응용 프로그램을 닫는 방법에 대한 참조를 찾을 수 없습니다. XCB를 사용하여 프로그래밍 중이며 "X"버튼으로 프로그램을 닫고 싶습니다. 나는 보았다. 그것에 관해 무엇이라도 발견 할 수 없다. 나는 버튼을 눌러 닫는 법을 안다. 또한 "X"버튼을 누르면 창이 닫히지 만 보이지는 않습니다.XCB에서 닫기 버튼을 사용하여 프로그램을 종료하는 방법

답변

14

나는이 주제에 대해 얼마 전에 고민했다.

http://marc.info/?l=freedesktop-xcb&m=129381953404497을 찾으십시오.

의 핵심은

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); 

이벤트 루프에서

이 나이에도 불구하고 Cookie2를

case XCB_CLIENT_MESSAGE: 
{ 
    if((*(xcb_client_message_event_t*)event).data.data32[0] == (*reply2).atom) ... 
} 
+0

으로 client_message 비교 ... 별도의 쿠키에 WM_DELETE_WINDOW에 대한 쿠키를 저장하는 것입니다 귀하의 회신에 감사드립니다. –

+0

글쎄, 그것은 다른 사람을 도울지도 모른다. ;-) –

+0

그것은 다른 누군가를 도왔습니다. 스파이더가 "관련"사이드 바에있는 질문을 보았기 때문에 SO가 관련성이없는 페이지로 이어지 긴하지만 구글의 첫 번째 히트작이다. –

관련 문제