things/img/scrall/main.c

50 lines
1.2 KiB
C

// x-run: make run
#include <raylib.h>
#include <stdio.h>
#include <string.h>
#include <xcb/xcb.h>
#include <xcb/xproto.h>
#include "screenshot.h"
#include "windowtree.h"
int main(int argc, char **argv) {
(void)argc;
(void)argv;
xcb_connection_t *xcb = xcb_connect(NULL, NULL);
xcb_screen_t *screen = xcb_setup_roots_iterator(xcb_get_setup(xcb)).data;
printf("root: 0x%08x\n", screen->root);
size_t n_windows;
struct window_info *windows = get_windows_list(xcb, &n_windows);
xcb_disconnect(xcb);
SetConfigFlags(FLAG_WINDOW_TRANSPARENT | FLAG_WINDOW_RESIZABLE);
InitWindow(0, 0, "img/scrall");
Font font = LoadFontEx("/usr/share/fonts/Unifont/Unifont.ttf", 16, 0, 1024);
while (!WindowShouldClose()) {
BeginDrawing();
ClearBackground(Fade(BLACK, 0.9));
for (size_t i = 0; i < n_windows; i++) {
DrawTextEx(font,
TextFormat("0x%08x %dx%d+%d+%d %s\n",
windows[i].wid,
windows[i].rect.width,
windows[i].rect.height,
windows[i].rect.x,
windows[i].rect.y,
windows[i].title),
(Vector2) { 8, 8 + 18 * i }, 16, 0, WHITE);
}
EndDrawing();
}
UnloadFont(font);
}