diff options
author | emersion <contact@emersion.fr> | 2019-03-08 16:14:30 +0100 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-04-11 09:19:57 -0600 |
commit | 54d6ba78c33b15480c75025f15893f006a2ca5d1 (patch) | |
tree | 8e69f31aadad5165647f33d90abac4e12798041e /rootston/desktop.c | |
parent | e873c652bfc6847153d5e43dcab00a66bd0ceb4d (diff) |
rootston: add output-management-v1 support
Diffstat (limited to 'rootston/desktop.c')
-rw-r--r-- | rootston/desktop.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/rootston/desktop.c b/rootston/desktop.c index b0530ea1..35962cbb 100644 --- a/rootston/desktop.c +++ b/rootston/desktop.c @@ -294,6 +294,26 @@ static void handle_pointer_constraint(struct wl_listener *listener, } } +static void handle_output_manager_apply(struct wl_listener *listener, + void *data) { + struct roots_desktop *desktop = + wl_container_of(listener, desktop, output_manager_apply); + struct wlr_output_configuration_v1 *config = data; + (void)config; + wlr_log(WLR_DEBUG, "APPLY"); // TODO +} + +static void handle_output_manager_test(struct wl_listener *listener, + void *data) { + struct roots_desktop *desktop = + wl_container_of(listener, desktop, output_manager_test); + struct wlr_output_configuration_v1 *config = data; + + // TODO: implement test-only mode + wlr_output_configuration_v1_send_succeeded(config); + wlr_output_configuration_v1_destroy(config); +} + struct roots_desktop *desktop_create(struct roots_server *server, struct roots_config *config) { wlr_log(WLR_DEBUG, "Initializing roots desktop"); @@ -457,6 +477,15 @@ struct roots_desktop *desktop_create(struct roots_server *server, desktop->pointer_gestures = wlr_pointer_gestures_v1_create(server->wl_display); + desktop->output_manager_v1 = + wlr_output_manager_v1_create(server->wl_display); + desktop->output_manager_apply.notify = handle_output_manager_apply; + wl_signal_add(&desktop->output_manager_v1->events.apply, + &desktop->output_manager_apply); + desktop->output_manager_test.notify = handle_output_manager_test; + wl_signal_add(&desktop->output_manager_v1->events.test, + &desktop->output_manager_test); + wlr_primary_selection_v1_device_manager_create(server->wl_display); wlr_data_control_manager_v1_create(server->wl_display); |