[XCB] Expose Events des root Window empfangen



  • Hallo!

    Ich möchte die Expose Events des root Window empfangen. Dazu versuche ich mit xcb_configure_window_checked das root Window entsprechen zu konfigurieren. Leider schlägt dies fehl. Bei einem selbst erstellten Window funktioniert es hingegen bestens.

    Hier eine Minimalbeispiel:

    #include <iostream>
    #include <xcb/xcb.h>
    
    int main(int argc, char *argv[])
    {
      int screen_num = 0;
      xcb_connection_t *con = xcb_connect(NULL, &screen_num);
    
      xcb_screen_t* scr = NULL;
      for(xcb_screen_iterator_t iter = xcb_setup_roots_iterator(xcb_get_setup(con));
          iter.rem; screen_num--, xcb_screen_next(&iter))
        if(screen_num == 0) scr = iter.data;
    
      xcb_window_t root_win = scr->root;
    
      uint32_t mask =  XCB_CW_EVENT_MASK;
      uint32_t values[1] = { XCB_EVENT_MASK_EXPOSURE };
    
      xcb_void_cookie_t cookie = xcb_configure_window_checked(con, root_win, mask, values);
      xcb_generic_error_t *error = xcb_request_check(con, cookie);
      if(error) std::cerr << "Could not configure root window." << std::endl;
    
      return 0;
    }
    

    Kann mir jemand sagen, was ich falsch mache?



  • Nimm xcb_change_window_attributes_checked anstatt xcb_configure_window_checked .

    Sonst keine XCB User hier?!


Anmelden zum Antworten