summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2015-11-12 19:04:01 -0500
committerDrew DeVault <sir@cmpwn.com>2015-11-12 19:04:01 -0500
commita3fb6055b671759def337a5310fb9f7c6bc86019 (patch)
treebb3fe0fd1a5caf36d856f90318f542fd257e6907 /main.c
parent2ada978dd39b6a5f94b0d3442cfa8d4a50b62ce7 (diff)
downloadswaybg-a3fb6055b671759def337a5310fb9f7c6bc86019.tar.gz
swaybg-a3fb6055b671759def337a5310fb9f7c6bc86019.tar.bz2
Start fleshing out wayland client implementation
This introduces a basic shared framework for making wayland clients within sway itself.
Diffstat (limited to 'main.c')
-rw-r--r--main.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/main.c b/main.c
index 4a8ef52..1b4af55 100644
--- a/main.c
+++ b/main.c
@@ -1,6 +1,27 @@
#include <stdio.h>
+#include <stdlib.h>
+#include <wayland-client.h>
+#include "client.h"
+#include "log.h"
+
+struct client_state *state;
+
+void sway_terminate(void) {
+ client_teardown(state);
+ exit(1);
+}
int main(int argc, char **argv) {
- printf("Hello world");
+ init_log(L_INFO);
+ state = client_setup();
+
+ do {
+ if (!client_prerender(state)) continue;
+ cairo_set_source_rgb(state->cairo, 255, 0, 0);
+ cairo_rectangle(state->cairo, 0, 0, 100, 100);
+ cairo_fill(state->cairo);
+ } while (client_render(state));
+
+ client_teardown(state);
return 0;
}