mirror of
https://github.com/swaywm/sway.git
synced 2025-11-24 06:59:51 -05:00
Start fleshing out wayland client implementation
This introduces a basic shared framework for making wayland clients within sway itself.
This commit is contained in:
parent
5c4e98aa4e
commit
bfcabe48ef
8 changed files with 370 additions and 92 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue