Feedback for fullscreen.

This commit is contained in:
Ryan Dwyer 2018-04-17 08:11:50 +10:00
parent 52420cc24d
commit bfd5834f4c
7 changed files with 13 additions and 41 deletions

View file

@ -79,32 +79,26 @@ void view_set_fullscreen(struct sway_view *view, bool fullscreen) {
return;
}
struct sway_container *container = container_parent(view->swayc, C_OUTPUT);
struct sway_output *output = container->sway_output;
struct sway_container *workspace = container_parent(view->swayc, C_WORKSPACE);
struct sway_container *container = container_parent(workspace, C_OUTPUT);
struct sway_output *output = container->sway_output;
if (view->impl->set_fullscreen) {
view->impl->set_fullscreen(view, fullscreen);
}
view->is_fullscreen = fullscreen;
if (fullscreen) {
view->swayc->saved_x = view->swayc->x;
view->swayc->saved_y = view->swayc->y;
view->saved_width = view->width;
view->saved_height = view->height;
view_configure(view, 0, 0, output->wlr_output->width, output->wlr_output->height);
workspace->fullscreen = view;
view_configure(view, 0, 0, output->wlr_output->width, output->wlr_output->height);
} else {
view_configure(view, view->swayc->saved_x, view->swayc->saved_y,
view->saved_width, view->saved_height);
workspace->fullscreen = NULL;
arrange_windows(workspace, -1, -1);
}
view->is_fullscreen = fullscreen;
output_damage_whole(output);
arrange_windows(workspace, -1, -1);
ipc_event_window(view->swayc, "fullscreen_mode");
}