Implement output auto-selection in rootston

This commit is contained in:
Drew DeVault 2018-04-22 19:15:49 +02:00
parent 177b548b15
commit edbf4a2f60
4 changed files with 26 additions and 7 deletions

View file

@ -312,6 +312,18 @@ void handle_layer_shell_surface(struct wl_listener *listener, void *data) {
return;
}
if (!layer_surface->output) {
struct roots_input *input = desktop->server->input;
struct roots_seat *seat = input_last_active_seat(input);
assert(seat); // Technically speaking we should handle this case
struct wlr_output *output =
wlr_output_layout_output_at(desktop->layout,
seat->cursor->cursor->x,
seat->cursor->cursor->y);
assert(output); // And this one
layer_surface->output = output;
}
roots_surface->surface_commit.notify = handle_surface_commit;
wl_signal_add(&layer_surface->surface->events.commit,
&roots_surface->surface_commit);