commit bebac62f498ecc798733548bd66991a380f62859
parent 2b8b641bdb6dded7c3da968d0a4ac7224d333185
Author: Samuel <samuel.dudik@gmail.com>
Date: Mon, 20 Jul 2020 15:41:19 +0200
Add base
Diffstat:
3 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -0,0 +1 @@
+main
diff --git a/main.c b/main.c
@@ -0,0 +1,57 @@
+#include <xcb/xcb.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+
+int main(void)
+{
+ xcb_connection_t *conn;
+ xcb_screen_t *screen;
+ xcb_window_t window;
+ uint32_t mask;
+ uint32_t values[2];
+
+ conn = xcb_connect(NULL, NULL);
+ if (xcb_connection_has_error(conn)) {
+ printf("Cannot open display\n");
+ exit(EXIT_FAILURE);
+ }
+
+ screen = xcb_setup_roots_iterator( xcb_get_setup(conn) ).data;
+
+ window = xcb_generate_id(conn);
+
+ int width = 200;
+ int height = 60;
+
+ uint32_t back = 0xFFFFFF;
+
+ int sw = screen->width_in_pixels;
+ int sh = screen->height_in_pixels;
+
+ int padding_x = 30;
+ int padding_y = 50;
+
+ int pos_x = sw - width - padding_x;
+ int pos_y = padding_y;
+
+ mask = XCB_CW_BACK_PIXEL | XCB_CW_OVERRIDE_REDIRECT;
+
+ values[0] = back;
+ values[1] = 1;
+
+ xcb_create_window(conn, screen->root_depth,
+ window, screen->root, pos_x, pos_y, width, height, 1,
+ XCB_WINDOW_CLASS_INPUT_OUTPUT,
+ screen->root_visual, mask, values);
+
+ xcb_map_window(conn, window);
+ xcb_flush(conn);
+
+ sleep(30);
+
+ xcb_disconnect(conn);
+
+ exit(EXIT_SUCCESS);
+}
diff --git a/makefile b/makefile
@@ -0,0 +1,2 @@
+default:
+ gcc main.c -lxcb -o main