50 lines
1.2 KiB
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);
|
|
}
|