diff options
| author | Riley Beckett <rbeckettvt@gmail.com> | 2025-10-10 20:31:37 -0400 |
|---|---|---|
| committer | Riley Beckett <rbeckettvt@gmail.com> | 2025-10-10 20:31:37 -0400 |
| commit | f23baade916e844b6b6c9714e6b5d81020f6ba57 (patch) | |
| tree | ccec37f011edf2c2685745d8bf678d5bf1bc8545 /registry.c | |
| parent | 8a640b5309d01c363ec0eff24d7f8d96c6f3e23e (diff) | |
minimal layer surface code
Diffstat (limited to 'registry.c')
| -rw-r--r-- | registry.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/registry.c b/registry.c new file mode 100644 index 0000000..2f98d12 --- /dev/null +++ b/registry.c @@ -0,0 +1,39 @@ +#include <stdio.h> +#include <string.h> + +#include "./state.h" + +extern struct wl_seat_listener seat_listener; + +void global(void *data, struct wl_registry *wl_registry, uint32_t name, const char *interface, uint32_t version) { + client_state* state = data; + + printf("iface: %s v%d\n", interface, version); + + if (!strcmp(interface, wl_compositor_interface.name)) { + state->compositor = wl_registry_bind(wl_registry, name, &wl_compositor_interface, 1); + } + else if (!strcmp(interface, wl_seat_interface.name)) { + state->seat = wl_registry_bind(wl_registry, name, &wl_seat_interface, 1); + wl_seat_add_listener(state->seat, &seat_listener, state); + } + else if (!strcmp(interface, zwlr_layer_shell_v1_interface.name)) { + state->layer_shell = wl_registry_bind(wl_registry, name, &zwlr_layer_shell_v1_interface, version); + } + else if (!strcmp(interface, wp_cursor_shape_manager_v1_interface.name)) { + state->cursor_shape_manager = wl_registry_bind( + wl_registry, name, &wp_cursor_shape_manager_v1_interface, version); + } + else { + } + +} + +void global_remove(void *data, struct wl_registry *wl_registry, uint32_t name) { + +} + +struct wl_registry_listener registry_listener = { + .global = global, + .global_remove = global_remove, +}; |
