Slide 30
Slide 30 text
xcb_screen_iterator_t xcb_screen_iter=
xcb_setup_roots_iterator(xcb_setup);
while(scr-->0)xcb_screen_next(&xcb_screen_iter);
xcb_screen=xcb_screen_iter.data;
xcb_window=xcb_generate_id(xcb_connection.get());
const uint32_t value_mask=XCB_CW_BACK_PIXEL|XCB_CW_EVENT_MASK;
const std::array value_list{{
xcb_screen->black_pixel,XCB_EVENT_MASK_KEY_RELEASE|
XCB_EVENT_MASK_EXPOSURE|XCB_EVENT_MASK_STRUCTURE_NOTIFY,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
}};
xcb_create_window(
xcb.get(),XCB_COPY_FROM_PARENT,xcb_window,xcb_screen->root,
0,0,width,height,0,XCB_WINDOW_CLASS_INPUT_OUTPUT,
xcb_screen->root_visual,value_mask,value_list.data()
);
xcb_intern_atom_cookie_t xcb_cookie=
xcb_intern_atom(xcb.get(),1,12,"WM_PROTOCOLS");
std::unique_ptr reply(
xcb_intern_atom_reply(xcb.get(),xcb_cookie,0)
);
xcb_intern_atom_cookie_t cookie2=
xcb_intern_atom(xcb.get(),0,16,"WM_DELETE_WINDOW");
atom_wm_delete_window=
ΟϯυγεςϜ͔ΒαʔϑΣεΛΒ͏
ΟϯυΛ࡞Δ