layer-shell: add support for popups

This commit is contained in:
Drew DeVault 2019-07-05 14:45:11 -04:00 committed by Simon Ser
parent f36240208c
commit cb8f68d74b
4 changed files with 182 additions and 9 deletions

View file

@ -5,6 +5,11 @@
#include <wlr/types/wlr_surface.h>
#include <wlr/types/wlr_layer_shell_v1.h>
enum layer_parent {
LAYER_PARENT_LAYER,
LAYER_PARENT_POPUP,
};
struct sway_layer_surface {
struct wlr_layer_surface_v1 *layer_surface;
struct wl_list link;
@ -14,11 +19,26 @@ struct sway_layer_surface {
struct wl_listener unmap;
struct wl_listener surface_commit;
struct wl_listener output_destroy;
struct wl_listener new_popup;
bool configured;
struct wlr_box geo;
};
struct sway_layer_popup {
struct wlr_xdg_popup *wlr_popup;
enum layer_parent parent_type;
union {
struct sway_layer_surface *parent_layer;
struct sway_layer_popup *parent_popup;
};
struct wl_listener map;
struct wl_listener unmap;
struct wl_listener destroy;
struct wl_listener commit;
struct wl_listener new_popup;
};
struct sway_output;
void arrange_layers(struct sway_output *output);