Created
April 19, 2022 07:57
-
-
Save kraftwerk28/d827d453a5cae56ef75c667cbc49f036 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <signal.h> | |
#include <stdbool.h> | |
#include <stdio.h> | |
#include <wayland-client.h> | |
#include <wayland-server.h> | |
static struct wl_display *display = NULL; | |
static struct wl_event_loop *loop = NULL; | |
static bool running = true; | |
int wl_event_loop_fd_func(int fd, uint32_t mask, void *data) { | |
// ? | |
return 0; | |
} | |
int wl_event_loop_signal_func(int signal_number, void *data) { | |
printf("\nCaught signal\n"); | |
running = false; | |
return 0; | |
} | |
int wl_event_loop_timer_func(void *data) { | |
printf("Timed out\n"); | |
running = false; | |
return 0; | |
} | |
int main(int argc, char *argv[]) { | |
display = wl_display_connect(NULL); | |
loop = wl_event_loop_create(); | |
struct wl_event_source *fd_src = wl_event_loop_add_fd( | |
loop, wl_display_get_fd(display), WL_EVENT_READABLE | WL_EVENT_WRITABLE, | |
wl_event_loop_fd_func, NULL); | |
struct wl_event_source *sig_src = | |
wl_event_loop_add_signal(loop, SIGINT, wl_event_loop_signal_func, NULL); | |
struct wl_event_source *timer_src = | |
wl_event_loop_add_timer(loop, wl_event_loop_timer_func, NULL); | |
wl_event_source_timer_update(timer_src, 2000); | |
wl_display_roundtrip(display); | |
while (wl_event_loop_dispatch(loop, -1) >= 0 && running) { | |
} | |
wl_event_source_remove(fd_src); | |
wl_event_source_remove(sig_src); | |
wl_event_source_remove(timer_src); | |
wl_event_loop_destroy(loop); | |
wl_display_disconnect(display); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment