Support multiple outputs

Outputs are arranged in a horizontal layout in the order they are
created in by wlroots. Maximized xdg_shell views will span all outputs,
like the global fullscreen mode in sway.

Fixes #87
This commit is contained in:
Kenny Levinsen 2019-12-21 16:10:11 +01:00 committed by Jente Hidskes
parent 0aeba8085c
commit 06ada15661
7 changed files with 95 additions and 39 deletions

View file

@ -93,10 +93,12 @@ static void
popup_unconstrain(struct cg_xdg_popup *popup)
{
struct cg_view *view = popup->view_child.view;
struct wlr_output *output = view->server->output->wlr_output;
struct wlr_output_layout *output_layout = view->server->output_layout;
struct cg_server *server = view->server;
struct wlr_box *popup_box = &popup->wlr_popup->geometry;
struct wlr_box *output_box = wlr_output_layout_get_box(output_layout, output);
struct wlr_output_layout *output_layout = server->output_layout;
struct wlr_output *wlr_output = wlr_output_layout_output_at(output_layout, view->x + popup_box->x, view->y + popup_box->y);
struct wlr_box *output_box = wlr_output_layout_get_box(output_layout, wlr_output);
struct wlr_box output_toplevel_box = {
.x = output_box->x - view->x,