diff options
Diffstat (limited to 'demos/xcb/start')
-rw-r--r-- | demos/xcb/start/CMakeLists.txt | 2 | ||||
-rw-r--r-- | demos/xcb/start/main.cpp | 23 |
2 files changed, 25 insertions, 0 deletions
diff --git a/demos/xcb/start/CMakeLists.txt b/demos/xcb/start/CMakeLists.txt new file mode 100644 index 00000000..25e37be9 --- /dev/null +++ b/demos/xcb/start/CMakeLists.txt @@ -0,0 +1,2 @@ +add_executable(demo-xcb-start main.cpp) +target_link_libraries(demo-xcb-start PUBLIC demo-xcb-base) diff --git a/demos/xcb/start/main.cpp b/demos/xcb/start/main.cpp new file mode 100644 index 00000000..c4e3761e --- /dev/null +++ b/demos/xcb/start/main.cpp @@ -0,0 +1,23 @@ +#include <unistd.h> +#include <xcb/xcb.h> + +int main() { + int screen_num; + xcb_connection_t* connection = xcb_connect(NULL, &screen_num); + const xcb_setup_t* setup = xcb_get_setup(connection); + xcb_screen_iterator_t iter = xcb_setup_roots_iterator(setup); + xcb_screen_t* screen = iter.data; + + xcb_window_t window = xcb_generate_id(connection); + xcb_create_window(connection, XCB_COPY_FROM_PARENT, window, screen->root, 0, + 0, 150, 150, 10, XCB_WINDOW_CLASS_INPUT_OUTPUT, + screen->root_visual, 0, NULL); + xcb_map_window(connection, window); + xcb_flush(connection); + + pause(); + + xcb_disconnect(connection); + + return 0; +} |