blob: 0230dfdf20826035ba7b1f6932b8febaf6563228 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#include "scapx.h"
Scr_info *init_XCB_server()
{
Scr_info *info = malloc(sizeof(Scr_info));
if (!info) {
fprintf(stderr, "memory allocation failed.\n");
return NULL;
}
info->con = xcb_connect(NULL, NULL);
if (xcb_connection_has_error(info->con) > 0) {
fprintf(stderr, "Error opening display.\n");
free(info);
return NULL;
}
const xcb_setup_t *setup = xcb_get_setup(info->con);
info->scr = xcb_setup_roots_iterator(setup).data;
return info;
}
int main()
{
Scr_info *info = init_XCB_server();
if (!info || !info->scr) {
fprintf(stderr, "Error opening display.\n");
if (info) {
xcb_disconnect(info->con);
free(info);
}
exit(EXIT_FAILURE);
}
// TODO: event loop
xcb_disconnect(info->con);
free(info);
return 0;
}
|