aboutsummaryrefslogtreecommitdiff
path: root/sway/tree/view.c
diff options
context:
space:
mode:
authorRyan Dwyer <ryandwyer1@gmail.com>2018-04-17 08:11:50 +1000
committerRyan Dwyer <ryandwyer1@gmail.com>2018-04-17 08:11:50 +1000
commitbfd5834f4c1046c234ceaae212e65e045cd51460 (patch)
treefc789c66bd9c20bfc30307c3f675d9c4079b5c4c /sway/tree/view.c
parent52420cc24d61db8d22cf0d391f1f84b37bf087d5 (diff)
Feedback for fullscreen.
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r--sway/tree/view.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c
index b958233b..10285ad0 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -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");
}