diff options
author | Drew DeVault <sir@cmpwn.com> | 2015-11-12 19:04:01 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2015-11-12 19:04:01 -0500 |
commit | a3fb6055b671759def337a5310fb9f7c6bc86019 (patch) | |
tree | bb3fe0fd1a5caf36d856f90318f542fd257e6907 | |
parent | 2ada978dd39b6a5f94b0d3442cfa8d4a50b62ce7 (diff) | |
download | swaybg-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.
-rw-r--r-- | CMakeLists.txt | 10 | ||||
-rw-r--r-- | main.c | 23 |
2 files changed, 30 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 89d8afd..9351441 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,14 +9,20 @@ WAYLAND_ADD_PROTOCOL_CLIENT(proto-xdg-shell "xdg-shell.xml" xdg-shell) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/") include_directories( - ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/../include ${WAYLAND_CLIENT_INCLUDE_DIR} ${CAIRO_INCLUDE_DIRS} ${PANGO_INCLUDE_DIRS} ) +FILE(GLOB sources ${PROJECT_SOURCE_DIR}/*.c) +FILE(GLOB wl_sources ${PROJECT_SOURCE_DIR}/../wayland/*.c) +FILE(GLOB common ${PROJECT_SOURCE_DIR}/../common/*.c) + add_executable(swaybg - main.c + ${sources} + ${wl_sources} + ${common} ) TARGET_LINK_LIBRARIES(swaybg ${WAYLAND_CLIENT_LIBRARIES} ${CAIRO_LIBRARIES} ${PANGO_LIBRARIES}) @@ -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; } |