diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-04-17 08:11:50 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-04-17 08:11:50 +1000 |
commit | bfd5834f4c1046c234ceaae212e65e045cd51460 (patch) | |
tree | fc789c66bd9c20bfc30307c3f675d9c4079b5c4c /sway/tree | |
parent | Implement fullscreen. (diff) | |
download | sway-bfd5834f4c1046c234ceaae212e65e045cd51460.tar.gz sway-bfd5834f4c1046c234ceaae212e65e045cd51460.tar.zst sway-bfd5834f4c1046c234ceaae212e65e045cd51460.zip |
Feedback for fullscreen.
Diffstat (limited to 'sway/tree')
-rw-r--r-- | sway/tree/layout.c | 2 | ||||
-rw-r--r-- | sway/tree/view.c | 18 |
2 files changed, 7 insertions, 13 deletions
diff --git a/sway/tree/layout.c b/sway/tree/layout.c index ae6db454..ad097f2e 100644 --- a/sway/tree/layout.c +++ b/sway/tree/layout.c | |||
@@ -138,7 +138,7 @@ void container_move_to(struct sway_container *container, | |||
138 | return; | 138 | return; |
139 | } | 139 | } |
140 | 140 | ||
141 | if (container->sway_view->is_fullscreen) { | 141 | if (container->type == C_VIEW && container->sway_view->is_fullscreen) { |
142 | struct sway_container *old_workspace = container; | 142 | struct sway_container *old_workspace = container; |
143 | if (old_workspace->type != C_WORKSPACE) { | 143 | if (old_workspace->type != C_WORKSPACE) { |
144 | old_workspace = container_parent(old_workspace, C_WORKSPACE); | 144 | old_workspace = container_parent(old_workspace, C_WORKSPACE); |
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 | ||