From 8b74cf1231366a69d05d2cd127a59f31b7cb5b94 Mon Sep 17 00:00:00 2001 From: Keith Bowes Date: Wed, 12 Feb 2020 21:48:11 -0500 Subject: [PATCH 1/2] wlroots 0.9+ doesn't keep track of resources --- meson.build | 2 +- waybox/output.c | 19 ------------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/meson.build b/meson.build index 1c728d3..6d72742 100644 --- a/meson.build +++ b/meson.build @@ -30,7 +30,7 @@ add_project_arguments('-DWL_HIDE_DEPRECATED', language: 'c') inc_dir = include_directories('include') pixman = dependency('pixman-1') -wlroots = dependency('wlroots', version: '>=0.6.0') +wlroots = dependency('wlroots', version: '>=0.9.0') wayland_server = dependency('wayland-server') wayland_client = dependency('wayland-client') wayland_protos = dependency('wayland-protocols', version: '>=1.12') diff --git a/waybox/output.c b/waybox/output.c index b8a4332..421706f 100644 --- a/waybox/output.c +++ b/waybox/output.c @@ -16,25 +16,6 @@ void output_frame_notify(struct wl_listener *listener, void *data) { float color[4] = {0.4f, 0.4f, 0.4f, 1.0f}; wlr_renderer_clear(renderer, color); - struct wl_resource *_surface; - wl_resource_for_each(_surface, &output->server->compositor->surface_resources) { - struct wlr_surface *surface = wlr_surface_from_resource(_surface); - if (!wlr_surface_has_buffer(surface)) { - continue; - } - struct wlr_box render_box = { - .x = 20, .y = 20, - .width = surface->current.width, - .height = surface->current.height - }; - float matrix[16]; - wlr_matrix_project_box(matrix, &render_box, surface->current.transform, - 0, wlr_output->transform_matrix); - struct wlr_texture *texture = wlr_surface_get_texture(surface); - wlr_render_texture_with_matrix(renderer, texture, matrix, 1.0f); - wlr_surface_send_frame_done(surface, &now); - } - wlr_output_commit(wlr_output); wlr_renderer_end(renderer); output->last_frame = now; From aa5988ccca3718974d3b7218e9202e187903285d Mon Sep 17 00:00:00 2001 From: Timidger Date: Thu, 13 Feb 2020 15:06:17 -0500 Subject: [PATCH 2/2] Fix bad indentation --- waybox/server.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/waybox/server.c b/waybox/server.c index 70c9792..d5cc37a 100644 --- a/waybox/server.c +++ b/waybox/server.c @@ -14,34 +14,34 @@ static void new_input_notify(struct wl_listener *listener, void *data) { bool init_wb(struct wb_server* server) { - // create display - server->wl_display = wl_display_create(); + // create display + server->wl_display = wl_display_create(); assert(server->wl_display); - // create shared memory - wl_display_init_shm(server->wl_display); + // create shared memory + wl_display_init_shm(server->wl_display); - // event loop stuff - server->wl_event_loop = wl_display_get_event_loop(server->wl_display); + // event loop stuff + server->wl_event_loop = wl_display_get_event_loop(server->wl_display); assert(server->wl_event_loop); - // create backend + // create backend server->backend = wlr_backend_autocreate(server->wl_display, NULL); assert(server->backend); - if(server->backend == NULL){ - printf("Failed to create backend\n"); - return false; - } + if(server->backend == NULL){ + printf("Failed to create backend\n"); + return false; + } server->layout = wlr_output_layout_create(); server->cursor = wb_cursor_create(); wlr_cursor_attach_output_layout(server->cursor->cursor, server->layout); - return true; + return true; } bool start_wb(struct wb_server* server) { - wl_list_init(&server->outputs); + wl_list_init(&server->outputs); server->new_output.notify = new_output_notify; wl_signal_add(&server->backend->events.new_output, &server->new_output); @@ -52,13 +52,13 @@ bool start_wb(struct wb_server* server) { const char *socket = wl_display_add_socket_auto(server->wl_display); assert(socket); - if (!wlr_backend_start(server->backend)) { + if (!wlr_backend_start(server->backend)) { fprintf(stderr, "Failed to start backend\n"); wl_display_destroy(server->wl_display); return false; } - wlr_gamma_control_manager_v1_create(server->wl_display); + wlr_gamma_control_manager_v1_create(server->wl_display); wlr_screencopy_manager_v1_create(server->wl_display); wlr_gtk_primary_selection_device_manager_create(server->wl_display); wlr_idle_create(server->wl_display); @@ -67,18 +67,18 @@ bool start_wb(struct wb_server* server) { wlr_backend_get_renderer(server->backend)); // wlr_xdg_shell_v6_create(server.wl_display); - wlr_idle_create(server->wl_display); + wlr_idle_create(server->wl_display); - return true; + return true; } bool terminate_wb(struct wb_server* server) { - wl_display_destroy(server->wl_display); + wl_display_destroy(server->wl_display); - printf("Display destroyed.\n"); + printf("Display destroyed.\n"); wb_cursor_destroy(server->cursor); wlr_output_layout_destroy(server->layout); - return true; + return true; }