summaryrefslogtreecommitdiffstats
path: root/sway/tree/view.c
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-04-17 08:11:50 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-04-17 08:11:50 +1000
commitbfd5834f4c1046c234ceaae212e65e045cd51460 (patch)
treefc789c66bd9c20bfc30307c3f675d9c4079b5c4c /sway/tree/view.c
parentImplement fullscreen. (diff)
downloadsway-bfd5834f4c1046c234ceaae212e65e045cd51460.tar.gz
sway-bfd5834f4c1046c234ceaae212e65e045cd51460.tar.zst
sway-bfd5834f4c1046c234ceaae212e65e045cd51460.zip
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) {
79 return; 79 return;
80 } 80 }
81 81
82 struct sway_container *container = container_parent(view->swayc, C_OUTPUT);
83 struct sway_output *output = container->sway_output;
84 struct sway_container *workspace = container_parent(view->swayc, C_WORKSPACE); 82 struct sway_container *workspace = container_parent(view->swayc, C_WORKSPACE);
83 struct sway_container *container = container_parent(workspace, C_OUTPUT);
84 struct sway_output *output = container->sway_output;
85 85
86 if (view->impl->set_fullscreen) { 86 if (view->impl->set_fullscreen) {
87 view->impl->set_fullscreen(view, fullscreen); 87 view->impl->set_fullscreen(view, fullscreen);
88 } 88 }
89 89
90 view->is_fullscreen = fullscreen;
91
90 if (fullscreen) { 92 if (fullscreen) {
91 view->swayc->saved_x = view->swayc->x;
92 view->swayc->saved_y = view->swayc->y;
93 view->saved_width = view->width;
94 view->saved_height = view->height;
95 view_configure(view, 0, 0, output->wlr_output->width, output->wlr_output->height);
96 workspace->fullscreen = view; 93 workspace->fullscreen = view;
94 view_configure(view, 0, 0, output->wlr_output->width, output->wlr_output->height);
97 } else { 95 } else {
98 view_configure(view, view->swayc->saved_x, view->swayc->saved_y,
99 view->saved_width, view->saved_height);
100 workspace->fullscreen = NULL; 96 workspace->fullscreen = NULL;
97 arrange_windows(workspace, -1, -1);
101 } 98 }
102 99
103 view->is_fullscreen = fullscreen;
104 output_damage_whole(output); 100 output_damage_whole(output);
105 101
106 arrange_windows(workspace, -1, -1);
107
108 ipc_event_window(view->swayc, "fullscreen_mode"); 102 ipc_event_window(view->swayc, "fullscreen_mode");
109} 103}
110 104