summaryrefslogtreecommitdiffstats
path: root/sway
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2018-08-02 09:28:13 -0400
committerLibravatar GitHub <noreply@github.com>2018-08-02 09:28:13 -0400
commitea14ef40955a94e21a5198d2469e54fe1e6056e5 (patch)
tree1a28ee032b762f471917c1f175ba02500f9ef794 /sway
parentRevert "Fix popups" (diff)
parentMerge branch 'master' into nagbar (diff)
downloadsway-ea14ef40955a94e21a5198d2469e54fe1e6056e5.tar.gz
sway-ea14ef40955a94e21a5198d2469e54fe1e6056e5.tar.zst
sway-ea14ef40955a94e21a5198d2469e54fe1e6056e5.zip
Merge pull request #2366 from RedSoxFan/nagbar
Implement swaynag
Diffstat (limited to 'sway')
-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;