summaryrefslogtreecommitdiffstats
path: root/sway/desktop/layer_shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/desktop/layer_shell.c')
-rw-r--r--sway/desktop/layer_shell.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
index a7d96717..a2935883 100644
--- a/sway/desktop/layer_shell.c
+++ b/sway/desktop/layer_shell.c
@@ -7,11 +7,13 @@
7#include <wlr/types/wlr_output_damage.h> 7#include <wlr/types/wlr_output_damage.h>
8#include <wlr/types/wlr_output.h> 8#include <wlr/types/wlr_output.h>
9#include <wlr/util/log.h> 9#include <wlr/util/log.h>
10#include "sway/desktop/transaction.h"
10#include "sway/input/input-manager.h" 11#include "sway/input/input-manager.h"
11#include "sway/input/seat.h" 12#include "sway/input/seat.h"
12#include "sway/layers.h" 13#include "sway/layers.h"
13#include "sway/output.h" 14#include "sway/output.h"
14#include "sway/server.h" 15#include "sway/server.h"
16#include "sway/tree/arrange.h"
15#include "sway/tree/layout.h" 17#include "sway/tree/layout.h"
16#include "log.h" 18#include "log.h"
17 19
@@ -245,6 +247,9 @@ static void handle_surface_commit(struct wl_listener *listener, void *data) {
245 output_damage_surface(output, layer->geo.x, layer->geo.y, 247 output_damage_surface(output, layer->geo.x, layer->geo.y,
246 layer_surface->surface, false); 248 layer_surface->surface, false);
247 } 249 }
250
251 arrange_windows(output->swayc);
252 transaction_commit_dirty();
248} 253}
249 254
250static void unmap(struct sway_layer_surface *sway_layer) { 255static void unmap(struct sway_layer_surface *sway_layer) {
@@ -282,6 +287,8 @@ static void handle_destroy(struct wl_listener *listener, void *data) {
282 struct sway_output *output = sway_layer->layer_surface->output->data; 287 struct sway_output *output = sway_layer->layer_surface->output->data;
283 if (output != NULL && output->swayc != NULL) { 288 if (output != NULL && output->swayc != NULL) {
284 arrange_layers(output); 289 arrange_layers(output);
290 arrange_windows(output->swayc);
291 transaction_commit_dirty();
285 } 292 }
286 wl_list_remove(&sway_layer->output_destroy.link); 293 wl_list_remove(&sway_layer->output_destroy.link);
287 sway_layer->layer_surface->output = NULL; 294 sway_layer->layer_surface->output = NULL;